018.PGSQL-pgsql查询库的大小、表的大小

库的大小

1.在postgresql数据库中默认情况下可通过pg_database_size函数加数据库名称的方式来查看数据库的大小
select  pg_database_size('ioc')
select pg_size_pretty(pg_database_size('ioc'))

 

 

表的大小

表的记录数
select relname as TABLE_NAME, reltuples as rowCounts from pg_class where relkind = 'r' and relnamespace = (select oid from pg_namespace where nspname='public') order by rowCounts desc; 



-- 查出所有表(包含索引)并排序
-- 查出所有表(包含索引)并排序
SELECT table_schema , table_name AS table_full_name, pg_size_pretty(pg_total_relation_size('"' || table_schema || '"."' || table_name || '"')) AS size
FROM information_schema.tables  where table_schema in ( 'ioc_dm'  ,'ioc_dw','ioc_ods','ioc_standard','ioc_support','ioc_theme')
ORDER BY
pg_total_relation_size('"' || table_schema || '"."' || table_name || '"') DESC


-- 查出所有表(包含索引)并排序
SELECT table_schema || '.' || table_name AS table_full_name, pg_size_pretty(pg_total_relation_size('"' || table_schema || '"."' || table_name || '"')) AS size
FROM information_schema.tables  where table_schema = 'ioc_dm'  and table_name like '%index%'
ORDER BY
pg_total_relation_size('"' || table_schema || '"."' || table_name || '"') DESC



--数据库中单个表的大小(不包含索引)
select pg_size_pretty(pg_relation_size('表名'));

--查出所有表(包含索引)并排序
SELECT table_schema || '.' || table_name AS table_full_name, pg_size_pretty(pg_total_relation_size('"' || table_schema || '"."' || table_name || '"')) AS size
FROM information_schema.tables
ORDER BY
pg_total_relation_size('"' || table_schema || '"."' || table_name || '"') DESC limit 20

--查出表大小按大小排序并分离data与index
SELECT
table_name,
pg_size_pretty(table_size) AS table_size,
pg_size_pretty(indexes_size) AS indexes_size,
pg_size_pretty(total_size) AS total_size
FROM (
SELECT
table_name,
pg_table_size(table_name) AS table_size,
pg_indexes_size(table_name) AS indexes_size,
pg_total_relation_size(table_name) AS total_size
FROM (
SELECT ('"' || table_schema || '"."' || table_name || '"') AS table_name
FROM information_schema.tables
) AS all_tables
ORDER BY total_size DESC
) AS pretty_sizes

 元命令查看表大小、索引大小

mydb=> \dt
           List of relations
  Schema  |   Name    | Type  | Owner
----------+-----------+-------+--------
 myschema | o_ls_test | table | pguser
(1 row)

mydb=> \dt+ o_ls_test
                      List of relations
  Schema  |   Name    | Type  | Owner  |  Size  | Description
----------+-----------+-------+--------+--------+-------------
 myschema | o_ls_test | table | pguser | 326 MB | 测试表
(1 row)

 
mydb=> \di+ rid_index
                            List of relations
  Schema  |   Name    | Type  | Owner  |   Table   |  Size  | Description
----------+-----------+-------+--------+-----------+--------+-------------
 myschema | rid_index | index | pguser | o_ls_test | 107 MB |

 

posted @ 2020-11-14 09:35  star521  阅读(1766)  评论(0编辑  收藏  举报