|
psql --pset=pager=off -q -c 'select name,setting from pg_settings where name in ($$archive_mode$$,$$autovacuum$$,$$archive_command$$)' |
|
echo "建议: " |
|
echo " 建议开启自动垃圾回收, 开启归档. " |
|
echo -e "\n" |
|
|
|
echo "----->>>---->>> 归档统计信息: " |
|
psql --pset=pager=off -q -c 'select pg_xlogfile_name(pg_current_xlog_location()) now_xlog, * from pg_stat_archiver' |
|
echo "建议: " |
|
echo " 如果当前的XLOG文件和最后一个归档失败的XLOG文件之间相差很多个文件, 建议尽快排查归档失败的原因, 以便修复, 否则pg_xlog目录可能会撑爆. " |
|
echo -e "\n" |
|
|
|
echo "----->>>---->>> 流复制统计信息: " |
|
psql --pset=pager=off -q -x -c 'select pg_xlog_location_diff(pg_current_xlog_location(),flush_location), * from pg_stat_replication' |
|
echo "建议: " |
|
echo " 关注流复制的延迟, 如果延迟非常大, 建议排查网络带宽, 以及本地读xlog的性能, 远程写xlog的性能. " |
|
echo -e "\n" |
|
|
|
echo "----->>>---->>> 流复制插槽: " |
|
psql --pset=pager=off -q -c 'select pg_xlog_location_diff(pg_current_xlog_location(),restart_lsn), * from pg_replication_slots' |
这里用到的3个SQL在PG10中有改动
-- PG9
select pg_xlogfile_name(pg_current_xlog_location()) now_xlog, * from pg_stat_archiver;
-- PG10
select pg_walfile_name(pg_current_wal_lsn()) now_xlog, * from pg_stat_archiver;
--PG9
select pg_xlog_location_diff(pg_current_xlog_location(),flush_location), * from pg_stat_replication
--PG10
select pg_wal_lsn_diff(pg_current_wal_lsn(),flush_lsn), * from pg_stat_replication;
--PG9
select pg_xlog_location_diff(pg_current_xlog_location(),restart_lsn), * from pg_replication_slots;
--PG10
select pg_wal_lsn_diff(pg_current_wal_lsn(),restart_lsn), * from pg_replication_slots;
pgsql_admin_script/generate_report.sh
Lines 781 to 799 in 5fbdcc8
这里用到的3个SQL在PG10中有改动