zoukankan      html  css  js  c++  java
  • postgresql recovery.conf改变需要重启吗

    之前在研究pgpoll时,发现trigger_file参数指定的文件存在后,会自动将standby节点提升为可写节点。不需要手动执行pg_ctl promote,但是这个时间一般有延迟,因为进程会定期检查复制过程。

    今天发现primary_conninfo信息改变,复制过程不会变化,需要重启standby节点。

    ............................................................................................................................

    -bash-4.1$ cat recovery.conf.sample |more
    # ------------------------------- # PostgreSQL recovery config file # ------------------------------- # # Edit this file to provide the parameters that PostgreSQL needs to # perform an archive recovery of a database, or to act as a replication # standby. # # If "recovery.conf" is present in the PostgreSQL data directory, it is # read on postmaster startup. After successful recovery, it is renamed # to "recovery.done" to ensure that we do not accidentally re-enter # archive recovery or standby mode. # # This file consists of lines of the form: # # name = value # # Comments are introduced with '#'. # # The complete list of option names and allowed values can be found # in the PostgreSQL documentation. # #--------------------------------------------------------------------------- # ARCHIVE RECOVERY PARAMETERS #--------------------------------------------------------------------------- # # restore_command # # specifies the shell command that is executed to copy log files # back from archival storage. The command string may contain %f, # which is replaced by the name of the desired log file, and %p, # which is replaced by the absolute path to copy the log file to. # # This parameter is *required* for an archive recovery, but optional # for streaming replication. # # It is important that the command return nonzero exit status on failure. # The command *will* be asked for log files that are not present in the # archive; it must return nonzero when so asked. # # NOTE that the basename of %p will be different from %f; do not # expect them to be interchangeable.

    #restore_command = '' # e.g. 'cp /mnt/server/archivedir/%f %p'
    #
    #
    # archive_cleanup_command
    #
    # specifies an optional shell command to execute at every restartpoint.
    # This can be useful for cleaning up the archive of a standby server.
    #
    #archive_cleanup_command = ''
    #
    # recovery_end_command
    #
    # specifies an optional shell command to execute at completion of recovery.
    # This can be useful for cleaning up after the restore_command.
    #
    #recovery_end_command = ''
    #
    #---------------------------------------------------------------------------
    # RECOVERY TARGET PARAMETERS
    #---------------------------------------------------------------------------
    #
    # By default, recovery will rollforward to the end of the WAL log.
    # If you want to stop rollforward at a specific point, you
    # must set a recovery target.
    #
    # You may set a recovery target either by transactionId, by name,
    # or by timestamp. Recovery may either include or exclude the
    # transaction(s) with the recovery target value (ie, stop either
    # just after or just before the given target, respectively).
    #
    #
    #recovery_target_name = '' # e.g. 'daily backup 2011-01-26'
    #
    #recovery_target_time = '' # e.g. '2004-07-14 22:39:00 EST'
    #
    #recovery_target_xid = ''
    #
    #recovery_target_inclusive = true
    #
    #
    # Alternatively, you can request stopping as soon as a consistent state
    # is reached, by uncommenting this option.

    #recovery_target = 'immediate'
    #
    #
    # If you want to recover into a timeline other than the "main line" shown in
    # pg_control, specify the timeline number here, or write 'latest' to get
    # the latest branch for which there's a history file.
    #
    #recovery_target_timeline = 'latest'
    #
    #
    # If recovery_target_action = 'pause', recovery will pause when the
    # recovery target is reached. The pause state will continue until
    # pg_xlog_replay_resume() is called. This setting has no effect if
    # no recovery target is set. If hot_standby is not enabled then the
    # server will shutdown instead, though you may request this in
    # any case by specifying 'shutdown'.
    #
    #recovery_target_action = 'pause'
    #
    #---------------------------------------------------------------------------
    # STANDBY SERVER PARAMETERS
    #---------------------------------------------------------------------------
    #
    # standby_mode
    #
    # When standby_mode is enabled, the PostgreSQL server will work as a
    # standby. It will continuously wait for the additional XLOG records, using
    # restore_command and/or primary_conninfo.
    #
    #standby_mode = off
    #
    # primary_conninfo
    #
    # If set, the PostgreSQL server will try to connect to the primary using this
    # connection string and receive XLOG records continuously.
    #
    #primary_conninfo = '' # e.g. 'host=localhost port=5432'
    #
    # If set, the PostgreSQL server will use the specified replication slot when
    # connecting to the primary via streaming replication to control resource
    # removal on the upstream node. This setting has no effect if primary_conninfo
    # is not set.
    #

    #primary_slot_name = ''
    #
    # By default, a standby server keeps restoring XLOG records from the
    # primary indefinitely. If you want to stop the standby mode, finish recovery
    # and open the system in read/write mode, specify a path to a trigger file.
    # The server will poll the trigger file path periodically and start as a
    # primary server when it's found.
    #
    #trigger_file = ''
    #
    # By default, a standby server restores XLOG records from the primary as
    # soon as possible. If you want to explicitly delay the replay of committed
    # transactions from the master, specify a minimum apply delay. For example,
    # if you set this parameter to 5min, the standby will replay each transaction
    # commit only when the system time on the standby is at least five minutes
    # past the commit time reported by the master.
    #
    #recovery_min_apply_delay = 0
    #
    #---------------------------------------------------------------------------
    # HOT STANDBY PARAMETERS
    #---------------------------------------------------------------------------
    #
    # Hot Standby related parameters are listed in postgresql.conf
    #
    #---------------------------------------------------------------------------

  • 相关阅读:
    多线程(一)初步使用
    数据迁移:MSSQL脚本文件过大,客户端没有足够的内存继续执行程序
    统计数据,数据库就只有8,9,10的,而前端需要返回连续的记录
    Windows10禁用update
    C#模拟HTTP POST 请求
    C#中Equals和= =(等于号)的比较(转)
    .net framework4与其client profile版本的区别
    centos7 安装mysql
    JAVA中使用ASN.1
    使用gradle建立java application
  • 原文地址:https://www.cnblogs.com/kuang17/p/7091135.html
Copyright © 2011-2022 走看看