sql >> Databáze >  >> RDS >> PostgreSQL

Maximální počet znaků ve štítcích (názvy tabulek, sloupce atd.)

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 parametru NAMEDATALEN konstanta v src/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.




  1. Včetně tabulek a schémat při výpisu sloupců identity v databázi SQL Server

  2. Chyba NodeJS Postgres getaddrinfo ENOTFOUND

  3. Funkce TO_TIMESTAMP_TZ() v Oracle

  4. Jak nastavit databázi PostgreSQL v Django