一尘不染

PostgreSQL将数据从一个数据库复制/传输到另一个数据库

sql

我需要将数据从一个表复制到另一个表。这两个表几乎具有相同的结构,但是位于不同的数据库中。

我试过了

INSERT INTO db1.public.table2(
  id,
  name,
  adress,
  lat,
  lng
)
SELECT
  id,
  name,
  adress,
  lat
  lng
FROM db2.public.table2;

我尝试此操作,但跨数据库出现错误…未实现


阅读 630

收藏
2021-03-10

共1个答案

一尘不染

这是一个非常简单的任务。只需为此目的使用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')
2021-03-10