ぱと隊長日誌

ブログ運用もエンジニアとしての生き方も模索中

PostgreSQL のビルドで configure オプション変更時は make distclean を実行すべき

PostgreSQLソースコードからインストールしているケースでは、configure スクリプトのオプションを変更して再ビルドすることがあります。例えば、初回は configure のオプション無しでビルドしたが、--enable-debug オプション付きで再ビルドしたい、といったケースです。

このように PostgreSQL の configure オプションを変更して再ビルドする際には make distclean を実行すべきです。

PostgreSQL のマニュアルから該当箇所を引用します。

構築作業を行った後でconfigure用オプションが間違っていることに気付いた場合や、configureの調査結果に何らかの変更を加えた場合(例えば、ソフトウェアのアップグレードなど)、再設定と再構築の前にmake distcleanを行うことをお勧めします。 さもないと、設定選択肢の変更は、必要なところ全てには反映されない可能性があります。

17.4. インストール手順

ここでは「お勧め」と表現されていますが、make distclean を実行しないと、--enable-debug オプションの追加が反映されないという事象に遭遇しました。ビルド自体は成功してしまうのも厄介なところです。

また、マニュアルでは configure スクリプトの実行後に「ソフトウェアのアップグレード」を行った場合でも、make distclean の実行をお勧めしています。

PostgreSQL の調査や学習の際には同じソースツリーから何度もビルドすることがあります。2回目以降のビルドの際は make distclean を行うのが良いかもしれません。