Skip site navigation (1) Skip section navigation (2)

Re: [PATCHES] Non-colliding auto generated names

From: Rod Taylor <rbt(at)rbt(dot)ca>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: Christopher Kings-Lynne <chriskl(at)familyhealth(dot)com(dot)au>,Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [PATCHES] Non-colliding auto generated names
Date: 2003-03-05 16:07:04
Message-ID: 1046880424.19527.7.camel@jester (view raw or flat)
Thread:
Lists: pgsql-hackerspgsql-patches
On Wed, 2003-03-05 at 10:36, Bruce Momjian wrote:
> Ewe.  There would no longer be a guaranteed name for the serial column
> sequence.  Of course, pg_depend has the information, but how do you get
> at that when you create the dump file, and be _sure_ you are going to
> hit the right name, especially if you restore only part of the dump.
> 
> Seems this kills the idea of this patch.  With 64-byte names, let's see
> if we still get complaints about name conflicts.

We are :)

CREATE TABLE tab (col SERIAL);

ALTER TABLE tab RENAME TO tab2;

CREATE TABLE tab (col SERIAL);


There is a chance we could do something like:

ALTER SEQUENCE ON table(col) RESTART WITH <value>

instead of

SELECT setval("<sequence>", <value>);


The ALTER SEQUENCE syntax isn't any worse than setval...  I'd be willing
to implement the feature in order to get this patch accepted.

Oh, and welcome back!

> ---------------------------------------------------------------------------
> 
> Christopher Kings-Lynne wrote:
> > OK,
> > 
> > I have discovered a problem with my auto-naming patch.  It's do to with
> > dumping serial columns with pg_dump, eg:
> > 
> > --
> > -- TOC entry 2 (OID 1004551)
> > -- Name: users_users; Type: TABLE; Schema: public; Owner: chriskl
> > --
> > 
> > CREATE TABLE users_users (
> >     userid serial NOT NULL,
> >     firstname character varying(255) NOT NULL,
> >     lastname character varying(255) NOT NULL,
> >     email character varying(255) NOT NULL
> > );
> > 
> > -- DATA DUMPED HERE
> > 
> > --
> > -- TOC entry 4 (OID 1004305)
> > -- Name: users_users_userid_seq; Type: SEQUENCE SET; Schema: public; Owner:
> > chriskl
> > --
> > 
> > SELECT pg_catalog.setval ('users_users_userid_seq', 126, true);
> > 
> > 
> > How do we fix this problem??  Perhaps instead of a hard-coded sequence
> > string, we can sub-SELECT for it...?
> > 
> > Chris
> > 
> > 
> > 
-- 
Rod Taylor <rbt(at)rbt(dot)ca>

PGP Key: http://www.rbt.ca/rbtpub.asc

In response to

Responses

pgsql-hackers by date

Next:From: Rod TaylorDate: 2003-03-05 16:12:01
Subject: Re: Updateable views...
Previous:From: Ross J. ReedstromDate: 2003-03-05 16:05:21
Subject: Re: Error codes revisited

pgsql-patches by date

Next:From: Peter EisentrautDate: 2003-03-05 17:12:17
Subject: Re: new format for describe (repost #2)
Previous:From: Andrew DunstanDate: 2003-03-05 15:50:03
Subject: Re: XML ouput for psql

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group