Re: Sequence names have 64 character limit?

From: Carlo Stonebanks <carlo(at)stonebanks(dot)ca>
To: <pgsql-general(at)postgresql(dot)org>
Subject: Re: Sequence names have 64 character limit?
Date: 2011-03-31 21:47:26
Message-ID: BLU0-SMTP6888AFB32925CCC1065725B1BF0@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(dot)klaver(at)gmail(dot)com]
Sent: March 31, 2011 5:29 PM
To: Jerry Sievers
Cc: Carlo Stonebanks; pgsql-general(at)postgresql(dot)org
Subject: Re: [GENERAL] Sequence names have 64 character limit?

On 03/31/2011 02:13 PM, Jerry Sievers wrote:
> Carlo Stonebanks<carlo(at)stonebanks(dot)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(dot)klaver(at)gmail(dot)com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Darren Duncan 2011-03-31 22:03:45 Re: Access to NEW.column outside of a trigger function.
Previous Message Adrian Klaver 2011-03-31 21:29:20 Re: Sequence names have 64 character limit?