6.pgsql三种日志类型

1、说明

pgsql共三类日志文件

pgsql在版本10前后日志文件名有变化,如下:左边为10版本前的日志文件名,右边为10版本及以上版本文件名

pg_xlog ---- pg_wal (WAL 日志,即重做日志) 强制开启
pg_clog ---- pg_xact (事务提交日志,记录的是事务的元数据) 内容一般不具有可读性 强制开启
pg_log ---- log pg_log(数据库运行日志) 内容可读 默认关闭的,需要设置参数启动

 

1.1、pg_wal(write ahead log)

由文件名可以知道为重做日志,类似mysql和oralce中的undo log,二进制文件,一般WAL机制的引入,可以保证事物的持久性和数据的完整性。同时也解决了写入磁盘的耗时操作。

具体步骤:

数据更新或者插入:先写入WAL BUFFER中,再将更新或插入后的数据写入DATA BUFFER中

数据提交后:WAL BUFFER中的内容写入磁盘,DATA BUFFER写入磁盘推迟

CHECKPOINT发生时:将所有DATA BUFFER数据写到磁盘。

 

1.2、pg_xact

这个目录下的文件也是事务日志文件,但与pg_wal不同的是它记录的是事务的元数据(metadata),这个日志文件主要功能为记录事务的状态,这个日志文件一般非常小,但很重要,不得随意删除修改。

 

1.3、pg_log

pg_log记录各种运行、Error信息,以及服务器和DB的状态信息,定位慢查询SQL,数据库的启动关闭信息类似mysql的catalog和oracle的alter日志。当数据库出现问题时,应该首先查看这个日志文件。

 

1.4、三类日志文件保存路径

保存到数据存放路径下。

6.pgsql三种日志类型

 

详细信息如下:

6.pgsql三种日志类型

6.pgsql三种日志类型

6.pgsql三种日志类型

6.pgsql三种日志类型