查看当前数据库实例版本信息
select version();
查看数据库创建时间:
select * from pg_control_system();
-[]--------------------------+------------------------------
pg_control_version | 1300
catalog_version_no | 202107181
system_identifier | 714648946431598431164647
pg_control_last_modified | 2022-06-26 16:23:40+08
select to_timestamp(((system_identifier>>32) & (2^32 - 1)::bigint)) from pg_control_system();
查看数据库启动时间:
select pg_postmaster_start_time();
查看数据库装载时间(pg_ctl reload 之后):
pg_ctl reload
select pg_conf_load_time();
查看当前数据库时区:
show timezone;
查看当前实例中有哪些数据库:
psql -l
\l
查看当前用户:
select user;
select current_user;
select session_user;
查看当前连接的数据库名称:
select current_catalog, current_database();
查看当前 session 所在客户端的 IP 地址和端口:
select inet_client_addr(), inet_client_port();
查看当前数据库服务器的 IP 地址和端口:
select inet_server_addr(), inet_server_port();
查看当前 session 的后台进程服务 PID:
select pg_backend_pid();
查看后台进程服务:
ps -ef | grep 456 | grep -v grep
查看当前的参数配置情况:
show shared_buffers;
select current_setting('shared_buffers');
修改当前 session 的参数配置:
set maintenance_work_mem to '128MB';
select set_config('maintenance_work_mem','128MB',false);
查看当前正在写的 WAL 日志文件:
select pg_xlogfile_name(pg_current_xlog_location());
查看当前 WAL 日志的 BUFFER 中,有多少字节未字入磁盘中(落盘):
select pg_xlogfile_location_diff(pg_current_xlog_insert_location(), pg_current_xlog_location());
查看数据库实例是否正在进行基础备份:
select pg_is_in_backup(), pg_backup_start_time();
查看当前数据库的状态(正常状态 或 Hot Standby):
select pg_is_in_recovery();
查看数据库的大小:pg_size_pretty函数将数字以MB、GB等格式显示
select pg_database_size('baoywdb'), pg_size_pretty(pg_database_size('baoywdb'));
查看表的大小:
select pg_size_pretty(pg_relation_size('table01'));
查看表的大小(包括索引的大小):
select pg_size_pretty(pg_total_relation_size('table01'));
查看表中所有索引的大小:
select pg_size_pretty(pg_indexes_size('table01'));
查看表空间大小:
select pg_size_pretty(pg_tablespace_size('tablespace01'));
select pg_size_pretty(pg_tablespace_size('pg_global'));
select pg_size_pretty(pg_tablespace_size('pg_default'));
查看表对应的数据文件:
select pg_relation_filepath('table01');