PostgreSQL 信息模式

2021-09-02 15:41 更新

信息模式由一組視圖構(gòu)成,它們包含定義在當(dāng)前數(shù)據(jù)庫中對象的信息。信息模式以 SQL 標(biāo)準(zhǔn)定義,因此能夠被移植并且保持穩(wěn)定 — 系統(tǒng)目錄則不同,它們是與PostgreSQL相關(guān)的并且是為了實(shí)現(xiàn)的考慮而建模的。不過,信息模式視圖不包含與PostgreSQL-相關(guān)特性有關(guān)的信息。要咨詢那些信息你需要查詢系統(tǒng)目錄或其他PostgreSQL-相關(guān)視圖。

注意

當(dāng)在數(shù)據(jù)庫中查詢約束信息時,一個期望返回一行的標(biāo)準(zhǔn)兼容的查詢可能返回多行。這是因?yàn)?SQL 標(biāo)準(zhǔn)要求約束名在一個模式中唯一,但是PostgreSQL并不強(qiáng)制這種限制。PostgreSQL自動產(chǎn)生的約束名避免在相同的模式中重復(fù),但是用戶能夠指定這種重復(fù)的名稱。

這個問題可能在查詢信息模式視圖時出現(xiàn),例如check_constraint_routine_usagecheck_constraints、domain_constraintsreferential_constraints。一些其他視圖也有相似的問題,但是它們包含了表名來幫助區(qū)分重復(fù)行,例如 constraint_column_usage、 constraint_table_usage、table_constraints。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號