pg_configユーティリティは、現在インストールしているバージョンのPostgreSQLの設定パラメータを表示します。 これは、例えばPostgreSQLとのインタフェースを持つソフトウェアパッケージが必要なヘッダファイルやライブラリを容易に検出できるように用意されたものです。
pg_configを使用するためには、以下のオプションを1つ以上指定します。
--bindir
ユーザコマンドの場所を表示します。 例えば、psqlプログラムを検索するために使用します。 これは通常、pg_configプログラムが存在するディレクトリでもあります。
--docdir
文書ファイルの場所を表示します (PostgreSQL構築時に--without-docdirが指定されていた場合は空文字列となります)。
--includedir
クライアントインタフェースのCヘッダファイルの場所を表示します。
--pkgincludedir
その他のCヘッダファイルの場所を表示します。
--includedir-server
サーバプログラム作成用のCヘッダファイルの場所を表示します。
--libdir
オブジェクトコードライブラリのディレクトリを表示します。
--pkglibdir
動的ローディング可能なモジュールの場所(この場所をサーバが検索します。 このディレクトリには、アーキテクチャに依存する他のデータファイルも存在する可能性があります)。
--localedir
ロケールサポートファイルの場所を表示します (PostgreSQLをロケールサポートなしで構築した場合は空文字列となります)。
--mandir
マニュアルページの場所を表示します。
--sharedir
アーキテクチャ非依存のサポートファイルの場所を表示します。
--sysconfdir
システム全体の設定ファイルの場所を表示します。
--pgxs
拡張用Makefileの場所を表示します。
--configure
PostgreSQLを構築する時にconfigureスクリプトに与えたオプションを表示します。 まったく同じ構築条件でPostgreSQLを再作成する時、あるいは、バイナリパッケージの構築時のオプションを知りたい時に有益です (バイナリパッケージには、ベンダ特有のカスタムパッチが含まれていることが多いので注意してください)。 後述の例も参照してください。
--cc
PostgreSQLの構築時に使用されたCCマクロの値を表示します。 使用したCコンパイラが表示されます。
--cppflags
PostgreSQLの構築時に使用されたCPPFLAGSマクロの値を表示します。 事前処理時に必要としたCコンパイラのスイッチが表示されます。 (通常は-Iスイッチです。)
--cflags
PostgreSQLの構築時に使用されたCFLAGSマクロの値を表示します。 Cコンパイラスイッチが表示されます。
--cflags_sl
PostgreSQLの構築時に使用されたCFLAGS_SLマクロの値を表示します。 共有ライブラリの構築に使用されたCコンパイラスイッチが表示されます。
--ldflags
PostgreSQLの構築時に使用されたLDFLAGSマクロの値を表示します。 リンカスイッチが表示されます。
--ldflags_sl
PostgreSQLの構築時に使用されたLDFLAGS_SLマクロの値を表示します。 共有ライブラリの構築に使用されたリンカスイッチが表示されます。
--libs
PostgreSQLの構築時に使用されたLIBSマクロの値を表示します。 これには通常、PostgreSQLにリンクする外部ライブラリ用の-lスイッチが含まれます。
--version
PostgreSQLのバージョンを表示します。
1つ以上のオプションが与えられた場合、指定したオプションの順番に従って1行ずつ情報を表示します。 オプションがない場合、すべての利用可能な情報をラベル付きで表示します。
--includedir-server
オプションはPostgreSQL 7.2で新しく導入されました。
それまでのリリースでは、サーバ向けのインクルードファイルは、--includedir
オプションで表示されるクライアント向けのヘッダと同じ場所にありました。
どちらの場合でも対応できるようなパッケージにするには、まず新しいオプションを実行して、その終了ステータスを検査して成功したかどうかを確認してください。
オプション--docdir
、--pkgincludedir
、--localedir
、--mandir
、--sharedir
、--sysconfdir
、--cc
、--cppflags
、--cflags
、--cflags_sl
、--ldflags
、--ldflags_sl
、--libs
はPostgreSQL 8.1から追加されました。
pg_configが存在しない、PostgreSQL 7.1より前のバージョンでは、同様の設定情報を検索する方法はありませんでした。