PostgreSQL バックエンドと同期する

# pg_end_copy

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

pg_end_copy — PostgreSQL バックエンドと同期する

### 説明

function pg_end_copy(?PgSql\Connection `$connection` = `null`): bool

pg_end_copy() は、pg_put_line() によるコピー操作の後で PostgreSQL フロントエンド（通常は Web サーバー プロセス）と PostgreSQL サーバーを同期させます。 pg_end_copy() を実行しなければ、PostgreSQL サーバーが フロントエンドとの同期を失ってしまい、エラーが発生します。

### パラメータ

`connection`

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

  警告

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

### 戻り値

成功した場合に `true` を、失敗した場合に `false` を返します。

### 変更履歴

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

### 例

例1 pg_end_copy() の例

    <?php
      $conn = pg_pconnect("dbname=foo");
      pg_query($conn, "create table bar (a int4, b char(16), d float8)");
      pg_query($conn, "copy bar from stdin");
      pg_put_line($conn, "3\thello world\t4.5\n");
      pg_put_line($conn, "4\tgoodbye world\t7.11\n");
      pg_put_line($conn, "\\.\n");
      pg_end_copy($conn);
    ?>

### 参考

- pg_put_line() - NULL で終わる文字列を PostgreSQL バックエンドに送信する

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