PostgreSQL後設資料庫講解-物件(表、索引、函式、序列、檢視…)在哪裡、如何識別、如何求物件定義
標籤
PostgreSQL , pg_stat , 實時質量監控
背景
PostgreSQL中,所有物件的定義都在後設資料庫中,詳見
https://www.postgresql.org/docs/10/static/catalogs.html
除了後設資料庫,還有一些管理函式,如下
https://www.postgresql.org/docs/10/static/functions-admin.html
下面簡單介紹一下後設資料庫的使用。
如何識別物件
1、識別臨時表、UNLOGGED TABLE、臨時表
select relname from pg_class where relpersistence=? and relkind=`r`;
pg_class 的relpersistence用於識別表是什麼表(正常表、不記日誌表、臨時表)。 relkind用於識別是什麼物件類別(表、索引、序列、切片、檢視、物化檢視、複合型別、外部表、分割槽表)。
relpersistence
p = permanent table, u = unlogged table, t = temporary table
relkind
r = ordinary table, i = index, S = sequence, t = TOAST table, v = view, m = materialized view, c = composite type, f = foreign table, p = partitioned table
Greenplum 擴充套件
pg_class.relstorage 用於區分是什麼儲存
h = 堆表(heap)
a = append only row儲存表
c = append only column儲存表
儲存過程
pg_proc
資料庫
pg_database
表空間
pg_tablespace
schema
pg_namespace
使用者
pg_roles
索引介面
pg_am
如何獲取物件定義
使用這些函式介面,可以獲得對應物件的定義。
pg_get_indexdef
pg_get_functiondef
pg_get_triggerdef
pg_get_ruledef
pg_get_viewdef
pg_get_constraintdef
例子
postgres=# select * from pg_get_indexdef(`idx_tbl2_1`::regclass);
pg_get_indexdef
--------------------------------------------------
CREATE INDEX idx_tbl2_1 ON tbl2 USING btree (id)
(1 row)
參考
https://www.postgresql.org/docs/10/static/catalogs.html
https://www.postgresql.org/docs/10/static/functions-admin.html
相關文章
- 資料庫物件、表空間、表、檢視、索引、同義詞序列等的字典資料庫物件索引
- oracle學習筆記(十四) 資料庫物件 索引 檢視 序列 同義詞Oracle筆記資料庫物件索引
- 定義函式物件 (轉)函式物件
- 後設資料值物件如何載入物件
- 檢視資料庫中的物件資料庫物件
- 資料型別與函式索引-PostgreSQL篇資料型別函式索引SQL
- postgresql如何檢視所有表SQL
- PostgreSQL如何設定主鍵序列?SQL
- 如何檢視失效的物件物件
- Oracle 12.2使用物件資料型別來重定義表Oracle物件資料型別
- 資料庫開發---常用物件-函式資料庫物件函式
- 如何優化資料庫物件優化資料庫物件
- sql server檢視函式定義SQLServer函式
- MySQL資料庫檢視:檢視定義、建立檢視、修改檢視MySql資料庫
- PHP 函式庫精講之類與物件PHP函式物件
- Oracle檢視錶、儲存過程、觸發器、函式等物件定義語句Oracle儲存過程觸發器函式物件
- js物件導向程式設計:如何定義常量?JS物件程式設計
- oracle 建立表,序列,索引,檢視,觸發器,函式,儲存過程,定時器,包體Oracle索引觸發器函式儲存過程定時器
- 【原創】匯出所有物件(表、索引、檢視、同義詞)的建立指令碼物件索引指令碼
- Serverless 解惑——函式計算如何訪問 PostgreSQL 資料庫Server函式SQL資料庫
- 如何在MySQL後設資料庫裡檢視索引,約束,觸發器,儲存過程和事件的相關資訊MySql資料庫索引觸發器儲存過程事件
- 如何在函式內部定義函式?函式
- python如何定義函式Python函式
- JavaScript 表單、物件、函式JavaScript物件函式
- YApi 新版如何檢視 http 請求資料APIHTTP
- 檢視主資料庫的物件中是否使用了不支援的資料型別資料庫物件資料型別
- PostgreSQL 視窗函式 ( Window Functions ) 如何使用?SQL函式Function
- 使用資料字典檢視管理物件物件
- 請問Structs如何捕捉資料庫中prop類的表物件Struct資料庫物件
- 檢視ORACLE中鎖定物件Oracle物件
- 如何檢視某一表空間的資料檔案都分佈了哪些資料物件薦物件
- PostgreSQL物件許可權如何在後設資料中獲取-許可權解讀、定製化匯出許可權SQL物件
- 如何使用 RMAN 識別資料庫中損壞的物件 (文件 ID 1623348.1)資料庫物件
- 例項物件和函式物件的區別物件函式
- php禁用函式設定及檢視方法詳解PHP函式
- DBeave如何檢視資料庫表的DDL建立語句資料庫
- mongodb 如何檢視索引MongoDB索引
- 函式物件、物件、原型函式物件原型