在postgresql数据库的安装目录中找到版本号的文件夹再打开其下面的data文件夹。在这里面有一个叫做postgresql.conf的文件,它是postgresql数据库的配置文件。右键选择以记事本的方式打开后,将下面的内容替换掉配置文件内的对于内容,如下所示:
log_destination = 'csvlog' logging_collector = off log_directory = 'pg_log' log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' log_rotation_age = 1d log_rotation_size = 100MB log_min_messages = info
log_min_duration_statement = 60 log_checkpoints = on log_connections = on log_disconnections = on log_duration = on log_line_prefix = '%m'
log_lock_waits = on
log_statement = 'ddl'
PostgreSQL的 WAL(Write-Ahead Logging)是数据库中非常重要的机制之一,用于确保数据的持久性和可靠性,在正常运行时不建议关闭。通常情况下,关闭 WAL 可能会导致数据丢失、数据库崩溃以及一些其他严重的问题。
但是,如果你真的需要关闭 WAL 日志记录(比如在测试时),可以在postgresql.conf配置文件中设置参数wal_level为minimal,将这个参数设置为最小的级别,可以让PostgreSQL只记录一些必要的信息而不是完整的 WAL 记录,这样可以减少 WAL 日志产生的开销。
但是,请注意关闭 WAL 将不会为系统的性能或稳定性带来任何好处。建议在正式系统运行时避免关闭 WAL。
pg_resetxlog用来清理WAL日志,当数据库服务启动的情况下,是不能使用的,所以执行之前需要停机。
WAL的核心思想是确保数据文件的更改必须在这些更改被写入日志之后才能进行。 遵循这个原则,就不需要在每个事物中将数据刷新到磁盘提交。
PG数据库中有很多WAL相关的参数,通过正确的配置能够提高数据库的性能。
pg_xlog ---- pg_wal (WAL 日志,即重做日志) 强制开启。
pg_clog ---- pg_xact (事务提交日志,记录的是事务的元数据) 内容一般不具有可读性 强制开启。
pg_log ---- log pg_log(数据库运行日志) 内容可读 默认关闭的,需要设置参数启动。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
PolarDB 分布式版 (PolarDB for Xscale,简称“PolarDB-X”) 是阿里云自主设计研发的高性能云原生分布式数据库产品,为用户提供高吞吐、大存储、低延时、易扩展和超高可用的云时代数据库服务。