通过宝塔面板安装的postgreSQL,默认情况下的配置文件下有如下配置:
logging_collector = on
log_destination = 'stderr'
log_directory = '/www/server/pgsql/logs'
log_filename = 'postgresql-%Y-%m-%d.log'
log_statement = all
log_min_duration_statement = 5000
这个代表保存所有日志,且没有进行保留数量上限。这样导致postgresql一旦运行很长时间,非常容易将服务器磁盘弄满。我的服务器就有一台快满了,如下图。

在/www/server/pgsql/logs文件夹可以看到超大量的日志

所以这篇文章将会介绍下如何解决这个问题。(备注:本文适用于Ubuntu系统,其他系统可能需要依据情况进行一些修改)
我们前往宝塔面板的软件商城,找到postgresql管理器,点击设置,再点击配置修改,找到最下面的那一行的logging_collector = on,将on改为off。点击保存按钮

点击保存后,稍等一段时间,前往宝塔的postgresql管理器的服务状态界面,点击关闭数据库,关闭后再重新打开数据库。这样后续,就不会产生日志了。
(我直接点击配置修改页面的重启数据库按钮,点击后数据库启动会报错)
当然,这只是停止了日志增长,我们仍然需要手动删除下/www/server/pgsql/logs里头的原来的目录。
完成上述操作,可以看到服务器硬盘已经重新释放出了很多空间了。
备注:上述操作会关闭postgresql的日志记录,请结合自己的业务进行判断是否使用上述的方案。