91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PostgreSql數據庫中對象的作用有哪些

發布時間:2020-12-28 14:53:54 來源:億速云 閱讀:324 作者:Leah 欄目:開發技術

這篇文章給大家介紹PostgreSql數據庫中對象的作用有哪些,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

PostgreSql數據庫對象主要有數據庫、表、視圖、索引、schema、函數、觸發器等。PostgreSql提供了information_schema schema,其中包括返回數據庫對象的視圖。如用戶有訪問權限,可以也在pg_catalog schema中查詢表、視圖等對象。

1. 查詢數據庫對象

1.1 表查詢

PostgreSql 表信息可以從information_schema.tables 或 pg_catalog.pg_tables 視圖中查詢:

select * from information_schema.tables;
select * from pg_catalog.pg_tables;

1.2 查詢Schema

獲取用戶當前選擇的schema:

select current_schema();

返回數據庫中所有schema:

select * from information_schema.schemata;
select * from pg_catalog.pg_namespace

1.3 查詢數據庫

查詢當前選擇的數據庫:

select current_database();

返回服務器上所有數據庫:

select * from pg_catalog.pg_database

1.4 查詢視圖

查詢數據庫中所有schema中的所有視圖:

select * from information_schema.views

select * from pg_catalog.pg_views;

1.5 查詢表的列信息

查詢某個表的列信息:

SELECT
	*
FROM
	information_schema.columns
WHERE
	table_name = 'employee'
ORDER BY
	ordinal_position;

1.6 查詢索引信息

查詢數據庫中所有索引信息;

select * from pg_catalog.pg_indexes;

1.6 查詢函數信息

返回數據庫中所有函數。對于用戶定義函數,routine_definition 列會有函數體:

select * from information_schema.routines where routine_type = 'FUNCTION';

1.7 觸發器

查詢數據庫中所有觸發器,action_statemen類別包括觸發器body信息:

select * from information_schema.triggers;

2. 查詢表占用空間

2.1 查詢表占用空間

實際應用中,通常需要表占用磁盤空間情況,我們可以利用系統表實現:

SELECT nspname || '.' || relname AS "relation",
 pg_size_pretty(pg_total_relation_size(C.oid)) AS "total_size"
 FROM pg_class C
 LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
 WHERE nspname NOT IN ('pg_catalog', 'information_schema')
 AND C.relkind <> 'i'
 AND nspname !~ '^pg_toast'
 ORDER BY pg_total_relation_size(C.oid) DESC
 LIMIT 5;

示例輸出:


relationtotal_size
public.snapshots823 MB
public.invoice_items344 MB
public.messages267 MB
public.topics40 MB
public.invoices35 MB

(5 rows)

2.2 查詢數據庫占用空間

SELECT
	pg_database.datname AS "database_name",
	pg_size_pretty(pg_database_size (pg_database.datname)) AS size_in_mb
FROM
	pg_database
ORDER BY
	size_in_mb DESC;

2.3 查詢表的記錄數

可以通過統計系統表進行查詢:

SELECT schemaname,relname,n_live_tup 
FROM pg_stat_user_tables 
ORDER BY n_live_tup DESC
LIMIT 12;

順便說下MySQL對于查詢,讀者可以對比學習:

SELECT table_name, table_rows
FROM information_schema.tables
WHERE table_schema = (SELECT database())
ORDER BY table_rows DESC
LIMIT 12;

4. 系統表和系統視圖

查看數據庫系統表命令:

\dt  pg_*

表名字用途
pg_aggregate聚集函數
pg_am索引訪問方法
pg_amop訪問方法操作符
pg_amproc訪問方法支持過程
pg_attrdef字段缺省值
pg_attribute表的列(也稱為”屬性”或”字段”)
pg_authid認證標識符(角色)
pg_auth_members認證標識符成員關系
pg_autovacuum每個關系一個的自動清理配置參數
pg_cast轉換(數據類型轉換)
pg_class表、索引、序列、視圖(“關系”)
pg_constraint檢查約束、唯一約束、主鍵約束、外鍵約束
pg_conversion編碼轉換信息
pg_database本集群內的數據庫
pg_depend數據庫對象之間的依賴性
pg_description數據庫對象的描述或注釋
pg_index附加的索引信息
pg_inherits表繼承層次
pg_language用于寫函數的語言
pg_largeobject大對象
pg_listener異步通知
pg_namespace模式
pg_opclass索引訪問方法操作符類
pg_operator操作符
pg_pltemplate過程語言使用的模板數據
pg_proc函數和過程
pg_rewrite查詢重寫規則
pg_shdepend在共享對象上的依賴性
pg_shdescription共享對象上的注釋
pg_statistic優化器統計
pg_tablespace這個數據庫集群里面的表空間
pg_trigger觸發器
pg_type數據類型

列出所有pg開頭的系統示圖:

\dv  pg_*



視圖名用途
pg_cursors打開的游標
pg_group數據庫用戶的組
pg_indexes索引
pg_locks當前持有的鎖
pg_prepared_statements預備語句
pg_prepared_xacts預備事務
pg_roles數據庫角色
pg_rules規則
pg_settings參數設置
pg_shadow數據庫用戶
pg_stats規劃器統計
pg_tables
pg_timezone_abbrevs時區縮寫
pg_timezone_names時區名
pg_user數據庫用戶
pg_views視圖

關于PostgreSql數據庫中對象的作用有哪些就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

都昌县| 太康县| 繁峙县| 巫溪县| 揭东县| 余干县| 拜城县| 岱山县| 乌恰县| 静安区| 安塞县| 长海县| 城口县| 福贡县| 桑日县| 灌云县| 新密市| 安乡县| 衡山县| 原阳县| 浠水县| 湖北省| 鄂伦春自治旗| 池州市| 开鲁县| 正蓝旗| 江孜县| 新乡市| 大城县| 云梦县| 黄大仙区| 渑池县| 紫云| 古田县| 阿克陶县| 明溪县| 广东省| 格尔木市| 昌邑市| 永嘉县| 樟树市|