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>