首頁 >資料庫 >mysql教程 >如何跨不同PostgreSQL資料庫查詢?

如何跨不同PostgreSQL資料庫查詢?

Barbara Streisand
Barbara Streisand原創
2025-01-12 07:50:41748瀏覽

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. 建立外部伺服器和使用者映射:

    <code class="language-sql"> 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');</code>
  4. 建立外部表:

    <code class="language-sql"> postgres=# CREATE FOREIGN TABLE cross_db_table SERVER foreign_server OPTIONS (table_name 'remote_table');</code>

9.3版本之前的替代方案

對於9.3之前的Postgres版本,可以使用名為dblink的函數進行跨資料庫查詢。雖然它與PostgreSQL一起維護和分發,但其使用方法與postgres_fdw不同。有關dblink的更多詳細信息,請參閱PostgreSQL文件。

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn