PostgreSQLで以下のような事象に遭遇しました。
ap2=# UPDATE userreview_with_tag
ap2-#    SET comment = 'コメント'
ap2-#  WHERE tag = 'タグ'
ap2-#    AND game = '6582'
ap2-#    AND uid = 'ap2';
ERROR: duplicate key value violates unique constraint "userreview_with_tag_pkey"
DETAIL: Key (tag, game, uid)=(タグ, 6582, ap2) already exists.
UPDATE文なのにduplicate keyとなる理由が分かりませんでした。
 
該当の行をDELETEで消して、INSERT文を発行しても同じエラーが発生しました。
INDEXが壊れているかもしれない…ということで、

ap2=# REINDEX INDEX userreview_with_tag_pkey;
REINDEX

したら、直りました。