# 定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。

`PGSQL_LIBPQ_VERSION` (string)
  短い形式の libpq バージョン情報。数字とドットだけの形式です。
`PGSQL_LIBPQ_VERSION_STR` (string)
  長い形式の libpq バージョン情報。コンパイラの情報も含めます。
`PGSQL_ASSOC` (integer)
  pg_fetch_array() に渡します。 フィールド名と値の連想配列を返します。
`PGSQL_NUM` (integer)
  pg_fetch_array() に渡します。 フィールド番号と値の数値添字配列を返します。
`PGSQL_BOTH` (integer)
  pg_fetch_array() に渡します。 フィールド値の配列を、数値添字（フィールド番号で）と 連想配列（フィールド名で）の両方で返します。
`PGSQL_CONNECT_FORCE_NEW` (integer)
  pg_connect() に渡し、既存の同一接続を無視して 新しい接続を確立させるようにします。
`PGSQL_CONNECT_ASYNC` (integer)
  pg_connect() に渡し、非同期接続を確立させます。 PHP 5.6.0 で追加されました。
`PGSQL_CONNECTION_BAD` (integer)
  pg_connection_status() から返され、データベースとの 接続が不正な状態になっていることを示します。
`PGSQL_CONNECTION_OK` (integer)
  pg_connection_status() から返され、データベースとの 接続が正常であることを示します。
`PGSQL_SEEK_SET` (integer)
  pg_lo_seek() に渡します。シーク操作は オブジェクトの先頭から始められます。
`PGSQL_SEEK_CUR` (integer)
  pg_lo_seek() に渡します。シーク操作は カレントの位置から始められます。
`PGSQL_SEEK_END` (integer)
  pg_lo_seek() に渡します。シーク操作は オブジェクトの最後から始められます。
`PGSQL_EMPTY_QUERY` (integer)
  pg_result_status() から返されます。 サーバーに送信された文字列が空でした。
`PGSQL_COMMAND_OK` (integer)
  pg_result_status() から返されます。 コマンドは正常に終了し、何もデータを返しませんでした。
`PGSQL_TUPLES_OK` (integer)
  pg_result_status() から返されます。 コマンドは正常に終了し、データを返しました （SELECT や SHOW など）。
`PGSQL_COPY_OUT` (integer)
  pg_result_status() から返されます。 （サーバーからの）データのコピーが始まりました。
`PGSQL_COPY_IN` (integer)
  pg_result_status() から返されます。 （サーバーへの）データのコピーが始まりました。
`PGSQL_BAD_RESPONSE` (integer)
  pg_result_status() から返されます。 サーバーからの応答を判別できませんでした。
`PGSQL_NONFATAL_ERROR` (integer)
  pg_result_status() から返されます。 致命的ではないエラー（通知や警告など）が発生しました。
`PGSQL_FATAL_ERROR` (integer)
  pg_result_status() から返されます。 致命的なエラーが発生しました。
`PGSQL_TRANSACTION_IDLE` (integer)
  pg_transaction_status() から返されます。 接続は現在アイドル状態で、トランザクション内ではありません。
`PGSQL_TRANSACTION_ACTIVE` (integer)
  pg_transaction_status() から返されます。 接続内でコマンドを実行中です。クエリが接続を通じて送信され、 まだ完了していません。
`PGSQL_TRANSACTION_INTRANS` (integer)
  pg_transaction_status() から返されます。 接続は現在アイドル状態で、トランザクションブロック内にあります。
`PGSQL_TRANSACTION_INERROR` (integer)
  pg_transaction_status() から返されます。 接続は現在アイドル状態で、トランザクション処理に失敗しています。
`PGSQL_TRANSACTION_UNKNOWN` (integer)
  pg_transaction_status() から返されます。 接続が正常ではありません。
`PGSQL_DIAG_SEVERITY` (integer)
  pg_result_error_field() に渡します。 深刻度です。その内容は ERROR、 FATAL、あるいは PANIC （エラーメッセージ内）、あるいは WARNING、 NOTICE、DEBUG、 INFO、あるいは LOG （通知メッセージ内）、あるいはこれらの各国語版のうちのどれかです。 常に存在します。
`PGSQL_DIAG_SQLSTATE` (integer)
  pg_result_error_field() に渡します。 エラーの SQLSTATE コードです。SQLSTATE コードは発生したエラーの種別を 特定します。これは、データベースエラーに対してフロントエンドの アプリケーションが適切な操作（エラー処理など）をできるようにするために 使用されます。このフィールドはローカライズされていません。また、 常に存在します。
`PGSQL_DIAG_MESSAGE_PRIMARY` (integer)
  pg_result_error_field() に渡します。 人間が判読できる最初のエラーメッセージ（たいてい 1 行）です。常に存在します。
`PGSQL_DIAG_MESSAGE_DETAIL` (integer)
  pg_result_error_field() に渡します。 オプションの 2 番目のエラーメッセージで、問題に対する詳細な情報を 含みます。複数行にまたがることもあります。
`PGSQL_DIAG_MESSAGE_HINT` (integer)
  pg_result_error_field() に渡します。 オプションのメッセージで、問題に対してどのように対応すべきかを指摘 します。エラーの詳細情報と違う点は、発生した事実ではなくアドバイス （時に不適切な場合もある）をするところです。複数行にまたがることも あります。
`PGSQL_DIAG_STATEMENT_POSITION` (integer)
  pg_result_error_field() に渡します。 エラーカーソルの位置を、もとのステートメント中の位置として表す 整数値を保持する文字列です。 最初の文字の位置は 1 で、それ以降（バイト数ではなく）文字数で 位置を数えます。
