我在postgresql数据库中有一个简单的模型,我想在另一台机器的另一个数据库中复制该表的行。
复制应该针对此表的某些列,而不是针对所有列。
解决方案是什么?
答案 0 :(得分:1)
如果通过复制意味着导入,请查看外部数据包装器:
http://wiki.postgresql.org/wiki/Foreign_data_wrappers
其中一个应该做的伎俩。
如果你真的是指复制,那么...如果其他数据库没有使用Postgres,你可以想象使用上面的和触发器来保持同步的变化,当然假设Postgres仍然是主人。如果它使用Postgres,还有很多其他选项可供选择:
http://www.postgresql.org/docs/current/static/high-availability.html
答案 1 :(得分:0)
看看db_link module。你可以尝试类似的东西:
create extension dblink;
然后安装完成后:
select dblink_connect('myconn', 'hostaddr=127.0.0.1 port=5432 dbname=gis user=ubuntu password=ubuntu');
create table some_columns_table as select * from dblink('myconn','select col1, col2 from all_columns_table') AS t(col1 int, col2 text, col3 text);
select dblink_disconnect('myconn);