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

psycopg2.ProgrammingError:Syntaxfehler bei oder in der Nähe von \

\ ist ein Escapezeichen in Python-Strings, also enthält Ihr String das Escapezeichen \c . Allerdings \c ist ein ungültiges Escapezeichen in Python, und Python lässt ungültige Escapezeichen unverändert, also "\copy" ist nur \copy . (Daher ist die Antwort von @tiziano irreführend).

>>> print "\c"
\c

Das eigentliche Problem ist, dass \copy ist ein psql Befehl, kein serverseitiger PostgreSQL-Befehl. Sie können es nicht mit einem anderen Client als psql verwenden . Sie müssen stattdessen den psycopg2 Unterstützung für COPY um dies über Ihren Client-Treiber zu tun.