De \copy
is geen SQL-opdracht, het is een opdracht die specifiek is voor de Postgres-terminalclient psql en kan in deze context niet worden gebruikt.
Gebruik copy_expert(sql, file, size=8192)
in plaats daarvan, bijvoorbeeld:
sql = "COPY (SELECT * FROM a_table WHERE month=6) TO STDOUT WITH CSV DELIMITER ';'"
with open("/mnt/results/month/table.csv", "w") as file:
cur.copy_expert(sql, file)
Lees meer over de functie in de documentatie.