pg_end_copy

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

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

説明

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

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

パラメータ

connection

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

警告

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

戻り値

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

変更履歴

バージョン 説明
8.1.0 connection は、PgSql\Connection クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、リソース を期待していました。
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 バックエンドに送信する

関連キーワード:  PostgreSQL, end, copy, connection, 接続, PgSql, Connection, サーバー, バージョン, インスタンス