PostgreSQL Python复制表从一个数据库到另一个数据库

时间:2017-01-18 18:35:12

标签: python sql postgresql psycopg2

我在Python中使用psycopg2来管理2个数据库。我想将db1中每个表中的数据复制到db2中。我不想使用pg_dump,因为我希望能够更新第二个数据库中的表,因为对第一个数据库进行了更改,如果表中的数据已经存在,则pg_dump将不会运行。截至目前,我为每个数据库都有2个游标。我正在使用

复制表格

result = cursor1.execute('SELECT * from "table1"')

我正在尝试做类似

的事情

cursor2.execute('INSERT INTO table2 result')

我还使用了pg_dump -s来复制第二个数据库中第一个数据库的相同模式。

我该如何做到这一点?

1 个答案:

答案 0 :(得分:1)

如果迭代结果并且对于每一行使用insert语句都可以,但可能不是执行此传输的正确方法(更新如@Jules所说):

for row in result.fetchall():
    cursor2.execute('INSERT INTO table2 %s',(row,))