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

Postgres:\copy-Syntaxfehler in .sql-Datei

psql denkt, dass Ihr erster Befehl nur \copy ( ist und die Zeilen darunter stammen aus einer anderen, nicht verwandten Aussage. Meta-Befehle werden nicht auf mehrere Zeilen verteilt, weil newline ein Abschlusszeichen für sie ist.

Relevante Auszüge aus der psql-Manpage mit etwas Hervorhebung hinzugefügt:

Der erste Fehler ist also, dass \copy ( Wenn dies fehlschlägt, werden die folgenden Zeilen als unabhängiges SELECT interpretiert, das bis Zeile 7 gut aussieht, wenn eine falsche schließende Klammer vorhanden ist.

Wie in den Kommentaren gesagt, wäre die Lösung, den gesamten Meta-Befehl in eine einzige Zeile zu packen.