psycopg2转义字符问题

时间:2018-01-16 08:38:05

标签: postgresql escaping psycopg2

我正在尝试编写一个python脚本来定期使用\ COPY TO将select语句导出到CSV文件。

查询

postgres=# \copy (select * from mytable where temp>32.5) to ...

此命令在psql命令行中有效。 但是在我的脚本中它会出现这个错误,大概与字符串中的转义字符有关:

psycopg2.ProgrammingError: syntax error at or near "\"
LINE 2:         \copy (select * 
                ^

我已经尝试了显而易见的' //'在我的python代码中无济于事。它似乎逃避正斜杠或不逃避正斜杠产生相同的错误。

1 个答案:

答案 0 :(得分:0)

\copy仅是psql命令。使用Psycopg的copy_expert cursor method

cursor.copy_expert (
    'copy (select * from mytable where temp>32.5) to stdout'
    '\path\to\file.csv'
),