PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

psycopg2.ProgrammingError :erreur de syntaxe à ou près de \

\ est un échappement dans les chaînes Python, donc votre chaîne contient l'échappement \c . Cependant \c est un échappement invalide en Python, et Python laisse les échappements invalides inchangés, donc "\copy" est juste \copy . (Ainsi, la réponse de @tiziano est trompeuse).

>>> print "\c"
\c

Le vrai problème est que \copy est un psql commande, pas une commande PostgreSQL côté serveur. Vous ne pouvez pas l'utiliser avec un client autre que psql . Vous devez plutôt utiliser le psycopg2 prise en charge de COPY pour le faire via votre pilote client.