您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“怎么查看PostgreSQL數據庫中所有表”,內容詳細,步驟清晰,細節處理妥當,希望這篇“怎么查看PostgreSQL數據庫中所有表”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
作為曾經干過運維的我來說,或許對大部分運維人員來說,不能依靠管理工具來操作數據庫,如pgAdmin,經常遠程登錄到某一臺數據庫服務器,使用命令行的方式查詢數據庫中的表。
獲取當前db中所有的表信息。
select * from pg_tables;
用戶自定義的表,如果未經特殊處理,默認都是放在名為public的schema下
select tablename from pg_tables where schemaname='public'
postgres=# select tablename from pg_tables where schemaname='public'; tablename ----------- tb_test (1 行記錄)
想要進一步查看表結構,可以使用\d 表名
postgres=# \d tb_test; 數據表 "public.tb_test" 欄位 | 類型 | Collation | Nullable | Default ------+----------------+-----------+----------+--------- id | integer | | | name | character(100) | | |
而且如果不是大批量的進行CRUD,直接在命令行中操作也是鍛煉你的語法水平的時候
postgres=# insert into tb_test(id,name) values(1,'huangbaokang'); INSERT 0 1 postgres=# select * from tb_test; id | name ----+----------------------------------------------------------------- --------------------------- 1 | huangbaokang (1 行記錄)
一: 查詢表空間大小
select pg_size_pretty(pg_tablespace_size('pg_default'));
二: 查詢所有數據庫大小
select pg_database.datname, pg_size_pretty(pg_database_size(pg_database.datname)) AS size from pg_databas;
三: 查詢指定索引大小
select pg_size_pretty(pg_relation_size('索引字段名'));
四: 查詢指定表所有索引大小
select pg_size_pretty(pg_indexes_size('表名'));
五: 查詢指定模式里所有的索引大小,按從大到小的順序排列
select relname,indexrelname, pg_size_pretty(pg_relation_size(relid)) from pg_stat_user_indexes where schemaname='模式名' order by pg_relation_size(relid) desc;
六: 查詢指定表大小(僅僅指定表數據)
select pg_size_pretty(pg_relation_size('表名'));
七: 查詢指定表總大小(包括表數據與索引)
select pg_size_pretty(pg_total_relation_size('表名'));
八: 查詢指定模式里面所有表大小(僅僅指定表數據,從大到小)
select relname, pg_size_pretty(pg_relation_size(relid)) from pg_stat_user_tables where schemaname='模式名' order by pg_relation_size(relid) desc;
九:查詢指定schema里面所有表數據大小,總索引大小,總大小,行數
SELECT table_size.relname 表名, pg_size_pretty ( pg_relation_size ( relid ) ) 表數據大小, pg_size_pretty ( pg_indexes_size ( relid ) ) 表總索引大小, pg_size_pretty ( pg_total_relation_size ( relid ) ) 表總大小, 表行數 FROM pg_stat_user_tables table_size LEFT JOIN ( SELECT relname, reltuples :: DECIMAL ( 19, 0 ) 表行數 FROM pg_class r JOIN pg_namespace n ON ( relnamespace = n.oid ) WHERE relkind = 'r' AND n.nspname = '模式名' ) table_num ON table_num.relname = table_size.relname WHERE schemaname = '模式名' ORDER BY pg_relation_size ( relid ) DESC;
讀到這里,這篇“怎么查看PostgreSQL數據庫中所有表”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。