O
\copy
não é um comando SQL, é um comando específico para o cliente de terminal Postgres psql e não pode ser usado neste contexto. Use
copy_expert(sql, file, size=8192)
em vez disso, por exemplo: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)
Leia mais sobre a função na documentação.