[PostgreSQL]UNIQUE を指定してインデックスを作成する方法

環境
PostgreSQL 9.6.5
Windows 10 Home 64bit

書式
CREATE UNIQUE INDEX [ name ] ON [ ONLY ] table_name
( column_name [, …] )
CREATE INDEX コマンドを実行する時に UNIQUE を指定すると UNIQUE インデックス(一意インデックス)を作成します。

使用例
1.okschemaスキーマの中に次のようなテーブルを作成します。

test2db=# create table okschema.prodtbl (proid integer,pname varchar(20),price integer);
CREATE TABLE

2.作成したテーブルのpname カラムを対象として UNIQUE インデックスを作成します。
書式
create unique index on スキーマ名.テーブル名 (列名);

操作例

test2db=# create unique index on okschema.prodtbl (pname);
CREATE INDEX

3.作成されているインデックスの情報を確認します

test2db=# \d okschema.prodtbl
                      テーブル"okschema.prodtbl"
  列   |        タイプ         | 照合順序 | Null 値を許容 | デフォルト
-------+-----------------------+----------+---------------+------------
 proid | integer               |          |               |
 pname | character varying(20) |          |               |
 price | integer               |          |               |
インデックス:
    "prodtbl_pname_idx" UNIQUE, btree (pname)

 

PostgreSQL

Posted by arkgame