renameatt() can rename attribute of index, sequence, ...
Kouhei Kaigai <kaigai@ak.jp.nec.com>
From: KaiGai Kohei <kaigai@ak.jp.nec.com>
To: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2010-03-03T02:19:27Z
Lists: pgsql-hackers
Is it an expected behavior?
postgres=> CREATE SEQUENCE s;
CREATE SEQUENCE
postgres=> ALTER TABLE s RENAME sequence_name TO abcd;
ALTER TABLE
postgres=> CREATE TABLE t (a int primary key, b text);
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "t_pkey" for table "t"
CREATE TABLE
postgres=> ALTER TABLE t_pkey RENAME a TO xyz;
ALTER TABLE
The documentation says:
http://developer.postgresql.org/pgdocs/postgres/sql-altertable.html
:
RENAME
The RENAME forms change the name of a table (or an index, sequence, or view) or
the name of an individual column in a table. There is no effect on the stored data.
It seems to me the renameatt() should check relkind of the specified relation, and
raise an error if relkind != RELKIND_RELATION.
--
KaiGai Kohei <kaigai@ak.jp.nec.com>