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

标签 sql postgresql copy cross-database

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

我试过了

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')

关于sql - PostgreSQL 将数据从一个数据库复制/传输到另一个数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36476192/

相关文章:

jar - 如何在Gradle中将文件从JAR复制到WAR?

python - 维基百科 SQL 转储无法使用 Python/SQLite 加载

c# - ASP.NET : How to deny a page to be accesed by users and set permissions?

postgresql - Express Postgres session 无法正常工作

objective-c - 属性复制在Cocoa框架中意味着什么?(如UITabBar的items属性)

c - 为什么用函数修改二维数组不起作用?

php - 从其他表 + Doctrine 查询

python - 超出 'range optimizer max mem_size' 的内存容量

postgresql - 带分区的 Postgres BRIN 索引

database - 如何在Postgresql中实现ACL