我使用以下代码将表从远程数据库复制到本地
INSERT INTO manifest_status select * from
dblink('host=1.2.3.4
user=bn_openerp
password=12345678
dbname=Bodywears', 'select * FROM manifest_status') t1(
id int,
manifest_no character varying,
tracking_number character varying,
order_number character varying,
status character varying,
pos character varying
);
工作正常,
我的应用程序更改本地存储的表中的数据。
现在我想在host = 1.2.3.4上的远程服务器上传表
答案 0 :(得分:0)
我认为有两种情况:
第一种情况:远程服务器上没有活动。我的意思是你的远程服务器没有更新/插入/删除" manifest_status"表。 如果是这样,您可以删除远程服务器上的该表,然后从本地复制到您的服务器。请不要忘记备份该平板电脑。
第二种情况:该表已更新/插入/删除。我认为你必须手动进行迁移。这意味着您必须比较本地和远程数据之间的差异。
答案 1 :(得分:0)
createdb -U postgres -h 1.2.3.4 restored_mydb
pg_dump -U postgres mydb | ssh 1.2.3.4 "psql -d restored_mydb -U postgres"
答案 2 :(得分:-1)
您应该通过CSV格式文件导出本地数据。
请使用此命令:
COPY manifest_status TO '/tmp/manifest_status.csv' DELIMITER ',' CSV HEADER;
请阅读@ http://www.postgresql.org/docs/current/static/sql-copy.html
中的Postgres手册