Re: Sequence names have 64 character limit? - Mailing list pgsql-general

From Carlo Stonebanks
Subject Re: Sequence names have 64 character limit?
Date
Msg-id BLU0-SMTP6888AFB32925CCC1065725B1BF0@phx.gbl
Whole thread Raw
In response to Re: Sequence names have 64 character limit?  (Adrian Klaver <adrian.klaver@gmail.com>)
Responses Re: Sequence names have 64 character limit?  (Jerry Sievers <gsievers19@comcast.net>)
Re: Sequence names have 64 character limit?  (Adrian Klaver <adrian.klaver@gmail.com>)
List pgsql-general
Thanks Adrian and Jerry.

Technically, the best way to know which sequence a column is dependent on is
to actually query for it. I have functions which query
information_schema.columns and run a regex_replace to extract the sequence
name from the defaulting nextval() expression. This is better than demanding
that sequence names are predictable, but I wonder if there isn't a better
query to run that doesn't require parsing texts? Obviously PG knows about
the sequence's relation, probably via a dependency that finds it by
rendering the text to regclass to an OID... but this stuff makes me nervous.

So, a query that returns the sequence name (as text, you can cast to
regclass!) associated with a particular column, that would return NUL if
there was none... I don't suppose anyone has written such a query before...?

Yes, I'd write a function around it!

Thanks again,

Carlo

-----Original Message-----
From: Adrian Klaver [mailto:adrian.klaver@gmail.com]
Sent: March 31, 2011 5:29 PM
To: Jerry Sievers
Cc: Carlo Stonebanks; pgsql-general@postgresql.org
Subject: Re: [GENERAL] Sequence names have 64 character limit?

On 03/31/2011 02:13 PM, Jerry Sievers wrote:
> Carlo Stonebanks<carlo@stonebanks.ca>  writes:
>
>> Whenever I attempt to create a sequence whether this is done directly
>> via CREATE SEQUENCE or indrirectly vial declaring a column as SERIAL,
>> PG truncates it to 64 characters. Is this a documented limitation? I
>> cant find a reference to it. Is it possible to change this
>> limitation?
>
> See the "name" data type.
>
> As for enlarging it; I'll bet yes but you'll have to compile from source
> to do this.
>
> Someone on the hackers list can better explain :-)

See:
http://www.postgresql.org/docs/9.0/interactive/sql-syntax-lexical.html
4.1.1. Identifiers and Key Words

>
>> Our table names are and fully descriptive, and our code depends on a
>> predictable sequence naming convention of the PG default
>> <table>_<column>_seq.
>>
>> Yes, I know that its not a great idea to depend on consistent naming
>> conventions!
>>
>> Carlo
>>
>


--
Adrian Klaver
adrian.klaver@gmail.com


pgsql-general by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: Sequence names have 64 character limit?
Next
From: Darren Duncan
Date:
Subject: Re: Access to NEW.column outside of a trigger function.