> 数据库 > PostgreSQL >

第 21 课 PostgreSQL 日志系统

redolog的作用

PostgreSQL利用日志文件来防止断电之类的故障导致的数据丢失。
对每个修改数据库内容的操作,都会自动为其生成一条日志记录,并将其记录到日志文件中。
系统默认有三个日志文件,默认名字为 REDOLOG0.ldf,REDOLOG1.ldf,REDOLOG02.ldf。
以循环方式来使用重做日志文件。

日志切换

用户主动切换:用户可以通过命令,主动进行日志切换。
是日志写满需要新日志。当一个日志文件写满之后,数据库会自动进行日志切换。
日志文件发生切换时,系统将执行一个检查点操作。

如果发生日志切换,暂时无法得到下一个可用的日志文件,则PostgreSQL 实例会自动创建一个日志文件。
日志文件有三种状态

CURRENT 表示当前正在使用的日志文件。
ACTIVE 表示这个日志文件处在激活状态,不能再次被使用。
NOACTIVE 表示这个日志文件可以被重用。

日志的重用条件

Checkpoint完成
归档完成

归档日志

在日志文件被覆盖之前,KingbaseES能够将已经写满的日志文件通过复制操作系统文件的方式保存到指定位置,称为“归档”。
归档操作由后台进程自动完成。
归档模式:



非归档模式(NOARCHIVELOG Mode)
归档模式( ARCHIVELOG Mode )
是否需要进行归档,取决于对数据库应用环境的可靠性和可用性的要求
如果数据库运行在非归档模式下,DBA必须定期对数据库进行完全备份。


日志文件的配置

系统默认有三个日志文件,默认大小为100M,初始化的时候可以设置日志文件大小。
初始化后,用户可以根据需要手动的增加、删除日志文件。
日志文件的信息可以通过系统视图 sys_redologs 进行查询。


(责任编辑:IT)