使用PostgreSQL探索数据库、表、索引、表空间及其大小

发表时间: 2019-08-06 00:02

概述

今天主要分享一下postgresql怎么去查看数据库,表,索引,表空间以及大小,适合平时PG运维的朋友。


1、查看数据库

postgres=# \l --查看所有数据库postgres=# select pg_database_size('hwb'); --查看单个数据库的大小postgres=# select pg_database.datname, pg_database_size(pg_database.datname) AS size from pg_database; --查看所有数据库的大小postgres=# select pg_size_pretty(pg_database_size('hwb')); --以KB,MB,GB的方式来查看数据库大小


2、查看表

postgres=# \d --查看当前数据库下所有表postgres=# \d test --查看test表定义postgres=# select pg_relation_size('test'); --查看test表大小postgres=# select pg_size_pretty(pg_relation_size('test')); --以KB,MB,GB的方式来查看表大小postgres=# select pg_size_pretty(pg_total_relation_size('test')); --查看表的总大小,包括索引大小


3、查看索引

postgres=# \di --查看当前数据库所有索引postgres=# select pg_size_pretty(pg_relation_size('parent_pkey')); --查看单个索引大小

4、查看表空间,以及大小

postgres=# select spcname from pg_tablespace; --查看所有表空间postgres=# select pg_size_pretty(pg_tablespace_size('pg_default')); --查看表空间大小


后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~