W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
PostgreSQL實(shí)現(xiàn)了部分的SQL/MED規(guī)定,允許我們使用普通SQL查詢來訪問位于PostgreSQL之外的數(shù)據(jù)。這種數(shù)據(jù)被稱為外部數(shù)據(jù)(注意這種用法不要和外鍵混淆,后者是數(shù)據(jù)庫中的一種約束)。
外部數(shù)據(jù)可以在一個(gè)外部數(shù)據(jù)包裝器的幫助下被訪問。一個(gè)外部數(shù)據(jù)包裝器是一個(gè)庫,它可以與一個(gè)外部數(shù)據(jù)源通訊,并隱藏連接到數(shù)據(jù)源和從它獲取數(shù)據(jù)的細(xì)節(jié)。在contrib
模塊中有一些外部數(shù)據(jù)包裝器,參見附錄 F。其他類型的外部數(shù)據(jù)包裝器可以在第三方產(chǎn)品中找到。如果這些現(xiàn)有的外部數(shù)據(jù)包裝器都不能滿足你的需要,可以自己編寫一個(gè),參見第 56 章。
要訪問外部數(shù)據(jù),我們需要建立一個(gè)外部服務(wù)器對象,它根據(jù)它所支持的外部數(shù)據(jù)包裝器所使用的一組選項(xiàng)定義了如何連接到一個(gè)特定的外部數(shù)據(jù)源。接著我們需要?jiǎng)?chuàng)建一個(gè)或多個(gè)外部表,它們定義了外部數(shù)據(jù)的結(jié)構(gòu)。一個(gè)外部表可以在查詢中像一個(gè)普通表一樣地使用,但是在PostgreSQL服務(wù)器中外部表沒有存儲(chǔ)數(shù)據(jù)。不管使用什么外部數(shù)據(jù)包裝器,PostgreSQL會(huì)要求外部數(shù)據(jù)包裝器從外部數(shù)據(jù)源獲取數(shù)據(jù),或者在更新命令的情況下傳送數(shù)據(jù)到外部數(shù)據(jù)源。
訪問遠(yuǎn)程數(shù)據(jù)可能需要在外部數(shù)據(jù)源的授權(quán)。這些信息通過一個(gè)用戶映射提供,它基于當(dāng)前的PostgreSQL角色提供了附加的數(shù)據(jù)例如用戶名和密碼。
更多信息請見 CREATE FOREIGN DATA WRAPPER、 CREATE SERVER、 CREATE USER MAPPING、 CREATE FOREIGN TABLE、以及 IMPORT FOREIGN SCHEMA。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: