PostgreSQL数据库的示例代码视图,索引,表和表空间的大小
首先,简要介绍PostgreSQL提供了多系统管理功能见表,大小指数、表空间和数据库。下面是详细的描述。
两。数据库对象的大小函数
函数名
返回类型
描述
pg_column_size(任何)
int
存储指定值所需的字节数(可能是压缩的)。
pg_database_size(OID)
bigint
由数据库指定OID使用的磁盘空间
pg_database_size(名称)
bigint
名为数据库的数据库使用的磁盘空间
pg_indexes_size(regclass)
bigint
使用的总磁盘空间索引表的表空间或表名称与指定的表关联
pg_relation_size(关系regclass,叉文本)
bigint
指定OID或名称的表或索引,通过指定的叉车使用的磁盘空间(主','fsm ',or'vm)
pg_relation_size(关系regclass)
bigint
pg_relation_size的缩写(…,主要的)
pg_size_pretty(BigInt)
文本
将表示为64位整数的字节大小转换为
pg_size_pretty(数字)
文本
将字节数转换成可读的大小单位
pg_table_size(regclass)
bigint
指定的表或表名称使用OID的磁盘空间,删除索引(但包括面包、自由空间的映射,和视觉映射)
pg_tablespace_size(OID)
bigint
用于指定OID表空间的磁盘空间
pg_tablespace_size(名称)
bigint
指定名称的表空间中使用的磁盘空间。
pg_total_relation_size(regclass)
bigint
指定的表或表名使用OID的总磁盘空间,包括所有的指标数据和吐司
三。实例说明
3.1查看存储指定值所需的字节数。
复制代码代码如下所示:
戴维= #选择pg_column_size(1);
pg_column_size
----
(1行)
戴维= #选择pg_column_size(10000);
pg_column_size
----
(1行)
戴维= #选择pg_column_size('david);
pg_column_size
----
(1行)
戴维= #选择pg_column_size(你好,世界);
pg_column_size
----
(1行)
戴维= #选择pg_column_size('2013-04-18 15:17:21.622885 + 08);
pg_column_size
----
(1行)
戴维= #选择pg_column_size(中国的);
pg_column_size
----
(1行)
戴维= #
3.2查看数据库的大小
查看原始数据
复制代码代码如下所示:
戴维= # D试验
表公共测试
柱型改性剂| |
----------- + ----------------------- + -----------
ID的整数| |
名称性质不同(20)| |
性别| |布尔
join_date日期| |
(4)| |系特征
指标:
idx_join_date_test树(join_date)
idx_test树(ID)
戴维= # select count(1)从测试;
计数
—
(1行)
戴维= #
查看戴维数据库的大小。
复制代码代码如下所示:
戴维= #选择pg_database_size('david);
pg_database_size
C
(1行)
戴维= #
查看所有数据库大小
复制代码代码如下所示:
戴维= #选择pg_database.datname,pg_database_size(pg_database。datname)尺寸从pg_database;
datname大小|
----------- + -------------
template0 | 6513156
Postgres | 6657144
JBoss | 6521348
错误| 6521348
戴维| 190534776
bmcv3 | 28147135608
文件| 10990712
|模板6521348
(8行)
戴维= #
它看起来很长,所以不容易读懂。
3.3以人性化方式显示尺寸
复制代码代码如下所示:
戴维= #选择pg_size_pretty(pg_database_size('david '));
pg_size_pretty
----
MB
(1行)
戴维= #
3.4查看单个索引的大小
复制代码代码如下所示:
戴维= #选择pg_relation_size('idx_test);
Pg_relation_size
C
(1行)
戴维= #选择pg_size_pretty(pg_relation_size('idx_test '));
pg_size_pretty
----
MB
(1行)
戴维= #
复制代码代码如下所示:
戴维= #选择pg_size_pretty(pg_relation_size('idx_join_date_test '));
pg_size_pretty
----
MB
(1行)
戴维= #
3.5查看指定表中的所有索引大小
复制代码代码如下所示:
戴维= #选择pg_indexes_size(测试);
pg_indexes_size
一轮又一轮
(1行)
戴维= #选择pg_size_pretty(pg_indexes_size(测试));
pg_size_pretty
----
MB
(1行)
戴维= #
对idx_test和idx_join_date_test两指数的大小总计达几乎等于上述pg_indexes_size索引大小()查询。
3.6查看指定模式中所有索引的大小,从大到小依次排列。
复制代码代码如下所示:
戴维= # SELECT * FROM pg_namespace;
Nspname nspowner nspacl | |
-------------------- + ---------- + -------------------------------------
pg_toast | 10 |
pg_temp_1 | 10 |
pg_toast_temp_1 | 10 |
pg_catalog | 10 | { Postgres = UC / Postgres = U / Postgres }
information_schema | 10 | { Postgres = UC / Postgres = U / Postgres }
公共| 10 | { Postgres = UC / Postgres = UC / Postgres }
(6行)
戴维= #选择indexrelname,pg_size_pretty(pg_relation_size(relid))从pg_stat_user_indexes SchemaName = 'public'order哪里,哪里(());
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字节
track_pkey | 8192字节
tbl_partition_201211_joindate | 8192字节
tbl_partition_201212_joindate | 8192字节
tbl_partition_201301_joindate | 8192字节
tbl_partition_201302_joindate | 8192字节
tbl_partition_201303_joindate | 8192字节
customer_pkey | 8192字节
album_pkey | 8192字节
item_pkey | 8192字节
tbl_partition_201304_joindate | 8192字节
tbl_partition_201307_joindate | 8192字节
tbl_partition_201305_joindate | 0字节
tbl_partition_201306_joindate | 0字节
(20行)
戴维= #
3.7查看指定表的大小。
复制代码代码如下所示:
戴维= #选择pg_relation_size(测试);
pg_relation_size
C
(1行)
戴维= #选择pg_size_pretty(pg_relation_size(测试));
pg_size_pretty
----
MB
(1行)
戴维= #
使用pg_table_size()函数来查看
复制代码代码如下所示:
戴维= #选择pg_table_size(测试);
pg_table_size
—
(1行)
戴维= #选择pg_size_pretty(pg_table_size(测试));
pg_size_pretty
----
MB
(1行)
戴维= #
3.8查看指定表的总大小。
复制代码代码如下所示:
戴维= #选择pg_total_relation_size(测试);
pg_total_relation_size
------------------------
(1行)
戴维= #选择pg_size_pretty(pg_total_relation_size(测试));
pg_size_pretty
----
MB
(1行)
戴维= #
3.9查看指定模式中的所有表大小,从大到小排列。
复制代码代码如下所示:
戴维= #选择relname,pg_size_pretty(pg_relation_size(relid))从pg_stat_user_tables SchemaName = 'public'order哪里,哪里(());
relname pg_size_pretty |
------------------------------- + ----------------
试验| 91 MB
| 1424 KB的数据
市| 256 KB
countrylanguage | 56 KB
国家| 40 KB
testcount | 8192字节
tbl_partition_201302 | 8192字节
tbl_partition_201303 | 8192字节
人| 8192字节
客户| 8192字节
american_state | 8192字节
tbl_david | 8192字节
EMP | 8192字节
tbl_partition_201212 | 8192字节
tbl_partition_201304 | 8192字节
tbl_partition_error_join_date | 8192字节
tbl_partition_201211 | 8192字节
专辑| 8192字节
tbl_partition_201307 | 8192字节
tbl_xulie | 8192字节
tbl_partition_201301 | 8192字节
销售| 8192字节
项目| 8192字节
轨道| 8192字节
tbl_partition_201306 | 0字节
tbl_partition | 0字节
tbl_partition_201305 | 0字节
2 | 0字节
(28行)
戴维= #
3.10查看表空间的大小
复制代码代码如下所示:
戴维= #选择spcname从pg_tablespace;
spcname
—
pg_default
pg_global
(2行)
戴维= #选择pg_tablespace_size('pg_default);
pg_tablespace_size
雇佣
(1行)
戴维= #选择pg_size_pretty(pg_tablespace_size('pg_default '));
pg_size_pretty
----
GB
(1行)
戴维= #
另一种观看方式:
复制代码代码如下所示:
戴维= #选择pg_tablespace_size('pg_default ') / 1024 / 1024尺寸;
尺寸M
。
(1行)
戴维= #选择pg_tablespace_size('pg_default ') / 1024 / 1024 / 1024大小G ;
大小G
。
(1行)
戴维= #