`PGSQL_DIAG_INTERNAL_POSITION` (integer)
  pg_result_error_field() に渡します。 `PG_DIAG_STATEMENT_POSITION` と同じ定義ですが、 こちらはカーソル位置が内部で生成されたコマンドを参照している場合に 使用されます。このフィールドが存在する場合は、常に `PG_DIAG_INTERNAL_QUERY` フィールドも存在します。
`PGSQL_DIAG_INTERNAL_QUERY` (integer)
  pg_result_error_field() に渡します。 失敗した内部生成コマンドのテキストです。例としては、PL/pgSQL 関数で 発行された SQL クエリなどがあてはまります。
`PGSQL_DIAG_CONTEXT` (integer)
  pg_result_error_field() に渡します。 エラーが発生した状況を指定します。現在ここに含まれているのは、 アクティブなプロシージャの関数や内部生成クエリのコール履歴です。 これはエントリごとに 1 行のデータとなっており、直近のデータが 先頭にきます。
`PGSQL_DIAG_SOURCE_FILE` (integer)
  pg_result_error_field() に渡します。 エラーが報告された箇所の、PostgreSQL ソースコードでのファイル名です。
`PGSQL_DIAG_SOURCE_LINE` (integer)
  pg_result_error_field() に渡します。 エラーが報告された箇所の、PostgreSQL ソースコードでの行番号です。
`PGSQL_DIAG_SOURCE_FUNCTION` (integer)
  pg_result_error_field() に渡します。 エラーが報告された箇所の、PostgreSQL ソースコードでの関数名です。
`PGSQL_ERRORS_TERSE` (integer)
  pg_set_error_verbosity() に渡します。 返されるメッセージを指定します。ここには深刻度・短い説明および 発生位置のみを含めます。通常は 1 行に収まるでしょう。
`PGSQL_ERRORS_DEFAULT` (integer)
  pg_set_error_verbosity() に渡します。 デフォルトで返されるメッセージで、上の内容に加えて詳細・ ヒントあるいは詳細情報を含めます（複数行にまたがるかもしれません）。
`PGSQL_ERRORS_VERBOSE` (integer)
  pg_set_error_verbosity() に渡します。 詳細モードでのメッセージで、有効なフィールドをすべて含めます。
`PGSQL_NOTICE_LAST` (integer)
  pg_last_notice() で使用されます。 PHP 7.1.0 以降で使用可能です。
`PGSQL_NOTICE_ALL` (integer)
  pg_last_notice() で使用されます。 PHP 7.1.0 以降で使用可能です。
`PGSQL_NOTICE_CLEAR` (integer)
  pg_last_notice() で使用されます。 PHP 7.1.0 以降で使用可能です。
`PGSQL_STATUS_LONG` (integer)
  pg_result_status() に渡します。 結果として数値が要求されていることを示します。
`PGSQL_STATUS_STRING` (integer)
  pg_result_status() に渡します。 結果としてテキストのコマンドタグが要求されていることを示します。
`PGSQL_CONV_IGNORE_DEFAULT` (integer)
  pg_convert() に渡します。 変換時に、テーブルのデフォルト値を無視します。
`PGSQL_CONV_FORCE_NULL` (integer)
  pg_convert() に渡します。 空文字列に対して、SQL の NULL を使用します。
`PGSQL_CONV_IGNORE_NOT_NULL` (integer)
  pg_convert() に渡します。 `NULL` を SQL の NOT NULL に変換しないように します。
`PGSQL_DML_NO_CONV` (integer)
  pg_insert() や pg_select()、 pg_update()、pg_delete() に渡します。 すべてのパラメータを、そのままの形式で渡します。ユーザーから受け取ったデータを渡す際には、手動でのエスケープが必要になります。 pg_escape_string() を使いましょう。
`PGSQL_DML_EXEC` (integer)
  pg_insert() や pg_select()、 pg_update()、pg_delete() に渡します。 これらの関数を使って、クエリを実行します。
`PGSQL_DML_ASYNC` (integer)
  pg_insert() や pg_select()、 pg_update()、pg_delete() に渡します。 これらの関数を使って、非同期クエリを実行します。
`PGSQL_DML_STRING` (integer)
  pg_insert() や pg_select()、 pg_update()、pg_delete() に渡します。 実行したクエリ文字列を返します。
`PGSQL_DML_ESCAPE` (integer)
  pg_insert() や pg_select()、 pg_update()、pg_delete() に渡します。 内部的に pg_convert() を呼ぶ代わりに、すべてのパラメータをエスケープします。 このオプションは、メタデータのルックアップを除外します。 pg_query() や pg_send_query() と同程度の速度になります。
`PGSQL_POLLING_FAILED` (integer)
  pg_connect_poll() が返す値です。 接続の試行に失敗したことを示します。
`PGSQL_POLLING_READING` (integer)
  pg_connect_poll() が返す値です。 接続が、PostgreSQL のソケットが読み込み可能になるのを待っていることを示します。
`PGSQL_POLLING_WRITING` (integer)
  pg_connect_poll() が返す値です。 接続が、PostgreSQL のソケットが書き込み可能になるのを待っていることを示します。
`PGSQL_POLLING_OK` (integer)
  pg_connect_poll() が返す値です。 接続が、利用可能になったことを示します。
`PGSQL_POLLING_ACTIVE` (integer)
  pg_connect_poll() が返す値です。 接続が、現在アクティブであることを示します。