?
Dieses Dokument verwendet PHP-Handbuch für chinesische Websites Freigeben
PostgreSQL可擴展的原因是它的操作是由表驅(qū)動的。如果你熟悉標準的關系數(shù)據(jù)庫系統(tǒng), 你就知道它們把數(shù)據(jù)庫、表、字段等信息存儲在一個被稱為系統(tǒng)表(有些系統(tǒng)稱為數(shù)據(jù)字典)的地方。 這些表與其它表沒什么不同,只不過DBMS把它自己內(nèi)部的信息存放于此罷了。 PostgreSQL與其它系統(tǒng)的不同之處在于它在系統(tǒng)表里存儲了更多的信息:除了關于表和列/字段的信息之外, 還有關于它們的類型、函數(shù)、訪問方式之類的信息。這些表可以被用戶修改, 而且由于PostgreSQL的內(nèi)部操作是以這些表為基礎的,這就意味著PostgreSQL可以被用戶進行擴展。 相比之下,傳統(tǒng)的數(shù)據(jù)庫系統(tǒng)只能通過修改源代碼或加載由DBMS供應商提供的特殊模塊來擴展。
PostgreSQL還可以通過動態(tài)加載的方法與用戶書寫的代碼結合在一起。 也就是說,用戶可以把一個目標代碼文件(通常是共享庫)聲明為一個新類型或函數(shù)的實現(xiàn), 這時PostgreSQL將根據(jù)需要加載它們。用SQL書寫的代碼甚至更容易加入到服務器中去。 這種可以"在線"更改操作的能力使PostgreSQL 特別適合于新應用和新存儲結構的快速定型。