dbTalk Databases Forums  

[BUGS] Renaming table doesn't rename primary key index or serial sequences

mailing.database.pgsql-bugs mailing.database.pgsql-bugs


Discuss [BUGS] Renaming table doesn't rename primary key index or serial sequences in the mailing.database.pgsql-bugs forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Jonathan Gardner
 
Posts: n/a

Default [BUGS] Renaming table doesn't rename primary key index or serial sequences - 08-21-2003 , 02:26 PM






-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

PostgreSQL 7.3.2 (Redhat 9)

When creating a table, primary key indexes and serial sequences are created=
=20
as well. Naively altering the name of the table does not modify the names=
=20
of the dependent primary key indexes and serial sequences. It was expected=
=20
that the indexes and serial sequences would've been renamed as if they had=
=20
been created originally with the new table name.

This isn't a critical bug, but it would make PostgreSQL that much more=20
accessible to novices.

# CREATE TABLE test ( id SERIAL PRIMARY KEY );
NOTICE: CREATE TABLE will create implicit sequence 'test_id_seq' for SERIA=
L=20
column 'test.id'
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index 'test_pkey'=
=20
for table 'test'
CREATE TABLE

# ALTER TABLE test RENAME TO old_test;
ALTER TABLE

# CREATE TABLE test ( id SERIAL PRIMARY KEY );
NOTICE: CREATE TABLE will create implicit sequence 'test_id_seq' for SERIA=
L=20
column 'test.id'
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index 'test_pkey'=
=20
for table 'test'
ERROR: Relation 'test_id_seq' already exists

Also, note that:
# CREATE TABLE test ( id INTEGER PRIMARY KEY );
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index 'test_pkey'=
=20
for table 'test'
CREATE TABLE

# ALTER TABLE test RENAME TO old_test;
ALTER TABLE

# CREATE TABLE test ( id INTEGER PRIMARY KEY );
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index 'test_pkey'=
=20
for table 'test'
ERROR: relation named "test_pkey" already exists

- --=20
Jonathan Gardner
jgardner (AT) jonathangardner (DOT) net
Live Free, Use Linux!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD4DBQE/RRxVWgwF3QvpWNwRAlpnAJi27GohB3uCqdZlz4d8t6js/H8qAKDP+Rxt
Pvex0xAqvaIQAU/5DCLPww=3D=3D
=3Dhsw/
-----END PGP SIGNATURE-----


---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to majordomo (AT) postgresql (DOT) org)

Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.