Обсуждение: ALTER TABLE RENAME column
Any reason not to support renaming columns? Can this be added to TODO? -- Jim Nasby jim@nasby.net EnterpriseDB http://enterprisedb.com 512.569.9461 (cell)
Вложения
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? RegardMario 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)