查询存储在不同服务器中的两个不同的Postgres数据库



我有两个 postgres 存储在不同服务器中的数据库。

" firstDB" 版本 9.2 ,它存储在LAN服务器中,端口 5432

" seconddb" 版本 10 ,它被存储为Localhost。

我可以通过 pgadmin4 版本 2.0

我想在这两个数据库之间运行查询以比较数据。

关于如何完成的任何想法?

谢谢大家的时间。

对于运行联合查询,我大部分时间都使用 POSTGRES_FDW ,该在源数据库中创建外国表。非常方便,但在与加入打交道时有所注意。

一个例子:

CREATE SERVER my_server FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host 'target.host.com', port '5432', dbname 'targetdb');
CREATE USER MAPPING FOR postgres SERVER my_server OPTIONS (user 'postgres');
CREATE FOREIGN TABLE my_foreign_table (
  id INT,
  desc TEXT
)
SERVER my_server OPTIONS (schema_name 'public', table_name 'target_table');

编辑基于注释:

请记住,作为任何其他应用程序,源数据库都需要访问目标数据库,并且必须在pg_hba.conf上进行描述:

host yourdb youruser 0.0.0.0 md5

另一种方法是使用 dblink ,它不会创建外国表,但可以使您可以直接向目标数据库发射查询并检索结果集,就像是本地的一样。

相关内容

  • 没有找到相关文章

最新更新