sql >> Databáze >  >> RDS >> PostgreSQL

psycopg2.ProgrammingError:chyba syntaxe v nebo blízko \

\ je escape v řetězcích Pythonu, takže váš řetězec obsahuje escape \c . Nicméně \c je neplatný escape v Pythonu a Python ponechává neplatné escape beze změny, takže "\copy" je pouze \copy . (Odpověď @tiziano je tedy zavádějící).

>>> print "\c"
\c

Skutečný problém je v tom, že \copy je psql příkaz, nikoli příkaz PostgreSQL na straně serveru. Nemůžete jej použít s jiným klientem než psql . Místo toho musíte použít psycopg2 podpora pro COPY můžete to provést prostřednictvím klientského ovladače.




  1. Jak vyberete pole varchar2 ve formátu 'HH24:MI:SSxFF6' jako INTERVAL HOUR TO SECOND(6)?

  2. Amazon Python 2.7 Lambda:DPI-1047:64bitovou klientskou knihovnu Oracle nelze načíst:libclntsh.so

  3. Použití row_to_json() s vnořenými spojeními

  4. Jak citovat hodnoty pomocí group_concat