\
är en escape i Python-strängar, så din sträng innehåller escapen \c
. Men \c
är ett ogiltigt escape i Python, och Python lämnar ogiltiga escapes oförändrade, så "\copy"
är bara \copy
. (Därför är @tizianos svar missvisande).
>>> print "\c"
\c
Det verkliga problemet är att \copy
är en psql
kommando, inte ett PostgreSQL-kommando på serversidan. Du kan inte använda den med en annan klient än psql
. Du måste istället använda den psycopg2
stöd för COPY
för att göra det via din klientdrivrutin.