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

新手上路,请多包涵

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

我试过了

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

wenn 我试试这个,我得到错误跨数据库…未实现

原文由 fabvys 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
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')

原文由 percy 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进