pg_last_error および pg_result_error が返すメッセージの詳細度を指定する

# pg_set_error_verbosity

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

pg_set_error_verbosity — pg_last_error() および pg_result_error() が返すメッセージの詳細度を指定する

### 説明

function pg_set_error_verbosity(PgSql\Connection `$connection` = ?, int `$verbosity`): int|false

pg_last_error() および pg_result_error() が返すメッセージの詳細度を指定します。

pg_set_error_verbosity() は詳細度を設定し、その接続の これまでの設定を返します。`PGSQL_ERRORS_TERSE` モードでは、返されるメッセージは深刻度・概要 および 発生位置のみです。 これはたいていの場合 1 行に収まります。デフォルトのモード （`PGSQL_ERRORS_DEFAULT`）では、それに加えて何らかの 詳細情報・ヒントあるいは状況フィールドを含みます（これらは複数行に またがる可能性があります）。`PGSQL_ERRORS_VERBOSE` モードは、有効なフィールドをすべて含みます。詳細度の設定変更内容は それ以降に新しく作成した結果オブジェクトにのみ反映され、既存の 結果オブジェクトには影響を与えません。

### パラメータ

`connection`

  PgSql\Connection クラスのインスタンス。 `connection` が指定されない場合は、デフォルトの接続を使います。 デフォルトの接続とは、pg_connect() または pg_pconnect() によって確立された直近の接続です。

  警告

  PHP 8.1.0 以降では、デフォルトの接続を使うことは推奨されなくなりました。

`verbosity`

  指定する詳細度。`PGSQL_ERRORS_TERSE`、 `PGSQL_ERRORS_DEFAULT` あるいは `PGSQL_ERRORS_VERBOSE` 。

### 戻り値

変更前の詳細度レベル。`PGSQL_ERRORS_TERSE`、 `PGSQL_ERRORS_DEFAULT` あるいは `PGSQL_ERRORS_VERBOSE` のいずれかを返します。 失敗した場合に `false` を返します。

### 変更履歴

バージョン | 説明
--- | ---
8.1.0 | `connection` は、PgSql\Connection クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、resource を期待していました。

### 例

例1 pg_set_error_verbosity() の例

    <?php
      $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

      if (!pg_connection_busy($dbconn)) {
          pg_send_query($dbconn, "select * from doesnotexist;");
      }

      pg_set_error_verbosity($dbconn, PGSQL_ERRORS_VERBOSE);
      $res1 = pg_get_result($dbconn);
      echo pg_result_error($res1);
    ?>

### 参考

- pg_last_error() - 特定の接続から直近のエラーメッセージ文字列を取得する
- pg_result_error() - 結果に関連するエラーメッセージを取得する

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open