查看数据库版本:
select version();
查看数据库启动时间:
select pg_postmaster_start_time();
查看最后加载配置文件的时间:
select pg_conf_load_time();
查看数据库时区:
select timezone;
查看数据库当前时间:
select now();
查看当前会话pid:
select pg_backend_pid();
查看当前数据库会话信息:
select pid,datname,usename,application_name,state,now()-query_start query_duration,query,wait_event_type,wait_event from pg_stat_activity;
取消正在执行的SQL命令:
select pg_cancle_backend(pid);
终止一个后台服务进程:
select pg_terminate_backend(pid);
查看当前的WAL日志相关信息:
PG10之前版本:
select pg_current_xlog_location(),pg_xlogfile_name(pg_current_xlog_location()),pg_xlogfile_name_offset(pg_current_xlog_location());
其中:
pg_current_xlog_location():获得当前wal日志写入位置。
pg_xlogfile_name():转换wal日志位置为文件名。
pg_xlogfile_name_offset():返回转换后的wal日志文件名和偏移量。
PG10及以后版本:
select pg_current_wal_lsn(),pg_walfile_name(pg_current_wal_lsn()),pg_walfile_name_offset(pg_current_wal_lsn());
其中:
pg_current_wal_lsn():获得当前wal日志写入位置。
pg_walfile_name():转换wal日志位置为文件名。
pg_walfile_name_offset():返回转换后的wal日志文件名和偏移量。
说明
LSN:3FB/AE61A1A0
3FB:代表wal文件的第二部分
AE:代表wal文件的最后两位
61A1A0:代表偏移量
00000001000003FB000000AE
wal文件由24个字符,三部分组成,每部分由8个字符组成,代表含义如下
00000001:代表数据库运行的时间轴,如果恢复过数据库(主备切换)这个值会增大
000003FB:对LSN的第二部分对应
000000AE:代表walfile文件的最后两位
查看WAL日志缓存有多少字节未写入磁盘:
PG10之前版本:
select pg_xlog_location_diff(pg_current_xlog_insert_location(),pg_current_xlog_location());
其中:
pg_current_xlog_location():获得当前预写式日志写入位置
pg_current_xlog_insert_location():获得当前预写式日志插入位置
pg_xlog_location_diff(location pg_lsn, location pg_lsn)计算两个预写式日志位置间的差别
PG10及以后版本:
select pg_wal_lsn_diff(pg_current_wal_insert_lsn(),pg_current_wal_lsn());
其中:
pg_current_wal_lsn():获得当前预写式日志写入位置
pg_current_wal_insert_lsn():获得当前预写式日志插入位置
pg_wal_lsn_diff(lsn pg_lsn, lsn pg_lsn):计算两个预写式日志位置间的差别
切换WAL日志文件:
PG10之前版本:
select pg_switch_xlog();
PG10及以后版本:
select pg_switch_wal();
手动产生一次checkpoint:
checkpoint;
切换数据库日志文件:
select pg_rotate_logfile();
查看数据库中是否有正在进行的备份并查看备份开始时间:
select pg_is_in_backup(),pg_backup_start_time();
停止数据库备份:
select pg_stop_backup();
查看数据库是否为备库:
select pg_is_in_recovery();
查看数据库大小:
select pg_size_pretty(pg_database_size(‘database_name’));
其中:
pg_size_pretty()函数,可以根据情况将字节转换为KB、MB、GB 或者 TB。
查看表数据大小:
select pg_size_pretty(pg_relation_size(‘table_name’));
查看表数据和表上索引的总大小:
select pg_size_pretty(pg_total_relation_size(‘table_name’));
查看表上所有索引的大小:
select pg_size_pretty(pg_indexes_size(‘table_name’));
查看表空间大小:
select pg_size_pretty(pg_tablespace_size(‘tablespace_name’));
查看表所在数据文件:
select pg_relation_filepath(‘table_name’);




