我需要将数据从一个表复制到另一个表。这两个表几乎具有相同的结构,但是位于不同的数据库中。
我试过了
INSERT INTO db1.public.table2( id, name, adress, lat, lng ) SELECT id, name, adress, lat lng FROM db2.public.table2;
我尝试此操作,但跨数据库出现错误…未实现
这是一个非常简单的任务。只需为此目的使用dblink:
INSERT INTO t(a, b, c) SELECT a, b, c FROM dblink('host=xxx user=xxx password=xxx dbname=xxx', 'SELECT a, b, c FROM t') AS x(a integer, b integer, c integer)
如果您需要定期从外部数据库中获取数据,明智的做法是定义服务器和用户映射。然后,您可以使用较短的语句:
dblink('yourdbname', 'your query')