COPY FROM file
スーパーユーザーアカウントで実行する必要があり、この制限により、一般的にWebでの使用には適していません
ドキュメント からの抜粋 :
ただし、PHPはCOPY FROM stdin
のサポートを提供します これにはこの制限はありません。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);
ファイルの場合は、php関数を使用してファイルを開き、pg_put_line()
を使用してpostgres接続に1行ずつフィードする必要があります。