今天在测试库上发现 autovacuum 无法正常启动,数据库版本 9.1.0,经查已经配置 autovacuum=on ,发现日志出现如下信息
数据库 CSVLOG
1 |
2012-03-08 11:14:59.017 CST,,,1155,,4f582407.483,1,,2012-03-08 11:14:15 CST,,0,LOG,00000,"could not resolve ""localhost"": Temporary failure in name resolution",,,,,,,,,"" |
备注:注意这个ERROR,提示 autovacuum 进程没有正常启动是因为参数 track_counts 没有设置成 on,接着查看 $PGDATA/postgresql.conf, 发现 track_counts 参数已打开,并且这个参数默认是打开的,奇了怪了。
查看数据库参数
1 |
[postgres@pgb ~]$ psql -h 127.0.0.1 |
备注: 果然参数 track_counts 显示为 off,而在配置文件中明明是打开的,这是为啥呢?后来仔细查看 步骤1的报错,could not resolve “”localhost”,猜想可能是这里的问题。
Ping Localhost
ping localhost 不通,接着查看 /etc/hosts 文件。
查看 /etc/hosts
1 |
[root@pgb ~]# cat /etc/hosts |
备注:发现 127.0.0.1 这行注释了,于是将注释拿掉,
Autovacuum 进程恢复
1 |
[postgres@pgb pg_root]$ ps -ef | grep auto |
备注:autovacuum 进程已恢复正常。
查看CSVLOG
1 |
2012-05-06 16:07:35.711 CST,,,30862,,4fa63147.788e,1,,2012-05-06 16:07:35 CST,,0,LOG,00000,"database system was shut down at 2012-05-06 16:07:23 CST",,,,,,,,,"" |
总结
开启 autovacuum 的步骤
- 设置 autovacuum = on ( 些参数默认打开 )
- 设置 track_counts = on ( 些参数默认打开 )
- 设置 /etc/hosts , 能 ping 通 localhost
原创文章,作者:254126420,如若转载,请注明出处:https://blog.ytso.com/237848.html