[pgsql-jp: 41386] Re: PostgreSQLでのKEY変更方法について
kasaharatt @ nttdata.co.jp
kasaharatt @ nttdata.co.jp
2013年 4月 25日 (木) 18:15:39 JST
笠原と申します。
> PostgreSQLで、SERIAL PRIMARY KEY を INTEGER PRIMARY KEY に変更する方法がわからず、困っています。
> どなたかご存知の方、宜しくお願いします。
シーケンス値が自動で採られたくないのであれば、
ALTER TABLE <テーブル名> ALTER COLUMN <serial型の列名> DROP DEFAULT;
でどうですか?
===== 以下、例
=# CREATE TABLE tbl (c1 serial PRIMARY KEY);
CREATE TABLE
=# \d tbl
Table "public.tbl"
Column | Type | Modifiers
--------+---------+--------------------------------------------------
c1 | integer | not null default nextval('tbl_c1_seq'::regclass)
Indexes:
"tbl_pkey" PRIMARY KEY, btree (c1)
=# ALTER TABLE tbl ALTER COLUMN c1 DROP DEFAULT;
ALTER TABLE
=# \d tbl
Table "public.tbl"
Column | Type | Modifiers
--------+---------+-----------
c1 | integer | not null
Indexes:
"tbl_pkey" PRIMARY KEY, btree (c1)
pgsql-jp メーリングリストの案内