42710: duplicate_object
PostgreSQLЧто это значит?
Создаваемый объект (роль, тип, ограничение, расширение, схема, имя индекса и т. д.) уже существует. PostgreSQL не допускает второго объекта с тем же именем/определением.
Почему возникает?
Команда CREATE ROLE, CREATE TYPE, CREATE EXTENSION или ADD CONSTRAINT и т. п. выполнена, когда объект с тем же именем уже существовал. Обычно вызвано двойным запуском скрипта, неидемпотентными миграциями или попыткой двух параллельных сеансов создать один и тот же объект.
Как исправить
Проверьте, существует ли объект (pg_roles для ролей, pg_type для типов, pg_extension для расширений). Пишите миграции идемпотентно: используйте CREATE ... IF NOT EXISTS, где доступно, или сначала выполняйте DROP ... IF EXISTS. При конфликте ограничений переименуйте существующее ограничение или удалите и создайте его заново.