2011-11-21 9 views
28

Mam nadzieję, że to pytanie nie było wcześniej zadawane. Czy ktoś zna limit znaków dla nazw domen? Na przykład jeśli piszę to:Maksymalna liczba znaków w etykietach (nazwy tabel, kolumny itp.)

CREATE DOMAIN d_complement_activite_etablissement AS character varying 

będzie utworzyć domenę z nazwą:

d_complement_activite_etabliss 

(Tak, wiem, jak liczyć, ale chcę trochę więcej informacji na ten temat) .

Czy istnieje polecenie, które może zmienić maksymalną długość? Czy ta długość jest taka sama dla innych nazw (kolumn, tabel itp.)?

Odpowiedz

43

Pytasz:

Czy jest polecenie, które mogą zmienić tę maksymalną długość? Czy ta długość to to samo dla innych nazw (kolumn, tabel itp.)?

manual answers here:

System wykorzystuje nie więcej niż NAMEDATALEN-1 bajtów identyfikatora; dłuższe nazwy można zapisać w poleceniach, ale zostaną one obcięte. Domyślnie NAMEDATALEN ma wartość 64, więc maksymalna długość identyfikatora to bajtów. Jeśli ten limit jest problematyczny, można go zwiększyć, zmieniając stałą NAMEDATALEN w src/include/pg_config_manual.h.

Pogrubiony nacisk mój.

Oznacza to, że jedyną metodą zmiany kodu jest zhackowanie kodu źródłowego i ponowna kompilacja PostgreSQL.
Nazwy domen są identyfikatorami jak każdy inny. Kiedy wykonać:

CREATE DOMAIN d_complement_activite_etablissement_or_even_loger_than_that AS text 

mam co zamówiłem (tylko testowany na PostgreSQL 8.4 i 9.0; 9.1 jest tutaj nie różni):

d_complement_activite_etablissement_or_even_loger_than_that 

Ergo: musi istnieć jakiś inny kawałek oprogramowania kadrowanie Twoje imię.

+0

hmm ... to dziwne. Teraz działa również dla mnie. Używam Postgre 9.1 i uruchomiłem polecenie z pgAdmin. Dzięki –

+1

@FlorinVistig: Edytor SQL pgAdmin ma niezłą funkcję: Po wybraniu części kodu przed wykonaniem, tylko ** wybrana część ** zostaje wykonana, ignorując wszystko inne. Jesteś tego świadomy, prawda? Wygląda na to, że się potknąłeś. –

+0

Nie wiedziałem o tej funkcji. Ale pracowałem więcej na SQL Server, gdzie ta funkcja istnieje, i wiem, że trzymam się z dala od niej. Nie wiem, jaki był powód ... –

Powiązane problemy