pg_configユーティリティは、現在インストールしているバージョンのPostgreSQLの設定パラメータを表示します。 これは、例えばPostgreSQLとのインタフェースを持つソフトウェアパッケージが必要なヘッダファイルやライブラリを容易に検出できるように用意されたものです。
pg_configを使用するためには、以下のオプションを1つ以上指定します。
ユーザコマンドの場所を表示します。 例えば、psqlプログラムを検索するために使用します。 これは通常、pg_configプログラムが存在するディレクトリでもあります。
文書ファイルの場所を表示します
HTML文書ファイルの場所を表示します。
クライアントインタフェースのCヘッダファイルの場所を表示します。
その他のCヘッダファイルの場所を表示します。
サーバプログラム作成用のCヘッダファイルの場所を表示します。
オブジェクトコードライブラリのディレクトリを表示します。
動的ローディング可能なモジュールの場所(この場所をサーバが検索します。 このディレクトリには、アーキテクチャに依存する他のデータファイルも存在する可能性があります)。
ロケールサポートファイルの場所を表示します (PostgreSQLをロケールサポートなしで構築した場合は空文字列となります)。
マニュアルページの場所を表示します。
アーキテクチャ非依存のサポートファイルの場所を表示します。
システム全体の設定ファイルの場所を表示します。
拡張用Makefileの場所を表示します。
PostgreSQLを構築する時にconfigureスクリプトに与えたオプションを表示します。 まったく同じ構築条件でPostgreSQLを再作成する時、あるいは、バイナリパッケージの構築時のオプションを知りたい時に有益です (バイナリパッケージには、ベンダ特有のカスタムパッチが含まれていることが多いので注意してください)。 後述の例も参照してください。
PostgreSQLの構築時に使用されたCC変数の値を表示します。 使用したCコンパイラが表示されます。
PostgreSQLの構築時に使用されたCPPFLAGS変数の値を表示します。 事前処理時に必要としたCコンパイラのスイッチが表示されます。 (通常は-Iスイッチです。)
PostgreSQLの構築時に使用されたCFLAGS変数の値を表示します。 Cコンパイラスイッチが表示されます。
PostgreSQLの構築時に使用されたCFLAGS_SL変数の値を表示します。 共有ライブラリの構築に使用されたCコンパイラスイッチが表示されます。
PostgreSQLの構築時に使用されたLDFLAGS変数の値を表示します。 リンカスイッチが表示されます。
PostgreSQLの構築時に使用されたLDFLAGS_EX変数の値を表示します。 実行ファイルの構築のみに使用されたリンカスイッチが表示されます。
PostgreSQLの構築時に使用されたLDFLAGS_SL変数の値を表示します。 共有ライブラリの構築のみに使用されたリンカスイッチが表示されます。
PostgreSQLの構築時に使用されたLIBS変数の値を表示します。 これには通常、PostgreSQLにリンクする外部ライブラリ用の-lスイッチが含まれます。
PostgreSQLのバージョンを表示します。
pg_configコマンドライン引数に関する説明を表示し、終了します。
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から追加されました。 オプション--htmldirはPostgreSQL 8.4で追加されました。 オプション--ldflags_exはPostgreSQL 9.0で追加されました。
pg_configが存在しない、PostgreSQL 7.1より前のバージョンでは、同様の設定情報を検索する方法はありませんでした。