gpt4 book ai didi

python - 使用 psycopg2 copy_from 和 copy_expert 复制表?

转载 作者:太空狗 更新时间:2023-10-30 02:33:20 26 4
gpt4 key购买 nike

我想使用 copy 将旧数据库中的表行复制到新数据库中psycopg2 中可用的命令。我以为我可以通过 StringIO 重定向像下面这样

io = StringIO.StringIO('')
whereClause = " SELECT %s FROM %s WHERE home_city='%s' "%(
','.join(columns), tablename, city,
)
old_db_cursor.execute(whereClause)
rows = old_db_cursor.fetchall()
logger.info('Should get %d rows',len([r for r in rows]))
sql = 'COPY (%s) to STDOUT'%(whereClause,)
old_db_cursor.copy_expert( sql, io, )
new_db_cursor.copy_from( io, tablename, columns=columns)
new_db_connection.commit()

日志记录显示我应该获得 30,000 行。但是尽管没有错误消息,但我没有得到新行。对于它的值(value),检查 io.read() 的长度显示它为零。

我怎样才能让它工作?

最佳答案

回答我自己的问题,有必要倒回 StringIO 对象,使用

io.seek(0)

关于python - 使用 psycopg2 copy_from 和 copy_expert 复制表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13958874/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com