这篇列出腾讯云数据库(基于PostgreSQL)的配置设置、服务信号和数据库对象大小三类函数,包括current_setting、set_config、pg_cancel_backend及pg_database_size等,用于查询修改参数、管理后端进程和获取存储空间大小。 配置设置函数:current_setting查询参数值,set_config修改并返回新值。 服务信号函数:pg_cancel_backend取。
相关产品
腾讯云数据仓库 TCHouse-P 产品页,含版本规格、价格与购买入口。
一、配置设置函数
下面是查询和修改运行时配置参数的函数,见下面表格。
| 函数 |
返回值 |
描述 |
示例 |
结果 |
| current_setting(setting_name) |
text |
现在的参数值 |
SELECT current_setting('datestyle'); |
current_setting —————– ISO, MDY |
| set_config(setting_name, new_value, is_local) |
text |
设置参数值,并返回最新的值 |
SELECT set_config('log_statement_stats', 'off', false); |
set_config ———— off |
二、服务信号函数
| 函数 |
返回值 |
描述 |
| pg_cancel_backend(pid int) |
boolean |
取消一个后端的当前查询 |
| pg_reload_conf() |
boolean |
触发重新加载配置文件 |
| pg_rotate_logfile() |
boolean |
滚动服务器的日志文件,只有内置日志收集器的有用,其他的则没用,因为没有管理日志的子进程 |
数据库对象大小函数
| 函数 |
返回值 |
描述 |
示例 |
结果 |
| pg_column_size(any) |
int |
获取数据的存储空间字节大小 |
select pg_column_size('ddewewe'); |
8 |
| pg_database_size(oid) |
bigint |
指定数据库的大小 |
select oid,* from pg_database; select pg_database_size(16384); |
pg_database_size —————— 127632410 |
| pg_database_size(name) |
bigint |
指定数据库的大小 |
select pg_database_size('gpperfmon'); |
127632410 |
| pg_relation_size(oid) |
bigint |
获取指定表或者索引的大小 |
select pg_relation_size(17787); |
pg_relation_size —————— 65536 |
| pg_relation_size(text) |
bigint |
获取表或者索引的大小 |
select pg_relation_size('t1'); |
pg_relation_size —————— 65536 |
| pg_size_pretty(bigint) |
text |
字节数转为格式化的大小 |
select pg_size_pretty(122212121); |
pg_size_pretty —————- 117 MB |
| pg_tablespace_size(oid) |
bigint |
获取指定表空间的大小 |
select oid,* from pg_tablespace ; select pg_tablespace_size(1663); |
pg_tablespace_size ——————– 262275170 |
| pg_tablespace_size(name) |
bigint |
获取指定表空间的大小 |
select pg_tablespace_size('pg_default'); |
pg_tablespace_size ——————– 262275170 |
| pg_total_relation_size(oid) |
bigint |
指定表所占的包括索引和数据的磁盘空间 |
select oid,relname from pg_class where relname='t1'; select pg_total_relation_size(17787); |
pg_total_relation_size ———————— 65536 (1 row) |
| pg_total_relation_size(text) |
bigint |
指定表所占的包括索引和数据的磁盘空间 |
select pg_total_relation_size('t1'); |
pg_total_relation_size ———————— 65536 |