COPY FROM file
debe ser ejecutado por una cuenta de superusuario y esta restricción generalmente lo hace inadecuado para el uso web
Extracto de la documentación :
Pero PHP proporciona soporte para COPY FROM stdin
que no tiene esta restricción. Este ejemplo de la documentación de php muestra cómo se hace:
$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);
En el caso de un archivo, deberá abrir el archivo con funciones php y enviarlo línea por línea a la conexión de postgres con pg_put_line()