psycopg2 copy_to table 的一部分
psycopg2 copy_to part of table
有一个 copy_to 可以将 table 数据复制到文件中,例如:
cursor.copy_to(fp, 'table_name')
但我不需要复制所有 table 数据,只需复制其中的一部分。
所以当我这样做时:
cursor.execute(query)
cursor.copy_to(fp, 'table_name')
它仍然复制整个 table。
有没有办法从查询中复制数据?
使用 cursor.copy_expert(),将您的查询作为 COPY
命令的参数,例如:
sql = """
copy (
select *
from my_table
where id < 5
order by id
) to stdout
"""
with open('/data/my_file.txt', 'w') as fp:
cursor.copy_expert(sql, fp)
有一个 copy_to 可以将 table 数据复制到文件中,例如:
cursor.copy_to(fp, 'table_name')
但我不需要复制所有 table 数据,只需复制其中的一部分。 所以当我这样做时:
cursor.execute(query)
cursor.copy_to(fp, 'table_name')
它仍然复制整个 table。 有没有办法从查询中复制数据?
使用 cursor.copy_expert(),将您的查询作为 COPY
命令的参数,例如:
sql = """
copy (
select *
from my_table
where id < 5
order by id
) to stdout
"""
with open('/data/my_file.txt', 'w') as fp:
cursor.copy_expert(sql, fp)