这是我要运行的查询 - 让我在其中运行此查询的当前数据库是 db1,我要在其中插入记录的数据库是 db2。
insert into db2.employee(id, name, group) values(id, <db1.employee.name>, <db1.employee.group>) where id in (select id from archived limit 2);
如您所见,这些值必须从 db1(当前数据库)的员工表中选择,然后插入到 db2 的员工表中。
我知道查询是错误的 - 但我刚刚写信解释我想要做什么。
如何使用 postgres_fdw 制定查询?
我试过用这个查询做一些相反的事情
INSERT INTO employee select * from
dblink('host=10.1.1.1
user=user
password=password
dbname=mydb', 'select * from employee') tt(
id int,
name character varying,
);
编辑:请注意,我想做一个远程插入和一个本地选择。当我在 db2 中运行查询作为本地数据库而不是 db1 时,似乎可以使用上面的查询来实现这一点