<sequence_name>.sequence_name != <sequence_name>?
When a sequence is created in 7.3.2, it appears you get a new table for each
sequence object. Is it ever possible for the sequence_name in a sequence
relation not to match the name of the relation itself?
For example, suppose I create a table:
CREATE TABLE t1(id serial);
A new relation called 't1_id_seq' is created where
t1_id_seq.sequence_name = 't1_id_seq'
Is that always true?
Ed
"Ed L." <pgsql@bluepolka.net> writes:
When a sequence is created in 7.3.2, it appears you get a new table for each
sequence object. Is it ever possible for the sequence_name in a sequence
relation not to match the name of the relation itself?
ALTER TABLE RENAME on a sequence doesn't update the sequence_name.
I think someone looked at doing that update, but we concluded it was too
messy (mainly because ALTER RENAME is transactional but updates to a
sequence tuple aren't).
In general I'd counsel that you should ignore the sequence_name field
anyway. It's vestigial.
regards, tom lane
On Friday April 4 2003 10:24, Tom Lane wrote:
"Ed L." <pgsql@bluepolka.net> writes:
When a sequence is created in 7.3.2, it appears you get a new table for
each sequence object. Is it ever possible for the sequence_name in a
sequence relation not to match the name of the relation itself?In general I'd counsel that you should ignore the sequence_name field
anyway. It's vestigial.
A related question: Is there a single generalized SQL query which can yield
the set of (sequence_name, last_value) pairs for all sequence objects? The
fact that each sequence is its own relation seems to block that, and the
query constructed from grabbing sequence names from pg_class gets quite
long for more than just a few sequence objects...
Ed