函數(shù)名 | 返回類型 | 描述 |
pg_column_size(any) | int | 存儲(chǔ)一個(gè)指定的數(shù)值需要的字節(jié)數(shù)(可能壓縮過) |
pg_database_size(oid) | bigint | 指定OID的數(shù)據(jù)庫使用的磁盤空間 |
pg_database_size(name) | bigint | 指定名稱的數(shù)據(jù)庫使用的磁盤空間 |
pg_indexes_size(regclass) | bigint | 關(guān)聯(lián)指定表OID或表名的表索引的使用總磁盤空間 |
pg_relation_size(relation regclass, fork text) | bigint | 指定OID或名的表或索引,通過指定fork('main', 'fsm' 或'vm')所使用的磁盤空間 |
pg_relation_size(relation regclass) | bigint | pg_relation_size(..., 'main')的縮寫 |
pg_size_pretty(bigint) | text | Converts a size in bytes expressed as a 64-bit integer into a human-readable format with size units |
pg_size_pretty(numeric) | text | 把以字節(jié)計(jì)算的數(shù)值轉(zhuǎn)換成一個(gè)人類易讀的尺寸單位 |
pg_table_size(regclass) | bigint | 指定表OID或表名的表使用的磁盤空間,除去索引(但是包含TOAST,自由空間映射和可視映射) |
pg_tablespace_size(oid) | bigint | 指定OID的表空間使用的磁盤空間 |
pg_tablespace_size(name) | bigint | 指定名稱的表空間使用的磁盤空間 |
pg_total_relation_size(regclass) | bigint | 指定表OID或表名使用的總磁盤空間,包括所有索引和TOAST數(shù)據(jù) |
三、實(shí)例講解
3.1 查看存儲(chǔ)一個(gè)指定的數(shù)值需要的字節(jié)數(shù)
david=# select pg_column_size(10000);
pg_column_size
----------------
(1 row)
david=# select pg_column_size('david');
pg_column_size
----------------
(1 row)
david=# select pg_column_size('hello,world');
pg_column_size
----------------
(1 row)
david=# select pg_column_size('2013-04-18 15:17:21.622885+08');
pg_column_size
----------------
(1 row)
david=# select pg_column_size('中國');
pg_column_size
----------------
(1 row)
david=#
3.2 查看數(shù)據(jù)庫大小
查看原始數(shù)據(jù)
david=# select count(1) from test;
count
---------
(1 row)
david=#
查看david 數(shù)據(jù)庫大小
david=#
查看所有數(shù)據(jù)庫大小
david=#
這樣查出來的結(jié)果,看上去太長了,不太容易讀數(shù)。
3.3 以人性化的方式顯示大小
david=#
3.4 查看單索引大小
david=# select pg_size_pretty(pg_relation_size('idx_test'));
pg_size_pretty
----------------
MB
(1 row)
david=#
david=#
3.5 查看指定表中所有索引大小
david=# select pg_size_pretty(pg_indexes_size('test'));
pg_size_pretty
----------------
MB
(1 row)
david=#
idx_test 和idx_join_date_test 兩個(gè)索引大小加起來差不多等于上面pg_indexes_size() 查詢出來的索引大小。
3.6 查看指定schema 里所有的索引大小,按從大到小的順序排列。
david=# select indexrelname, pg_size_pretty(pg_relation_size(relid)) from pg_stat_user_indexes where schemaname='public' order by pg_relation_size(relid) desc;
indexrelname | pg_size_pretty
-------------------------------+----------------
idx_join_date_test | 91 MB
idx_test | 91 MB
testtable_idx | 1424 kB
city_pkey | 256 kB
city11 | 256 kB
countrylanguage_pkey | 56 kB
sale_pkey | 8192 bytes
track_pkey | 8192 bytes
tbl_partition_201211_joindate | 8192 bytes
tbl_partition_201212_joindate | 8192 bytes
tbl_partition_201301_joindate | 8192 bytes
tbl_partition_201302_joindate | 8192 bytes
tbl_partition_201303_joindate | 8192 bytes
customer_pkey | 8192 bytes
album_pkey | 8192 bytes
item_pkey | 8192 bytes
tbl_partition_201304_joindate | 8192 bytes
tbl_partition_201307_joindate | 8192 bytes
tbl_partition_201305_joindate | 0 bytes
tbl_partition_201306_joindate | 0 bytes
(20 rows)
david=#
3.7 查看指定表大小
david=# select pg_size_pretty(pg_relation_size('test'));
pg_size_pretty
----------------
MB
(1 row)
david=#
使用pg_table_size() 函數(shù)查看
david=# select pg_size_pretty(pg_table_size('test'));
pg_size_pretty
----------------
MB
(1 row)
david=#
3.8 查看指定表的總大小
david=# select pg_size_pretty(pg_total_relation_size('test'));
pg_size_pretty
----------------
MB
(1 row)
david=#
3.9 查看指定schema 里所有的表大小,按從大到小的順序排列。
david=#
3.10 查看表空間大小
david=# select pg_tablespace_size('pg_default');
pg_tablespace_size
--------------------
(1 row)
david=# select pg_size_pretty(pg_tablespace_size('pg_default'));
pg_size_pretty
----------------
GB
(1 row)
david=#
另一種查看方法:
david=# select pg_tablespace_size('pg_default')/1024/1024/1024 as "SIZE G";
SIZE G
--------
(1 row)
david=#
標(biāo)簽:楚雄 菏澤 池州 安順 黃石 呼倫貝爾 白山 舟山
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PostgreSQL 查看數(shù)據(jù)庫,索引,表,表空間大小的示例代碼》,本文關(guān)鍵詞 PostgreSQL,查看,數(shù)據(jù)庫,索引,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。