在 PostgreSQL 中启用跨数据库查询
虽然 PostgreSQL 最初似乎限制跨数据库查询,但存在一个实用的解决方案。 postgres_fdw
(外部数据包装器)模块提供了连接和查询不同 PostgreSQL 数据库中的表所需的功能,无论其位置如何(本地或远程)。
重要注意事项:在单台机器上实现跨数据库查询之前,请探索使用模式。 模式提供了一种更简单的方法来查询不同的数据集,而不需要额外的配置。
postgres_fdw
兼容性:
postgres_fdw
模块与 PostgreSQL 版本 9.3 及更高版本兼容。 对于 9.3 之前的版本,dblink
函数提供了类似的解决方案。
实施步骤:
利用postgres_fdw
进行跨数据库查询:
<code class="language-sql">CREATE FOREIGN DATA WRAPPER postgres_fdw OPTIONS ( host 'hostname', port '5432', -- Standard PostgreSQL port dbname 'target_database' );</code>
<code class="language-sql">CREATE SERVER target_server FOREIGN DATA WRAPPER postgres_fdw OPTIONS ( user 'username', password 'password' );</code>
<code class="language-sql">CREATE USER MAPPING FOR current_user SERVER target_server OPTIONS ( user 'target_user', password 'target_password' );</code>
<code class="language-sql">IMPORT FOREIGN SCHEMA all FROM SERVER target_server INTO schema_name;</code>
<code class="language-sql">SELECT * FROM schema_name.target_table;</code>
以上是如何在PostgreSQL中进行跨数据库查询?的详细内容。更多信息请关注PHP中文网其他相关文章!