M12i.

学術書・マンガ・アニメ・映画の消費活動とプログラミングについて

PostgreSQLのREINDEXはスコープ指定できる

PostgreSQLのREINDEXコマンドについてのメモです。

公式ドキュメントを読んでいて気がついたのですが、PostgreSQLにおいてINDEXのリビルドを行うためのコマンドREINDEXにはスコープについてオプションがありました。すなわち:

REINDEX { INDEX | TABLE | DATABASE | SYSTEM } name [ FORCE ]

まえまえからREINDEX INDEX (index name)というコマンドはいかにも冗長に感じていたのですが、それはOracle DatabaseのALTER INDEX (index name) rebuildコマンドを暗黙のうちに念頭に置いて考えていたからで、上記の構文を見れば納得です。

INDEXリビルドにスコープ指定できる(一括で実施できる)のはメンテナンス時には便利ですね。もっともそのうち上記の構文にCONCURRENTLYキーワード(Oracle DatabaseではONLINEキーワードが該当)が加わってくれればなお便利なのですが・・・。