Thread: sequence rename?

sequence rename?

From
ben f
Date:
So I am renaming a table, and the last stumbling block
that I've met is the associated sequence.  I tried the
commands suggested @

http://mailman.fastxs.net/pipermail/dbmail-dev/2004-August/004307.html

ie:

CREATE SEQUENCE $newseq
SELECT setval('$newseq', max($column)) FROM $table
ALTER TABLE $table ALTER COLUMN $column SET DEFAULT
nextval('$newseq'::text)
DROP SEQUENCE $oldseq

but when trying to perform the DROP SEQUENCE (psql), i
get a message like:

ERROR:  Cannot drop sequence $oldseq because table
$table column $column requires it
You may drop table $table column $column instead


After that, I tried the query suggested here:

http://www.commandprompt.com/ppbook/index.lxp?lxpwrap=x14316%2ehtm#REMOVINGASEQUENCE
(example 7-34)

And it came back empty.

What am I doing wrong?  when i \d $table, it shows no
such dependency.  Is there another way to pull this
off?

thanks

ben

ps -- please cc responses directly to me, since i'm
not a subscriber.



_______________________________
Do you Yahoo!?
Express yourself with Y! Messenger! Free. Download now.
http://messenger.yahoo.com

Re: sequence rename?

From
Alvaro Herrera
Date:
On Fri, Oct 01, 2004 at 01:17:38PM -0700, ben f wrote:
> So I am renaming a table, and the last stumbling block
> that I've met is the associated sequence.  I tried the
> commands suggested @
>
> http://mailman.fastxs.net/pipermail/dbmail-dev/2004-August/004307.html
>
> ie:
>
> CREATE SEQUENCE $newseq
> SELECT setval('$newseq', max($column)) FROM $table
> ALTER TABLE $table ALTER COLUMN $column SET DEFAULT
> nextval('$newseq'::text)
> DROP SEQUENCE $oldseq

How about

ALTER TABLE $oldseq RENAME TO $newseq;

--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"Y eso te lo doy firmado con mis lágrimas" (Fiebre del Loco)