Re: alter table schema, default sequences stay the same - Mailing list pgsql-general

From Tom Lane
Subject Re: alter table schema, default sequences stay the same
Date
Msg-id 18513.1277823072@sss.pgh.pa.us
Whole thread Raw
In response to alter table schema, default sequences stay the same  (Sim Zacks <sim@compulab.co.il>)
Responses Re: alter table schema, default sequences stay the same  (Sim Zacks <sim@compulab.co.il>)
List pgsql-general
Sim Zacks <sim@compulab.co.il> writes:
>> id integer NOT NULL DEFAULT
>> nextval(('public.tblname_id_seq'::text)::regclass)

> Shouldn't this change automatically as well?

It would have changed automatically if the default expression were what
it's supposed to be, namely nextval('sequencename'::regclass).  What
you've got there is a text constant, which of course is static.

I haven't consumed enough caffeine today to recall the details, but
I think you could have ended up with default expressions like the above
if the database had been dumped and reloaded from 8.0 or earlier.
nextval(regclass) was introduced in 8.1 precisely to solve this type
of problem.

> Is there an easy way to modify all the default values now?

Not especially :-(.  You're going to need to run around and change them
all to the right name.  Be sure to lose the ::text bit while at it,
so it works right the next time.

            regards, tom lane

pgsql-general by date:

Previous
From: erobles
Date:
Subject: Re: Fwd: Re: Weird trouble with select
Next
From: Jacqui Caren-home
Date:
Subject: Re: Migrating from MySQL