PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Probleme beim Importieren einer txt-Datei in Postgres mit PHP

Tatsächlich können Sie \copy nicht ausführen über pg_query() . Es ist kein SQL-Befehl . Es ist ein Meta-Befehl von psql Kunde.

Dort können Sie ausführen:

\copy data1 FROM 'data1.txt' WITH CSV HEADER DELIMITER AS ',' QUOTE AS '^'

Oder führen Sie den Shell-Befehl aus:

psql mydb -c "\copy data1 FROM 'data1.txt'
                WITH CSV HEADER DELIMITER AS ',' QUOTE AS '^'"

Beachten Sie die Anführungszeichen. Werte müssen in PostgreSQL in einfache Anführungszeichen gesetzt werden:'value' .
Doppelte Anführungszeichen sind für Bezeichner - und werden eigentlich nur für Bezeichner mit Großbuchstaben oder unzulässigen Zeichen oder für reservierte Wörter benötigt:"My table" .