DBAtlas · Atlas für Datenbankbetrieb

42P07: duplicate_table

PostgreSQL

Was bedeutet das?

Die anzulegende Tabelle (oder ein ähnliches Objekt) existiert bereits. CREATE ist fehlgeschlagen, weil ein Objekt mit demselben Namen vorhanden ist.

Ursache

Erneutes Anlegen einer vorhandenen Tabelle mit CREATE TABLE; das Skript wurde zweimal ausgeführt; erneutes Anwenden von Migrationen; ein Namenskonflikt mit einer gleichnamigen View/Sequence/einem gleichnamigen Index.

Lösung

Verwende IF NOT EXISTS, um das Anlegen zu überspringen, wenn das Objekt bereits existiert: CREATE TABLE IF NOT EXISTS my_table (...). Willst du es wirklich neu anlegen, lösche es zuerst: DROP TABLE IF EXISTS my_table; Mache Migrationen sicher wiederholbar (idempotent). Prüfe das vorhandene Objekt mit \dt.

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank