PostgreSQL本身並不原生支援跨資料庫查詢,正如錯誤資訊所示,但有一些變通方法可用。其中一種方法是使用postgres_fdw
擴充。
postgres_fdw
(外部資料包裝器)可讓您連接到任何PostgreSQL資料庫中的資料表,無論其位置為何。要使用此擴充功能:
確保您的Postgres版本支援postgres_fdw
(建議使用v9.3或更高版本)。
在您希望執行跨資料庫查詢的每個資料庫中安裝postgres_fdw
擴充功能。
建立外部伺服器和使用者映射:
<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>
建立外部表:
<code class="language-sql"> postgres=# CREATE FOREIGN TABLE cross_db_table SERVER foreign_server OPTIONS (table_name 'remote_table');</code>
對於9.3之前的Postgres版本,可以使用名為dblink
的函數進行跨資料庫查詢。雖然它與PostgreSQL一起維護和分發,但其使用方法與postgres_fdw
不同。有關dblink
的更多詳細信息,請參閱PostgreSQL文件。
以上是如何跨不同PostgreSQL資料庫查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!