42710: duplicate_object
PostgreSQLO que significa?
O objeto que está sendo criado (role, type, constraint, extensão, schema, nome de índice etc.) já existe. O PostgreSQL não permite um segundo objeto com o mesmo nome/definição.
Por que acontece?
Um comando como CREATE ROLE, CREATE TYPE, CREATE EXTENSION ou ADD CONSTRAINT foi executado quando já existia um objeto com o mesmo nome. Geralmente causado por um script executado duas vezes, migrações não idempotentes ou duas sessões concorrentes tentando criar o mesmo objeto.
Como resolver
Verifique se o objeto existe (pg_roles para roles, pg_type para types, pg_extension para extensões). Escreva migrações idempotentes: use CREATE ... IF NOT EXISTS quando disponível ou execute antes DROP ... IF EXISTS. Em um conflito de constraint, renomeie a constraint existente ou remova-a e recrie-a.