postgresql9.6之WAL(Write Ahead Log)

oracle 数据库中存在重做日志文件(redo log),其作用是保证数据的一致性和事务的完整性,防止在系统崩溃时最近的事务无法恢复。在postgresql中引入了WAL(write ahead log),作用相同。有不同之处的是postgresql数据库可以通过调整WAL参数控制日志写入磁盘的先后顺序。先将日志写入磁盘能够完全保证数据的完整性,在崩溃时可以恢复最近的事务;后写入磁盘,很难保证在崩溃时事务能够得到恢复,数据的结果也很难保证是真实正确的。了解postgresql 的WAL参数是非常必要的,直接关系到了数据库的可用性。

WAL相关参数:

postgresql数据库的配置文件

# - Settings -

wal_level = minimal                     # minimal, replica, or logical
                                        # (change requires restart)
#fsync = on                             # flush data to disk for crash safety
                                                # (turning this off can cause
                                                # unrecoverable data corruption)
#synchronous_commit = on                # synchronization level;
                                        # off, local, remote_write, remote_apply
, or on
#wal_sync_method = fsync                # the default is the first option
                                        # supported by the operating system:
                                        <

你可能感兴趣的:(Java,postgresql,数据库,oracle,磁盘,postgresql)