我有两台带有PostgreSQL的Windows机器(PC1和PC2)。在PC1中我有表:
在PC2中,我有相同的表格,其中包含以下记录:
我想将两个表组合在一起并将它们放在PC1中(顺序并不重要):
怎么办?我正在使用PostgreSQL 9.2& pgAdminIII。如果可能的话,我更喜欢使用USB记忆棒而不是网络传输数据。
答案 0 :(得分:1)
您可以直接转储数据:
pg_dump --data-only dbname > outfile.sql
这将为您提供所有数据的文件。如果在将此数据插回另一个节点时您不得不担心重复,那么这是一个大问题。
这是您导入数据的方式:
psql --set ON_ERROR_STOP=on dbname < outfile.sql
如果您继续需要同步这两个数据库,另一个解决方案是使用PostgreSQL的一些复制策略。 http://www.postgresql.org/docs/9.2/static/warm-standby.html#STREAMING-REPLICATION
答案 1 :(得分:1)
这就是我要做的:
PC1-&GT; pgadmin-&GT; yourtablename - &gt;右键单击 - &gt;备份
文件选项:格式:普通,编码:your_ecnoding
转储选项#1:仅使用数据,使用列插入。
这将创建sql查询。 将yourtablename替换为yourtablename2 ,并在PC2上将其取消
删除重复记录并添加数据:
delete from yourtablename2 where id in (select id from yourtablename)
insert into yourtablename
select * from yourtablename2
drop table yourtablename2