首頁 > 資料庫 > mysql教程 > 如何在PostgreSQL中進行跨資料庫查詢?

如何在PostgreSQL中進行跨資料庫查詢?

Patricia Arquette
發布: 2025-01-12 10:56:43
原創
382 人瀏覽過

How Can I Perform Cross-Database Queries in PostgreSQL?

在 PostgreSQL 中啟用跨資料庫查詢

雖然 PostgreSQL 最初似乎限制跨資料庫查詢,但存在一個實用的解決方案。 postgres_fdw(外部資料包裝器)模組提供了連接和查詢不同 PostgreSQL 資料庫中的資料表所需的功能,無論其位置為何(本地或遠端)。

重要注意事項:在單一機器上實作跨資料庫查詢之前,請先探索使用模式。 模式提供了一種更簡單的方法來查詢不同的資料集,而不需要額外的配置。

postgres_fdw相容性:

postgres_fdw 模組與 PostgreSQL 版本 9.3 及更高版本相容。 對於 9.3 之前的版本,dblink 函數提供了類似的解決方案。

實作步驟:

利用postgres_fdw進行跨資料庫查詢:

  1. 建立外部資料包裝器:為目標資料庫建立外部資料包裝器:
<code class="language-sql">CREATE FOREIGN DATA WRAPPER postgres_fdw OPTIONS (
    host 'hostname',
    port '5432',    -- Standard PostgreSQL port
    dbname 'target_database'
);</code>
登入後複製
  1. 定義外部伺服器: 建立連結到目標資料庫的外部伺服器:
<code class="language-sql">CREATE SERVER target_server FOREIGN DATA WRAPPER postgres_fdw OPTIONS (
    user 'username',
    password 'password'
);</code>
登入後複製
  1. 映射使用者存取權限: 建立使用者映射,授予目前使用者對目標資料庫的存取權:
<code class="language-sql">CREATE USER MAPPING FOR current_user SERVER target_server OPTIONS (
    user 'target_user',
    password 'target_password'
);</code>
登入後複製
  1. 匯入外部表:將所需的表(或模式)匯入到目前資料庫:
<code class="language-sql">IMPORT FOREIGN SCHEMA all FROM SERVER target_server INTO schema_name;</code>
登入後複製
  1. 查詢匯入的資料表: 現在,像查詢本機表一樣查詢匯入的資料表:
<code class="language-sql">SELECT * FROM schema_name.target_table;</code>
登入後複製

以上是如何在PostgreSQL中進行跨資料庫查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板