设置

    该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。

    取值范围:枚举类型

    • minimal

      优点:一些重要操作(包括创建表、创建索引、簇操作和表的复制)都能安全的跳过,这样就可以使操作变得更快。

      缺点:WAL仅提供从数据库服务器崩溃或者紧急关闭状态恢复时所需要的基本信息,无法用WAL归档日志恢复数据。

    • archive

      这个参数增加了WAL归档需要的日志信息,从而可以支持数据库的归档恢复。

    • logical

      这个参数表示WAL日志支持逻辑复制。

    默认值:hot_standby

    fsync

    参数说明:设置openGauss服务器是否使用fsync()系统函数(请参见wal_sync_method)确保数据的更新及时写入物理磁盘中。

    该参数属于SIGHUP类型参数,请参考中对应设置方法进行设置。

    须知: - 使用fsync()系统函数可以保证在操作系统或者硬件崩溃的情况下将数据恢复到一个已知的状态。 - 如果将此参数关闭,可能会在系统崩溃时无法恢复原来的数据,导致数据库不可用。

    取值范围:布尔型

    • on表示使用fsync()系统函数。
    • off表示不使用fsync()系统函数。

    默认值:on

    synchronous_commit

    参数说明:设置当前事务的同步方式。

    该参数属于USERSET类型参数,请参考中对应设置方法进行设置。

    取值范围:枚举类型

    • on表示将备机的同步日志刷新到磁盘。
    • off表示异步提交。
    • local表示为本地提交。
    • remote_write表示要备机的同步日志写到磁盘。
    • remote_receive表示要备机同步日志接收数据。
    • remote_apply表示要备机同步日志回放完成。
    • true表示将备机的同步日志刷新到磁盘。
    • false表示异步提交。
    • yes表示将备机的同步日志刷新到磁盘。
    • 1表示将备机的同步日志刷新到磁盘。
    • 0表示异步提交。
    • 2表示将备机同步日志回放完成。

    默认值:on

    wal_sync_method

    该参数属于SIGHUP类型参数,请参考中对应设置方法进行设置。

    取值范围:枚举类型

    • open_datasync表示用带O_DSYNC选项的open()打开“WAL”文件。
    • fdatasync表示每次提交的时候都调用fdatasync()。(支持suse10和suse11)。
    • fsync_writethrough表示每次提交的时候调用fsync()强制把缓冲区任何数据写入磁盘。

      设置 - 图4 说明: 由于历史原因,Windows平台支持将wal_sync_method设置为fsync_writethrough。在windows平台上fsync_writethrough和fsync等效。

    • fsync表示每次提交的时候调用fsync()。(支持suse10和suse11)

    • open_sync表示用带O_SYNC选项的open()写“WAL”文件。(支持suse10和suse11)

    默认值:fdatasync

    参数说明:设置openGauss服务器在检查点之后对页面的第一次修改时,是否将每个磁盘页面的全部内容写到WAL日志中。当增量检查点开关和enable_double_write同时打开时,则不使用full_page_writes。

    该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。

    须知: - 设置这个参数是因为在操作系统崩溃过程中可能磁盘页面只写入了一部分内容,从而导致在同一个页面中包含新旧数据的混合。在崩溃后的恢复期间,由于在WAL日志中存储的行变化信息不够完整,因此无法完全恢复该页。把完整的页面影像保存下来就可以保证页面被正确还原,代价是增加了写入WAL日志的数据量。 - 关闭此参数,在系统崩溃的时候,可能无法恢复原来的数据。如果服务器硬件的特质(比如电池供电的磁盘控制器)可以减小部分页面的写入风险,或者文件系统特性支持(比如ReiserFS 4),并且清楚知道写入风险在一个可以接受的范畴,可以关闭这个参数。

    取值范围:布尔型

    • on表示启用此特性。
    • off表示关闭此特性。

    默认值:on

    wal_log_hints

    参数说明:设置在检查点之后对页面的第一次修改为页面上元组hint bits的修改时,是否将整个页面的全部内容写到WAL日志中。不推荐用户修改此设置。

    该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。

    取值范围:布尔型

    • on表示整个页面全部内容写到WAL日志中。
    • off表示整个页面内容不会写到WAL日志中。

    默认值:on

    wal_buffers

    参数说明:设置用于存放WAL数据的共享内存空间的XLOG_BLCKSZ数,XLOG_BLCKSZ的大小默认为8KB。

    该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。

    取值范围:-1~218

    • 如果设置为-1,表示wal_buffers的大小随着参数shared_buffers自动调整,为shared_buffers的1/32,最小值为8个XLOG_BLCKSZ,最大值为2048个XLOG_BLCKSZ。
    • 如果设置为其他值,当小于4时,会被默认设置为4。

    设置建议:每次事务提交时,WAL缓冲区的内容都写入到磁盘中,因此设置为很大的值不会带来明显的性能提升。如果将它设置成几百兆,就可以在有很多即时事务提交的服务器上提高写入磁盘的性能。根据经验来说,默认值可以满足大多数的情况。

    wal_writer_delay

    参数说明:WalWriter进程的写间隔时间。

    该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。

    取值范围:整型, 1~10000(毫秒)

    默认值:200ms

    参数说明:表示一个已经提交的数据在WAL缓冲区中存放的时间。

    该参数属于USERSET类型参数,请参考中对应设置方法进行设置。

    设置 - 图8 须知: - 设置为非 0 值时事务执行commit后不会立即写入WAL中,而仍存放在WAL缓冲区中,等待WalWriter进程周期性写入磁盘。 - 如果系统负载很高,在延迟时间内,其他事务可能已经准备好提交。但如果没有事务准备提交,这个延迟就是在浪费时间。

    取值范围:整型, 0~100000(微秒),其中0表示无延迟。

    默认值:0

    commit_siblings

    参数说明:当一个事务发出提交请求时,如果数据库中正在执行的事务数量大于此参数的值,则该事务将等待一段时间(的值),否则该事务则直接写入WAL。

    该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

    取值范围:整型, 0~1000

    默认值:5

    wal_block_size

    参数说明:说明WAL日志段文件中日志页面的大小。

    该参数属于INTERNAL类型参数,为固定参数,用户无法修改此参数,只能查看。

    取值范围:整型,单位为Byte。

    默认值:8192

    wal_segment_size

    参数说明:说明WAL日志段文件的大小。

    该参数属于INTERNAL类型参数,为固定参数,用户无法修改此参数,只能查看。

    默认值:16MB (2048 * 8KB)