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

42P16: invalid_table_definition

PostgreSQL

O que significa?

O comando DDL foi rejeitado porque a definição da tabela é inválida. A estrutura de tabela/colunas solicitada viola as regras do PostgreSQL.

Por que acontece?

Situações como definir mais de uma chave primária ('multiple primary keys for table are not allowed'), definições conflitantes com herança, restrições de colunas generated/identity ou uma alteração para uma estrutura que o ALTER TABLE não consegue produzir. Comum em scripts de migração gerados automaticamente.

Como resolver

Leia o motivo específico na mensagem de erro. Defina apenas uma PRIMARY KEY; se for necessária uma chave de várias colunas, use uma chave composta na forma PRIMARY KEY (a, b). Revise as regras de colunas identity/generated. Verifique a definição atual da tabela com \d my_table e corrija o script de migração.

Abrir no DBAtlas →

Mais entradas deste banco