[pgsql-jp: 40989] ある列にPRIMARY KEYインデックスとUNIQUEインデックスが両方ある場合

柏木大助 kashiwagi @ sencorp.co.jp
2011年 11月 19日 (土) 05:34:55 JST


はじめてメールします。
柏木と申します。

インデックスについてご教授ください。

前任者からシステムを引き継いだのですが、
ほとんどのテーブルで、主キーのカラムにPRIMARY_KEYインデックスとUNIQUEインデックスが両方作成されていました。

■例:
=> \d item
                                             テーブル "public.item"
      カラム      |             型              |                                修飾語
------------------+-----------------------------+----------------------------------------------------------------------
id     | integer                     | not null デフォルト
nextval('item_id_seq'::regclass)
インデックス:
    "item_pkey" PRIMARY KEY, btree (id)
    "item_pk" UNIQUE, btree (id)


公式マニュアルを見たところ、「技術的には、PRIMARY KEYは単なるUNIQUEとNOT NULLの組み合わせです。 」と書かれておりましたので、
UNIQUEインデックスを削除しようと思うのですが、何かリスク等はありますでしょうか?
http://www.postgresql.jp/document/pg844doc/html/sql-createtable.html


■環境
=> select version();
                                                      version
-------------------------------------------------------------------------------------------------------------------
 PostgreSQL 8.4.4 on x86_64-unknown-linux-gnu, compiled by GCC gcc
(GCC) 4.1.2 20080704 (Red Hat 4.1.2-48), 64-bit

よろしくお願いいたします。
柏木


pgsql-jp メーリングリストの案内