Обсуждение: BUG #8260: problem with sequence and tablename

Поиск
Список
Период
Сортировка

BUG #8260: problem with sequence and tablename

От
daniel.degasperi@r3-gis.com
Дата:
The following bug has been logged on the website:

Bug reference:      8260
Logged by:          Daniel Degasperi
Email address:      daniel.degasperi@r3-gis.com
PostgreSQL version: 9.1.7
Operating system:   Centos 6.4
Description:

I've created a table:


CREATE TABLE t23456789012345678901234567890123456789012345678901
(
  t1234_id serial,
  PRIMARY KEY (t1234_id)
)
WITH (
  OIDS=FALSE
);


This generated the sequence:


CREATE SEQUENCE
t2345678901234567890123456789012345678901234567890_t1234_id_seq
  INCREMENT 1
  MINVALUE 1
  MAXVALUE 9223372036854775807
  START 1
  CACHE 1;


The table-part in the sequence name was truncated.


Best regards,
Daniel

Re: BUG #8260: problem with sequence and tablename

От
Christopher Browne
Дата:
Object names are limited to a length of NAMEDATALEN-1, which defaults to
63, and are documented to be truncated.

http://www.postgresql.org/docs/9.2/static/sql-syntax-lexical.html

The behaviour you are observing appears to conform to the documentation,
and seems reasonable, so I wouldn't think this was a bug.

Re: BUG #8260: problem with sequence and tablename

От
Tom Lane
Дата:
daniel.degasperi@r3-gis.com writes:
> CREATE TABLE t23456789012345678901234567890123456789012345678901
> (
>   t1234_id serial,
>   PRIMARY KEY (t1234_id)
> )
> WITH (
>   OIDS=FALSE
> );

> This generated the sequence:

> CREATE SEQUENCE
> t2345678901234567890123456789012345678901234567890_t1234_id_seq

That's operating as designed.

> The table-part in the sequence name was truncated.

Would you rather it failed entirely?  You're up against the limit on
name length (63 bytes in a standard Postgres build).

            regards, tom lane

Re: BUG #8260: problem with sequence and tablename

От
Daniel Degasperi
Дата:
Am 27.06.2013 19:10, schrieb Tom Lane:
> daniel.degasperi@r3-gis.com writes:
>> CREATE TABLE t23456789012345678901234567890123456789012345678901
>> (
>>    t1234_id serial,
>>    PRIMARY KEY (t1234_id)
>> )
>> WITH (
>>    OIDS=3DFALSE
>> );
>> This generated the sequence:
>> CREATE SEQUENCE
>> t2345678901234567890123456789012345678901234567890_t1234_id_seq
> That's operating as designed.
>
>> The table-part in the sequence name was truncated.
> Would you rather it failed entirely?  You're up against the limit on
> name length (63 bytes in a standard Postgres build).
I don't know if a fail is the best solution, maybe a NOTICE, that the=20
sequence name is not constructed as might be naively expected, would be=20
appropriate.

thanks and regards,
Daniel

>
>             regards, tom lane


--=20
*Daniel Degasperi*
Project manager

*R3 GIS* Srl - GmbH

I-39012 Merano/Meran (BZ) - Via Johann Kravogl-Str. 2
I-20133 Milano (MI) - Via Vallisneri 2
web: www.r3-gis.com <http://www.r3-gis.com/>
Email: daniel.degasperi@r3-gis.com <mailto:daniel.degasperi@r3-gis.com>
Tel. : +39 0473 494949
Fax : +39 0473 069902

*ATTENZIONE!* Le informazioni contenute nella presente e-mail e nei=20
documenti eventualmente allegati sono confidenziali. La loro diffusione,=20
distribuzione e/o riproduzione da parte di terzi, senza autorizzazione=20
del mittente =E8 vietata e pu=F2 violare il D. Lgs. 196/2003. In caso di=20
ricezione per errore, Vogliate immediatamente informare il mittente del=20
messaggio e distruggere la e-mail.

*ACHTUNG!* Die in dieser Nachricht oder in den beigelegten Dokumenten=20
beinhalteten Informationen sind streng vertraulich. Ihre Verbreitung=20
und/oder ihre Wiedergabe durch Dritte ist ohne Erlaubnis des Absenders=20
verboten und verst=F6=DFt gegen das Legislativdekret 196/2003. Sollten Si=
e=20
diese Mitteilung irrt=FCmlicherweise erhalten haben, bitten wir Sie uns=20
umgehend zu informieren und anschlie=DFend die Mitteilung zu vernichten.

*WARNING!* This e-mail may contain confidential and/or privileged=20
information. If you are not the intended recipient (or have received=20
this e-mail in error) please notify the sender immediately and destroy=20
this e-mail. Any unauthorised copying, disclousure or distribution of=20
the material in this e-mail is strictly forbidden and could be against=20
the law (D. Lgs. 196/2003)