复制表的某些列

时间:2013-11-20 08:45:15

标签: database postgresql replication

我在postgresql数据库中有一个简单的模型,我想在另一台机器的另一个数据库中复制该表的行。

复制应该针对此表的某些列,而不是针对所有列。

解决方案是什么?

2 个答案:

答案 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);