DBAtlas · Atlas für Datenbankbetrieb

42P16: invalid_table_definition

PostgreSQL

Was bedeutet das?

Der DDL-Befehl wurde abgelehnt, weil die Tabellendefinition ungültig ist. Die angeforderte Tabellen-/Spaltenstruktur verstößt gegen PostgreSQL-Regeln.

Ursache

Situationen wie die Definition mehrerer Primärschlüssel ('multiple primary keys for table are not allowed'), Definitionen, die mit Vererbung kollidieren, Einschränkungen bei Generated-/Identity-Spalten oder eine Änderung zu einer Struktur, die ALTER TABLE nicht erzeugen kann. Häufig in automatisch generierten Migrationsskripten.

Lösung

Lies den konkreten Grund in der Fehlermeldung. Definiere nur einen PRIMARY KEY; wird ein mehrspaltiger Schlüssel benötigt, nutze einen zusammengesetzten Schlüssel der Form PRIMARY KEY (a, b). Prüfe die Regeln für Identity-/Generated-Spalten. Prüfe die aktuelle Tabellendefinition mit \d my_table und korrigiere das Migrationsskript.

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank