DBAtlas · Atlas de operações de banco de dados

42710: duplicate_object

PostgreSQL

O 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.

Abrir no DBAtlas →

Mais entradas deste banco