PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Máximo de caracteres em rótulos (nomes de tabelas, colunas, etc.)


Você pergunta:

Existe um comando que pode alterar esse comprimento máximo? Este comprimento é o mesmo para outros nomes (colunas, tabelas, etc)?

O manual responde aqui:

O sistema não usa mais do que NAMEDATALEN-1 bytes de um identificador; nomes mais longos podem ser escritos em comandos, mas eles serão truncados. Por padrão, NAMEDATALEN é 64, portanto, o comprimento máximo do identificador é 63 bytes. Se esse limite for problemático, ele pode ser aumentado alterando o NAMEDATALEN constante em src/include/pg_config_manual.h .

Minha ênfase em negrito.

A única maneira de alterá-lo é hackear o código-fonte e recompilar o PostgreSQL.
Os nomes de domínio são identificadores como qualquer outro. Quando executo:
CREATE DOMAIN d_complement_activite_etablissement_or_even_loger_than_that AS text

Recebo o que pedi (testado no PostgreSQL 8.4 - 11):
d_complement_activite_etablissement_or_even_loger_than_that

Portanto:deve haver algum outro software entre você e seu banco de dados cortando o nome.