COPY FROM file
musi być uruchamiany przez konto superużytkownika, a to ograniczenie sprawia, że ogólnie nie nadaje się do użytku w Internecie
Fragment dokumentacji :
Ale PHP zapewnia obsługę COPY FROM stdin
który nie ma tego ograniczenia. Ten przykład z dokumentacji php pokazuje, jak to się robi:
$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);
W przypadku pliku, musisz otworzyć plik z funkcjami php i podać go wiersz po wierszu do połączenia postgres za pomocą pg_put_line()