php7 - Problemas al importar un archivo txt a postgres usando php
php y postgresql pdf (1)
En realidad, no puedes ejecutar /copy
través de pg_query()
. No es un comando SQL . Es un metacontrol del cliente psql .
Ahí puedes ejecutar:
/copy data1 FROM ''data1.txt'' WITH CSV HEADER DELIMITER AS '','' QUOTE AS ''^''
O ejecuta el comando de shell:
psql mydb -c "/copy data1 FROM ''data1.txt''
WITH CSV HEADER DELIMITER AS '','' QUOTE AS ''^''"
Tenga en cuenta las comillas. Los valores deben ser entre comillas simples en PostgreSQL : ''value''
.
Las comillas dobles son para identificadores, y solo se necesitan para identificadores con letras mayúsculas o caracteres ilegales o para palabras reservadas: "My table"
.
Estoy tratando de importar un archivo txt / csv a mi base de datos postgres desde php usando el comando "/ copy". No puedo usar COPY en lugar de / copy porque lo necesito para ejecutarlo como un cliente psql. Mi código es:
$query = ''//'.''copy data1 FROM "data1.txt" WITH CSV HEADER DELIMITER AS "," QUOTE AS "^"'';
$result = pg_query($conn,$query);
if (!$result) {
echo "cannot copy data/n";
} else {
echo "SUCCESS!";
}
Cuando ejecuto este archivo php, obtengo este error:
PHP Warning: pg_query(): Query failed: ERROR: syntax error at or near "/"
LINE 1: /copy data1 FROM "data1.txt" WITH ...
^ in script.php on line 30