\
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.