ALTER TABLE RENAME column
Any reason not to support renaming columns? Can this be added to TODO?
Attachments:
patchapplication/octet-stream; name=patch; x-unix-mode=0640Download
*** TODO.org Thu Nov 16 19:24:48 2006
--- TODO Thu Nov 16 19:27:46 2006
***************
*** 533,538 ****
--- 533,539 ----
like CHECK that were inherited from the parent table
o Have ALTER INDEX update the name of a constraint using that index
o Add ALTER TABLE RENAME CONSTRAINT, update index name also
+ o Add ALTER TABLE RENAME COLUMN (should rename appropriate sequences and constraints)
* CLUSTER
Jim Nasby <decibel@decibel.org> writes:
Any reason not to support renaming columns? Can this be added to TODO?
Uh, we did that years ago.
regards, tom lane
Jim Nasby wrote:
Any reason not to support renaming columns? Can this be added to
TODO?
Upgrade to Postgres95.
--
Peter Eisentraut
http://developer.postgresql.org/~petere/
Peter Eisentraut wrote:
Jim Nasby wrote:
Any reason not to support renaming columns? Can this be added to
TODO?Upgrade to Postgres95.
Hey, is Jim running MySQL 5?
--
Richard Huxton
Archonet Ltd
On 11/16/06, Jim Nasby <decibel@decibel.org> wrote:
Any reason not to support renaming columns? Can this be added to TODO?
ALTER TABLE yo_table RENAME COLUMN yo_column TO yo_new_column;
?
--
Jonah H. Harris, Software Architect | phone: 732.331.1300
EnterpriseDB Corporation | fax: 732.331.1301
33 Wood Ave S, 2nd Floor | jharris@enterprisedb.com
Iselin, New Jersey 08830 | http://www.enterprisedb.com/
Jonah H. Harris wrote:
On 11/16/06, Jim Nasby <decibel@decibel.org> wrote:
Any reason not to support renaming columns? Can this be added to TODO?
ALTER TABLE yo_table RENAME COLUMN yo_column TO yo_new_column;
Maybe Jim actually wants a reason to remove support for this ... :-)
cheers
andrew
Uh, we did that years ago.
Really?
+ o Add ALTER TABLE RENAME COLUMN (should rename appropriate sequences and constraints)
Sounds like this is not done, at least not renaming sequencens and constraints, or am I wrong here?
Regard
Mario Weilguni
-----Ursprüngliche Nachricht-----
Von: pgsql-hackers-owner@postgresql.org [mailto:pgsql-hackers-owner@postgresql.org] Im Auftrag von Tom Lane
Gesendet: Freitag, 17. November 2006 07:05
An: Jim Nasby
Cc: PostgreSQL Hackers
Betreff: Re: [HACKERS] ALTER TABLE RENAME column
Jim Nasby <decibel@decibel.org> writes:
Any reason not to support renaming columns? Can this be added to TODO?
Uh, we did that years ago.
regards, tom lane
---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings
On 11/17/06, Mario Weilguni <mario.weilguni@icomedias.com> wrote:
Sounds like this is not done, at least not renaming sequencens and constraints, or am I wrong here?
To rename a sequence or a table:
ALTER TABLE yo_table RENAME TO yo_new_table;
ALTER TABLE yo_sequence RENAME TO yo_new_sequence;
Or am I mistaken?
--
Jonah H. Harris, Software Architect | phone: 732.331.1300
EnterpriseDB Corporation | fax: 732.331.1301
33 Wood Ave S, 2nd Floor | jharris@enterprisedb.com
Iselin, New Jersey 08830 | http://www.enterprisedb.com/
On 11/17/06, Mario Weilguni <mario.weilguni@icomedias.com> wrote:
+ o Add ALTER TABLE RENAME COLUMN (should rename appropriate sequences and constraints)
Actually, I don't believe it cascades the rename automagically... if
that's what you're asking.
--
Jonah H. Harris, Software Architect | phone: 732.331.1300
EnterpriseDB Corporation | fax: 732.331.1301
33 Wood Ave S, 2nd Floor | jharris@enterprisedb.com
Iselin, New Jersey 08830 | http://www.enterprisedb.com/
Right, but I think jim means automatical renames of sequences, and especially something like this:
db=# CREATE TABLE foo (bar serial);
NOTICE: CREATE TABLE will create implicit sequence "foo_bar_seq" for serial column "foo.bar"
CREATE TABLE
db=# ALTER TABLE foo rename bar to baf;
ALTER TABLE
db=# \d foo
Table "public.foo"
Column | Type | Modifiers
--------+---------+---------------------------------------------------
baf | integer | not null default nextval('foo_bar_seq'::regclass)
The sequence still is named "foo_bar_seq".
IMO this should do:
Alter sequence foo_bar_seq rename to foo_baf_seq;
Alter table foo alter baf set default nextval('foo_baf_seq')
-----Ursprüngliche Nachricht-----
Von: Jonah H. Harris [mailto:jonah.harris@gmail.com]
Gesendet: Freitag, 17. November 2006 16:27
An: Mario Weilguni
Cc: Tom Lane; Jim Nasby; PostgreSQL Hackers
Betreff: Re: [HACKERS] ALTER TABLE RENAME column
On 11/17/06, Mario Weilguni <mario.weilguni@icomedias.com> wrote:
Sounds like this is not done, at least not renaming sequencens and constraints, or am I wrong here?
To rename a sequence or a table:
ALTER TABLE yo_table RENAME TO yo_new_table; ALTER TABLE yo_sequence RENAME TO yo_new_sequence;
Or am I mistaken?
--
Jonah H. Harris, Software Architect | phone: 732.331.1300
EnterpriseDB Corporation | fax: 732.331.1301
33 Wood Ave S, 2nd Floor | jharris@enterprisedb.com
Iselin, New Jersey 08830 | http://www.enterprisedb.com/
"Mario Weilguni" <mario.weilguni@icomedias.com> writes:
IMO this should do:
Alter sequence foo_bar_seq rename to foo_baf_seq;
Alter table foo alter baf set default nextval('foo_baf_seq')
No, it should not, because that risks breaking other references to the
sequence (eg, in user-written functions). If the user is feeling that
he wants consistency, he can rename the sequence himself and take
responsibility for any side-effects on his code.
regards, tom lane
On 11/17/06, Tom Lane <tgl@sss.pgh.pa.us> wrote:
No, it should not, because that risks breaking other references to the
sequence (eg, in user-written functions). If the user is feeling that
he wants consistency, he can rename the sequence himself and take
responsibility for any side-effects on his code.
I concur.
--
Jonah H. Harris, Software Architect | phone: 732.331.1300
EnterpriseDB Corporation | fax: 732.331.1301
33 Wood Ave S, 2nd Floor | jharris@enterprisedb.com
Iselin, New Jersey 08830 | http://www.enterprisedb.com/
On Nov 17, 2006, at 9:47 AM, Jonah H. Harris wrote:
On 11/16/06, Jim Nasby <decibel@decibel.org> wrote:
Any reason not to support renaming columns? Can this be added to
TODO?ALTER TABLE yo_table RENAME COLUMN yo_column TO yo_new_column;
Oooops... now I see where it's listed in \h. I knew I must have been
missing something...
--
Jim Nasby jim@nasby.net
EnterpriseDB http://enterprisedb.com 512.569.9461 (cell)