我正在使用Python中的psycopg2管理两个数据库。我想将db1中每个表中的数据复制到db2中。我不想使用pg_dump,因为我希望能够在第一个数据库进行更改时更新第二个数据库中的表,而如果表中已存在数据,则pg_dump将无法运行。现在,我为每个数据库有两个游标。我正在使用以下代码复制表格:
我该如何使这个工作?
result = cursor1.execute('SELECT * from "table1"')
我试图做类似于以下操作:
cursor2.execute('INSERT INTO table2 result')
我还使用了pg_dump -s在第二个数据库中复制了与第一个数据库相同的模式。我该如何使这个工作?
'string'%variable
格式化通常已被弃用。符合dbapiv2
标准的模块支持基于元组的语法:cur.execute('INSERT INTO table2 %s', (row,))
(元组中的尾逗号是有意义的)。 - Jules