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
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? |