数据库对象尺寸函数 数据库对象尺寸函数计算数据库对象使用的实际磁盘空间。 pg_column_size(any) 描述:存储一个指定的数值需要的字节数(可能压缩过) 。 返回值类型:int 备注:pg_column_size 显示用于存储某个独立数据值的空间。 gbase=# SELECT pg_column_size(1); pg_column_size ---------------- 4 (1 row) pg_database_size(oid) 描述:指定OID 代表的数据库使用的磁盘空间。 返回值类型:bigint pg_database_size(name) 描述:指定名称的数据库使用的磁盘空间。 返回值类型:bigint 备注:pg_database_size 接受一个数据库的OID 或者名称,然后返回该对象使用的全部 磁盘空间。 GBase 8c SQL 参考手册 南大通用数据技术股份有限公司 450 示例: gbase=# SELECT pg_database_size('postgres'); pg_database_size ------------------ 30840684 (1 row) pg_relation_size(oid) 描述:指定OID 代表的表或者索引所使用的磁盘空间。 返回值类型:bigint get_db_source_datasize() 描述:估算当前数据库非压缩态的数据总容量。 返回值类型:bigint 备注: (1)调用该函数前需要做analyze; (2)通过估算列存的压缩率计算非压缩态的 数据总容量。 示例: gbase=# analyze; ANALYZE gbase=# select get_db_source_datasize(); get_db_source_datasize ------------------------ 31029100 (1 row) pg_relation_size(text) 描述:指定名称的表或者索引使用的磁盘空间。表名称可以用模式名修饰。 返回值类型:bigint pg_relation_size(relation regclass, fork text) 描述:指定表或索引的指定分叉树('main','fsm'或'vm')使用的磁盘空间。 返回值类型:bigint GBase 8c SQL 参考手册 南大通用数据技术股份有限公司 451 pg_relation_size(relation regclass) 描述:pg_relation_size(…, 'main')的简写。 返回值类型:bigint 备注:pg_relation_size 接受一个表、索引、压缩表的OID 或者名称,然后返回它们的 字节大小。 pg_partition_size(oid,oid) 描述:指定OID 代表的分区使用的磁盘空间。其中,第一个oid 为表的OID,第二个 oid 为分区的OID。 返回值类型:bigint pg_partition_size(text, text) 描述:指定名称的分区使用的磁盘空间。其中,第一个text 为表名,第二个text 为分区 名。 返回值类型:bigint pg_partition_indexes_size(oid,oid) 描述:指定OID 代表的分区的索引使用的磁盘空间。其中,第一个oid 为表的OID, 第二个oid 为分区的OID。 返回值类型:bigint pg_partition_indexes_size(text,text) 描述:指定名称的分区的索引使用的磁盘空间。其中,第一个text 为表名,第二个text 为分区名。 返回值类型:bigint pg_indexes_size(regclass) 描述:附加到指定表的索引使用的总磁盘空间。 GBase 8c SQL 参考手册 南大通用数据技术股份有限公司 452 返回值类型:bigint pg_size_pretty(bigint) 描述:将以64 位整数表示的字节值转换为具有单位的易读格式。 返回值类型:text pg_size_pretty(numeric) 描述:将以数值表示的字节值转换为具有单位的易读格式。 返回值类型:text 备注:pg_size_pretty 用于把其他函数的结果格式化成一种易读的格式,可以根据情况 使用KB 、MB 、GB 、TB。 pg_table_size(regclass) 描述:指定的表使用的磁盘空间,不计索引(但是包含TOAST,自由空间映射和可见 性映射) 。 返回值类型:bigint pg_tablespace_size(oid) 描述:指定OID 代表的表空间使用的磁盘空间。 返回值类型:bigint pg_tablespace_size(name) 描述:指定名称的表空间使用的磁盘空间。 返回值类型:bigint 备注:pg_tablespace_size 接受一个数据库的OID 或者名称,然后返回该对象使用的全 部磁盘空间。 pg_total_relation_size(oid) 描述:指定OID 代表的表使用的磁盘空间,包括索引和压缩数据。 GBase 8c SQL 参考手册 南大通用数据技术股份有限公司 453 返回值类型:bigint pg_total_relation_size(regclass) 描述:指定的表使用的总磁盘空间,包括所有的索引和TOAST 数据。 返回值类型:bigint pg_total_relation_size(text) 描述:指定名称的表所使用的全部磁盘空间, 包括索引和压缩数据。 表名称可以用模式 名修饰。 返回值类型:bigint 备注:pg_total_relation_size 接受一个表或者一个压缩表的OID 或者名称,然后返回以 字节计的数据和所有相关的索引和压缩表的尺寸。 datalength(any) 描述:计算一个指定的数据需要的字节数(不考虑数据的管理空间和数据压缩、数据类 型转换等情况) 。 返回值类型:int 备注:datalength 用于计算某个独立数据值的空间。 示例: gbase=# SELECT datalength(1); datalength ------------ 4 (1 row) 目前支持的数据类型及计算方式见表5-25。 表5-25 数据类型及计算方式 数据类型 存储空间 值类型 整数类型 TINYINT 1 GBase 8c SQL 参考手册 南大通用数据技术股份有限公司 454 SMALLINT 2 INTEGER 4 BINARY_INTEGER 4 BIGINT 8 任意精度型 DECIMAL 每4 位十进制数占两个字节,小数 点前后数字分别计算 NUMERIC 每4 位十进制数占两个字节,小数 点前后数字分别计算 NUMBER 每4 位十进制数占两个字节,小数 点前后数字分别计算 序列整型 SMALLSERIAL 2 SERIAL 4 LARGESERIAL 8 BIGSERIAL 每4 位十进制数占两个字节,小数 点前后数字分别计算 浮点类型 FLOAT4 4 DOUBLE PRECISION 8 FLOAT8 8 BINARY_DOUBLE 8 FLOAT[(p)] 每4 位十进制数占两个字节,小数 点前后数字分别计算 DEC[(p[,s])] 每4 位十进制数占两个字节,小数 点前后数字分别计算 INTEGER[(p[,s])] 每4 位十进制数占两个字节,小数 点前后数字分别计算 布尔类型 布尔类型 BOOLEAN 1 GBase 8c SQL 参考手册 南大通用数据技术股份有限公司 455 字符类型 字符类型 CHAR n CHAR(n) n CHARACTER(n) n NCHAR(n) n VARCHAR(n) n CHARACTER 字符实际字节数 VARYING(n) 字符实际字节数 VARCHAR2(n) 字符实际字节数 NVARCHAR(n) 字符实际字节数 NVARCHAR2(n) 字符实际字节数 TEXT 字符实际字节数 CLOB 字符实际字节数 时间类型 时间类型 DATE 8 TIME 8 TIMEZ 12 TIMESTAMP 8 TIMESTAMPZ 8 SMALLDATETIME 8 INTERVAL DAY TO SECOND 16 INTERVAL 16 RELTIME 4 ABSTIME 4 TINTERVAL 12 GBase 8c SQL 参考手册 南大通用数据技术股份有限公司 456