index 再構築 Primary key

先日、PostgreSQLでのIndex再構築方法についてご紹介いたしました。
主にオンラインシステムでは、create index conccurently を使うことになるかと思いますが、主キーの場合には方法が少しかわります。
といっても、一行SQLが増えるだけですが。

以下のように変更します。

create table hoge(col1 int primary key, col2 varchar(10));
create unique index concurrently pk02_hoge on hoge(col1);
alter table hoge add primary key using index pk02_hoge;

concurrently で作成した索引に対して、alter table で新旧の索引を入れ替えることができます。
ただし、このコマンドはPostgreSQL9.1以上でのみ有効です。

それ以下のバージョンの場合では、reindexする必要があります。
ご注意ください。