Ptáte se:
Existuje příkaz, který může tuto maximální délku změnit? Je tato délka stejná pro ostatní názvy (sloupce, tabulky atd.)?
Manuál odpovídá zde:
Systém nepoužívá více než
NAMEDATALEN-1
bajtů identifikátoru; do příkazů lze zapsat delší názvy, které však budou zkráceny. Ve výchozím nastaveníNAMEDATALEN
je 64, takže maximální délka identifikátoru je 63 bajtů. Pokud je tento limit problematický, lze jej zvýšit změnou parametruNAMEDATALEN
konstanta vsrc/include/pg_config_manual.h
.
Tučné zdůraznění moje.
Jediný způsob, jak to změnit, je hacknout zdrojový kód a překompilovat PostgreSQL.
Doménová jména jsou identifikátory jako všechny ostatní. Když provedu:
CREATE DOMAIN d_complement_activite_etablissement_or_even_loger_than_that AS text
Dostanu, co jsem si objednal (testováno na PostgreSQL 8.4 - 11):
d_complement_activite_etablissement_or_even_loger_than_that
Ergo:Mezi vámi a vaší databází musí být nějaký jiný software, který ořízne jméno.