数据库对象函数
数据库对象尺寸函数
数据库对象尺寸函数计算数据库对象使用的实际磁盘空间。
- pg_column_size(any)
    
    返回值类型:int 备注:pg_column_size显示用于存储某个独立数据值的空间。 1 2 3 4 5 gaussdb=# SELECT pg_column_size(1); pg_column_size ---------------- 4 (1 row) 
- pg_database_size(oid)
    
    返回值类型:bigint 
- pg_database_size(name)
    
    返回值类型:bigint 备注:pg_database_size接受一个数据库的OID或者名称,然后返回该对象使用的全部磁盘空间。 示例: 1 2 3 4 5 6 7 8 9 gaussdb=# CREATE DATABASE testdb dbcompatibility 'A'; CREATE DATABASE gaussdb=# SELECT pg_database_size('testdb'); pg_database_size ------------------ 51590112 (1 row) gaussdb=# DROP DATABASE testdb; DROP DATABASE 
- pg_relation_size(oid)
    
    返回值类型:bigint 
- get_db_source_datasize()
    
    返回值类型:bigint 备注:调用该函数前需要做analyze。 示例: 1 2 3 4 5 6 7 gaussdb=# analyze; ANALYZE gaussdb=# SELECT get_db_source_datasize(); get_db_source_datasize ------------------------ 35384925667 (1 row) 
- pg_relation_size(text)
    描述:指定名称的表或者索引使用的磁盘空间。表名称可以用模式名修饰。 返回值类型:bigint 
- pg_relation_size(relation regclass, fork text)
    描述:指定表或索引的指定分叉树('main','fsm'或'vm')使用的磁盘空间。 返回值类型:bigint 
- 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)
    
    返回值类型:bigint 
- pg_size_pretty(bigint)
    
    返回值类型:text 
- pg_size_pretty(numeric)
    
    返回值类型:text 备注:pg_size_pretty用于把其他函数的结果格式化成一种易读的格式,可以根据情况使用kB 、MB 、GB 、TB。 
- pg_table_size(regclass)
    描述:指定的表使用的磁盘空间,不计索引(但是包含TOAST,自由空间映射和可见性映射)。 返回值类型:bigint 
- pg_tablespace_size(oid)
    
    返回值类型:bigint 
- pg_tablespace_size(name)
    
    返回值类型:bigint 备注: pg_tablespace_size接受一个数据库的OID或者名称,然后返回该对象使用的全部磁盘空间。 
- pg_total_relation_size(oid)
    描述:指定OID代表的表使用的磁盘空间,包括索引和压缩数据。 返回值类型:bigint 
- pg_total_relation_size(regclass)
    描述:指定的表使用的总磁盘空间,包括所有的索引和TOAST数据。 返回值类型:bigint 
- pg_total_relation_size(text)
    描述:指定名称的表所使用的全部磁盘空间,包括索引和压缩数据。表名称可以用模式名修饰。 返回值类型:bigint 备注:pg_total_relation_size接受一个表或者一个压缩表的OID或者名称,然后返回以字节计的数据和所有相关的索引和压缩表的尺寸。 
- datalength(any)
    描述:计算一个指定的数据需要的字节数(不考虑数据的管理空间和数据压缩,数据类型转换等情况)。 返回值类型:int 备注:datalength用于计算某个独立数据值的空间。 示例: gaussdb=# SELECT datalength(1); datalength ------------ 4 (1 row)目前支持的数据类型及计算方式见下表: 数据类型 存储空间 数值类型 整数类型 TINYINT 1 SMALLINT 2 INTEGER 4 BINARY_INTEGER 4 BIGINT 8 任意精度型 DECIMAL 每4位十进制数占两个字节,小数点前后数字分别计算。 NUMERIC 每4位十进制数占两个字节,小数点前后数字分别计算。 NUMBER 每4位十进制数占两个字节,小数点前后数字分别计算。 序列整型 SMALLSERIAL 2 SERIAL 4 BIGSERIAL 8 LARGESERIAL 每4位十进制数占两个字节,小数点前后数字分别计算。 浮点类型 FLOAT4 4 DOUBLE PRECISION 8 FLOAT8 8 BINARY_DOUBLE 8 FLOAT[(p)] 每4位十进制数占两个字节,小数点前后数字分别计算。 DEC[(p[,s])] 每4位十进制数占两个字节,小数点前后数字分别计算。 INTEGER[(p[,s])] 每4位十进制数占两个字节,小数点前后数字分别计算。 布尔类型 布尔类型 BOOLEAN 1 字符类型 字符类型 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 
数据库对象位置函数
- pg_relation_filenode(relation regclass)
    
    返回值类型:oid 备注:pg_relation_filenode接受一个表、索引、序列或压缩表的OID或者名称,并且返回当前分配给它的“filenode”数。文件节点是关系使用的文件名称的基本组件。对大多数表来说,结果和pg_class.relfilenode相同,但对确定的系统目录来说,relfilenode为0而且这个函数必须用来获取正确的值。如果传递一个没有存储的关系,比如一个视图,那么这个函数返回NULL。 
- pg_relation_filepath(relation regclass)
    
    返回值类型:text 备注:pg_relation_filepath类似于pg_relation_filenode,但是它返回关系的整个文件路径名(相对于数据库的数据目录PGDATA)。 
- pg_filenode_relation(tablespace oid, filenode oid)
    描述:获取对应的tablespace和relfilenode所对应的表名。 返回类型:regclass 
- pg_partition_filenode(partition_oid)
    
    返回类型:oid 
- pg_partition_filepath(partition_oid)
    
    返回值类型:text 
 
  