如何查看PostgreSQL數(shù)據(jù)庫中所有表
查看PostgreSQL數(shù)據(jù)庫中所有表
作為曾經(jīng)干過運維的我來說,或許對大部分運維人員來說,不能依靠管理工具來操作數(shù)據(jù)庫,如pgAdmin,經(jīng)常遠(yuǎn)程登錄到某一臺數(shù)據(jù)庫服務(wù)器,使用命令行的方式查詢數(shù)據(jù)庫中的表。
獲取當(dāng)前db中所有的表信息。
select * from pg_tables;
用戶自定義的表,如果未經(jīng)特殊處理,默認(rèn)都是放在名為public的schema下
select tablename from pg_tables where schemaname='public'
postgres=# select tablename from pg_tables where schemaname='public'; ?tablename ----------- ?tb_test (1 行記錄)
想要進(jìn)一步查看表結(jié)構(gòu),可以使用\d 表名
postgres=# \d tb_test; ? ? ? ? ? ? ? ? 數(shù)據(jù)表 "public.tb_test" ?欄位 | ? ? ?類型 ? ? ?| Collation | Nullable | Default ------+----------------+-----------+----------+--------- ?id ? | integer ? ? ? ?| ? ? ? ? ? | ? ? ? ? ?| ?name | character(100) | ? ? ? ? ? | ? ? ? ? ?|
而且如果不是大批量的進(jìn)行CRUD,直接在命令行中操作也是鍛煉你的語法水平的時候
postgres=# insert into tb_test(id,name) values(1,'huangbaokang'); INSERT 0 1 postgres=# select * from tb_test; ?id | ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? name ----+----------------------------------------------------------------- --------------------------- ? 1 | huangbaokang (1 行記錄)
PostgreSQL數(shù)據(jù)庫表空間,索引,表大小查詢
Postgresql 數(shù)據(jù)庫
一: 查詢表空間大小
select pg_size_pretty(pg_tablespace_size('pg_default'));
二: 查詢所有數(shù)據(jù)庫大小
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;
六: 查詢指定表大?。▋H僅指定表數(shù)據(jù))
select pg_size_pretty(pg_relation_size('表名'));
七: 查詢指定表總大小(包括表數(shù)據(jù)與索引)
select pg_size_pretty(pg_total_relation_size('表名'));
八: 查詢指定模式里面所有表大?。▋H僅指定表數(shù)據(jù),從大到小)
select relname, pg_size_pretty(pg_relation_size(relid)) from pg_stat_user_tables where schemaname='模式名' order by pg_relation_size(relid) desc;
九:查詢指定schema里面所有表數(shù)據(jù)大小,總索引大小,總大小,行數(shù)
SELECT ? ? table_size.relname 表名, ? ? pg_size_pretty ( pg_relation_size ( relid ) ) 表數(shù)據(jù)大小, ? ? pg_size_pretty ( pg_indexes_size ( relid ) ) 表總索引大小, ? ? pg_size_pretty ( pg_total_relation_size ( relid ) ) 表總大小, ? ? 表行數(shù)? FROM pg_stat_user_tables table_size ? ? LEFT JOIN ( ? ? ? ? SELECT ? ? ? ? ? ? relname, ? ? ? ? ? ? reltuples :: DECIMAL ( 19, 0 ) 表行數(shù)? ? ? ? ? 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;
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解如何優(yōu)化在PostgreSQL中對于日期范圍的查詢
在 PostgreSQL 中,處理日期范圍的查詢是常見的操作,然而,如果不進(jìn)行適當(dāng)?shù)膬?yōu)化,這些查詢可能會導(dǎo)致性能問題,特別是在處理大型數(shù)據(jù)集時,本文章將詳細(xì)討論如何優(yōu)化在 PostgreSQL 中對于日期范圍的查詢,需要的朋友可以參考下2024-07-07如何在PostgreSQL中創(chuàng)建只讀權(quán)限和讀寫權(quán)限的賬號
一個良好的賬號管理策略對于數(shù)據(jù)庫的安全和數(shù)據(jù)的完整性至關(guān)重要,通過為不同的用戶設(shè)置適當(dāng)?shù)臋?quán)限,可以確保他們只能訪問他們需要的數(shù)據(jù),并防止對敏感數(shù)據(jù)的意外或惡意訪問,本文介紹在 PostgreSQL中創(chuàng)建只讀權(quán)限和讀寫權(quán)限的賬號的步驟和方法,感興趣的朋友一起看看吧2023-08-08PostgreSQL設(shè)置主鍵從1開始自增的詳細(xì)步驟
和MySQL不同,在 PostgreSQL 中,設(shè)置主鍵從1開始自增并重新開始自增是通過序列(sequence)來實現(xiàn)的,本文給大家分享PostgreSQL設(shè)置主鍵從1開始自增的詳細(xì)步驟,感興趣的朋友一起看看吧2023-11-11PostgreSQL數(shù)據(jù)庫實現(xiàn)公網(wǎng)遠(yuǎn)程連接的操作步驟
PostgreSQL是一個功能非常強(qiáng)大的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),本文呢將簡單幾步通過cpolar 內(nèi)網(wǎng)穿透工具即可現(xiàn)實本地postgreSQL 遠(yuǎn)程訪問,需要的朋友可以參考下2023-09-09PostgreSQL處理數(shù)據(jù)并發(fā)更新沖突的解決方法
在數(shù)據(jù)庫并發(fā)操作環(huán)境中,多個事務(wù)同時嘗試更新相同的數(shù)據(jù)可能導(dǎo)致沖突,PostgreSQL?提供了一系列機(jī)制來處理這些并發(fā)更新沖突,以確保數(shù)據(jù)的一致性和完整性,所以本文給大家介紹了PostgreSQL處理數(shù)據(jù)并發(fā)更新沖突的解決方法,需要的朋友可以參考下2024-07-07