我被分配了在課堂上創建一個簡單的資料庫管理系統的任務,所以我查找了 Postgres 并注意到 CLI 工具 (psql) 有命令(\d 和 \l)輸出有關資料庫和表列的資訊表格的形式就像你做 SELECT 一樣。所以我的問題是如果 Postgres 管理系統表內的用戶表?這樣,當您執行 \d 或 \l 操作時,您實際上是在對這些系統表執行 SELECT 操作。這只是為了了解這是否是管理資料庫中表的好方法,并且僅使用常規資料結構(如串列)。
uj5u.com熱心網友回復:
確實如此。您可以運行 psql-E以查看它正在使用的查詢。
然后查看在線手冊 要搜索的專案是“系統目錄”和“INFORMATION_SCHEMA”。后者是描述資料庫模式的標準方式,主要適用于不同的 RDBMS。
uj5u.com熱心網友回復:
是的,Postgres 使用它創建的表來管理您創建的表。
檔案中有整整一章的解釋。去參考:
系統目錄是關系資料庫管理系統存盤模式元資料的地方,例如有關表和列的資訊以及內部簿記資訊。PostgreSQL 的系統目錄是常規表。
如另一個答案中所述,SQL 標準要求在標準中定義的某些表結構中提供元資料。這些必須包含在一個完全命名為 的模式中INFORMATION_SCHEMA。Postgres 提供該模式及其規定的表,但將它們實作為實際系統表的視圖。
您可以訪問元資料,例如獲取您定義的所有表的串列,或設定您在特定表中定義的所有列的串列。為此,請SELECT像使用任何其他查詢一樣在 SQL 中執行查詢。
- 對于可移植性,意思是撰寫除 Postgres 外還適用于其他資料庫系統的代碼,查詢
INFORMATION_SCHEMA. - 有關 SQL 標準不需要的其他詳細資訊以及 Postgres 特定資訊,請查詢名稱均以
pg_.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/394753.html
標籤:数据库 PostgreSQL的
