首页 > 数据库 > mysql教程 > 如何跨不同PostgreSQL数据库查询?

如何跨不同PostgreSQL数据库查询?

Barbara Streisand
发布: 2025-01-12 07:50:41
原创
793 人浏览过

How Can I Query Across Different PostgreSQL Databases?

使用PostgreSQL跨数据库查询

PostgreSQL本身并不原生支持跨数据库查询,正如错误信息所示,但有一些变通方法可用。其中一种方法是使用postgres_fdw扩展。

postgres_fdw

postgres_fdw(外部数据包装器)允许您连接到任何PostgreSQL数据库中的表,无论其位置如何。要使用此扩展:

  1. 确保您的Postgres版本支持postgres_fdw(建议使用v9.3或更高版本)。

  2. 在您希望执行跨数据库查询的每个数据库中安装postgres_fdw扩展。

  3. 创建外部服务器和用户映射:

     postgres=# CREATE SERVER foreign_server FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host 'remote_host', port '5432');
     postgres=# CREATE USER MAPPING FOR CURRENT_USER SERVER foreign_server OPTIONS (user 'remote_user', password 'remote_password');
    登录后复制
  4. 创建外部表:

     postgres=# CREATE FOREIGN TABLE cross_db_table SERVER foreign_server OPTIONS (table_name 'remote_table');
    登录后复制

9.3版本之前的替代方案

对于9.3之前的Postgres版本,可以使用名为dblink的函数进行跨数据库查询。虽然它与PostgreSQL一起维护和分发,但其使用方法与postgres_fdw不同。有关dblink的更多详细信息,请参阅PostgreSQL文档。

以上是如何跨不同PostgreSQL数据库查询?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板