[Pacemaker] pgsql + postgresql 9.1

Andrey Groshev greenx at yandex.ru
Fri Mar 14 01:03:09 EDT 2014



13.03.2014, 10:05, "NAKAHIRA Kazutomo" <nakahira_kazutomo_b1 at lab.ntt.co.jp>:
> Hi, Thomaz
>
> If you use latest pgsql RA, then you must use latest
> resource-agents package.
>
>>  Mar 12 18:54:49 slave lrmd: [1058]: info: RA output:
>>  (res_pgsql_postgresql:0:monitor:stderr)
>>  /usr/lib/ocf/resource.d//heartbeat/pgsql: 1749:
>>  /usr/lib/ocf/resource.d//heartbeat/pgsql:
>>  Mar 12 18:54:49 slave lrmd: [1058]: info: RA output:
>>  (res_pgsql_postgresql:0:monitor:stderr) ocf_local_nodename: not found
>
> These masseges means your resource-agents package have no
> ocf_local_nodename function.
>
> ocf_local_nodename was implemented into ocf-shellfuncs
> and pgsql RA at following commits.
>
> https://github.com/ClusterLabs/resource-agents/commit/abc1c3f6464f6e5e7a1e41cd7c9b8179896c1903
>
> After this commits, newer pgsql RA can not use with
> older resource-agents package.


Damn! I remember discussing with Takatoshi implementing some things in this RA. 
He was worried about compatibility with PCMK 1.0.x :)
Actually it turns not compatible below 1.1.8!
Maybe actually define minimum version for compatibility?
Of course, we will have to specify this in the documentation.
Then we can rewrite a lot more logical and beautiful many RA's.

P.S. We write this large Japanese letters (or Russian), that no one understood nothing. :)

> Best regards,
>
> (2014/03/13 11:27), Thomaz Luiz Santos wrote:
>
>>  hello!
>>
>>  I configured the replication stream and trying to setup the pgsql I have
>>  that message in my  /var/log/syslog
>>
>>  the two server is configured to ssh authorized_keys.
>>
>>  ************root at slave:/var/lib/postgresql/9.1/main# tail -f
>>  /var/log/syslog ************
>>  Mar 12 18:54:20 slave pgsql[3095]: WARNING: Can't get slave xlog location.
>>  Mar 12 18:54:49 slave lrmd: [1058]: info: RA output:
>>  (res_pgsql_postgresql:0:monitor:stderr)
>>  /usr/lib/ocf/resource.d//heartbeat/pgsql: 1749:
>>  /usr/lib/ocf/resource.d//heartbeat/pgsql:
>>  Mar 12 18:54:49 slave lrmd: [1058]: info: RA output:
>>  (res_pgsql_postgresql:0:monitor:stderr) ocf_local_nodename: not found
>>  Mar 12 18:54:49 slave lrmd: [1058]: info: RA output:
>>  (res_pgsql_postgresql:0:monitor:stderr)
>>  Mar 12 18:54:49 slave pgsql[4028]: INFO: Master does not exist.
>>  Mar 12 18:54:49 slave pgsql[4028]: INFO: My data status=.
>>  Mar 12 18:54:49 slave crm_attribute: [4135]: info: Invoked:
>>  /usr/sbin/crm_attribute -l reboot -N -n -v 0000000030000000
>>  res_pgsql_postgresql-xlog-loc
>>  Mar 12 18:54:49 slave lrmd: [1058]: info: RA output:
>>  (res_pgsql_postgresql:0:monitor:stderr) Could not map uname=-n to a UUID:
>>  The object/attribute does not exist
>>  Mar 12 18:54:49 slave pgsql[4028]: WARNING: Can't get master xlog location.
>>  Mar 12 18:54:49 slave pgsql[4028]: WARNING: Can't get slave xlog location.
>>
>>  *******  root at slave:/var/lib/postgresql/9.1/main# tail -f
>>  /var/log/postgresql/postgresql-9.1-main.log **********
>>  2014-03-12 18:42:39 PDT LOG:  entering standby mode
>>  cp: cannot stat
>>  `/var/lib/postgresql/9.1/main/pg_archive/00000001000000000000002D': No such
>>  file or directory
>>  2014-03-12 18:42:39 PDT LOG:  redo starts at 0/2D000078
>>  2014-03-12 18:42:39 PDT LOG:  consistent recovery state reached at
>>  0/2E000000
>>  2014-03-12 18:42:39 PDT LOG:  database system is ready to accept read only
>>  connections
>>  cp: cannot stat
>>  `/var/lib/postgresql/9.1/main/pg_archive/00000001000000000000002E': No such
>>  file or directory
>>  2014-03-12 18:42:39 PDT LOG:  unexpected pageaddr 0/25000000 in log file 0,
>>  segment 46, offset 0
>>  cp: cannot stat
>>  `/var/lib/postgresql/9.1/main/pg_archive/00000001000000000000002E': No such
>>  file or directory
>>  cp: cannot stat `/var/lib/postgresql/9.1/main/pg_archive/00000002.history':
>>  No such file or directory
>>  2014-03-12 18:42:39 PDT LOG:  streaming replication successfully connected
>>  to primary
>>
>>  ************ crm_mon ***************
>>  ============
>>  Last updated: Wed Mar 12 19:11:42 2014
>>  Last change: Wed Mar 12 18:42:39 2014 via crm_resource on slave
>>  Stack: openais
>>  Current DC: slave - partition with quorum
>>  Version: 1.1.6-9971ebba4494012a93c03b40a2c58ec0eb60f50c
>>  2 Nodes configured, 2 expected votes
>>  3 Resources configured.
>>  ============
>>
>>  Online: [ slave master ]
>>
>>    Master/Slave Set: ms_pgsql_1 [res_pgsql_postgresql]
>>        Slaves: [ slave ]
>>        Stopped: [ res_pgsql_postgresql:1 ]
>>  res_IPaddr2_1   (ocf::heartbeat:IPaddr2):       Started master
>>
>>  Failed actions:
>>       res_pgsql_postgresql:1_start_0 (node=master, call=45, rc=1,
>>  status=complete): unknown error
>>
>>  **************** crm cib ***********************
>>
>>  node master \
>>  attributes res_pgsql_postgresql-data-status="DISCONNECT" standby="off"
>>  node slave \
>>  attributes res_pgsql_postgresql-data-status="DISCONNECT" standby="off"
>>  primitive res_IPaddr2_1 ocf:heartbeat:IPaddr2 \
>>  params ip="172.70.65.71" nic="eth0:0" \
>>  operations $id="res_IPaddr2_1-operations" \
>>  op start interval="0" timeout="20" \
>>  op stop interval="0" timeout="20" \
>>  op monitor interval="10" timeout="20" start-delay="0"
>>  primitive res_pgsql_postgresql ocf:heartbeat:pgsql \
>>  params pgctl="/usr/lib/postgresql/9.1/bin/pg_ctl"
>>  psql="/usr/lib/postgresql/9.1/bin/psql"
>>  pgdata="/var/lib/postgresql/9.1/main" monitor_user="postgres"
>>  monitor_password="postgres"
>>  config="/etc/postgresql/9.1/main/postgresql.conf"
>>  logfile="/var/log/postgresql/postgresql-9.1-main.log"
>>  socketdir="/var/run/postgresql" rep_mode="sync" node_list="master slave"
>>  restore_command="cp /var/lib/postgresql/9.1/main/pg_archive/%f %p"
>>  master_ip="172.70.65.61" restart_on_promote="true" \
>>  operations $id="res_pgsql_postgresql-operations" \
>>  op start interval="0" timeout="120" \
>>  op promote interval="0" timeout="120" \
>>  op demote interval="0" timeout="120" \
>>  op stop interval="0" timeout="120" \
>>  op monitor interval="29" timeout="30" start-delay="0" \
>>  op notify interval="0" timeout="90" \
>>  op methods interval="0" timeout="5" \
>>  meta target-role="started"
>>  ms ms_pgsql_1 res_pgsql_postgresql \
>>  meta clone-max="2" notify="true" interleave="true"
>>  property $id="cib-bootstrap-options" \
>>  default-resource-stickiness="100" \
>>  expected-quorum-votes="2" \
>>  stonith-enabled="false" \
>>  dc-version="1.1.6-9971ebba4494012a93c03b40a2c58ec0eb60f50c" \
>>  no-quorum-policy="ignore" \
>>  cluster-infrastructure="openais" \
>>  last-lrm-refresh="1394676975"
>>
>>  if deactive the pgsql the replication work fine.
>>  following  the configure files.
>>
>>  ******** SLAVE ********
>>
>>  ******* root at slave:/var/lib/postgresql/9.1/main# cat recovery.conf
>>
>>  standby_mode = 'on'
>>  primary_conninfo = 'host=172.70.65.61 port=5432 user=postgres
>>  application_name= '
>>  restore_command = 'cp /var/lib/postgresql/9.1/main/pg_archive/%f %p'
>>  recovery_target_timeline = 'latest'
>>
>>  ******** root at slave:/var/lib/postgresql/9.1/main# cat
>>  /etc/postgresql/9.1/main/postgresql.conf
>>  # -----------------------------
>>  # PostgreSQL configuration file
>>  # -----------------------------
>>  #
>>  # This file consists of lines of the form:
>>  #
>>  #   name = value
>>  #
>>  # (The "=" is optional.)  Whitespace may be used.  Comments are introduced
>>  with
>>  # "#" anywhere on a line.  The complete list of parameter names and allowed
>>  # values can be found in the PostgreSQL documentation.
>>  #
>>  # The commented-out settings shown in this file represent the default
>>  values.
>>  # Re-commenting a setting is NOT sufficient to revert it to the default
>>  value;
>>  # you need to reload the server.
>>  #
>>  # This file is read on server startup and when the server receives a SIGHUP
>>  # signal.  If you edit the file on a running system, you have to SIGHUP the
>>  # server for the changes to take effect, or use "pg_ctl reload".  Some
>>  # parameters, which are marked below, require a server shutdown and restart
>>  to
>>  # take effect.
>>  #
>>  # Any parameter can also be given as a command-line option to the server,
>>  e.g.,
>>  # "postgres -c log_connections=on".  Some parameters can be changed at run
>>  time
>>  # with the "SET" SQL command.
>>  #
>>  # Memory units:  kB = kilobytes        Time units:  ms  = milliseconds
>>  #                MB = megabytes                     s   = seconds
>>  #                GB = gigabytes                     min = minutes
>>  #                                                   h   = hours
>>  #                                                   d   = days
>>
>>  #------------------------------------------------------------------------------
>>  # FILE LOCATIONS
>>  #------------------------------------------------------------------------------
>>
>>  # The default values of these variables are driven from the -D command-line
>>  # option or PGDATA environment variable, represented here as ConfigDir.
>>
>>  data_directory = '/var/lib/postgresql/9.1/main'         # use data in
>>  another directory
>>                                           # (change requires restart)
>>  hba_file = '/etc/postgresql/9.1/main/pg_hba.conf'       # host-based
>>  authentication file
>>                                           # (change requires restart)
>>  ident_file = '/etc/postgresql/9.1/main/pg_ident.conf'   # ident
>>  configuration file
>>                                           # (change requires restart)
>>
>>  # If external_pid_file is not explicitly set, no extra PID file is written.
>>  external_pid_file = '/var/run/postgresql/9.1-main.pid'          # write an
>>  extra PID file
>>                                           # (change requires restart)
>>
>>  #------------------------------------------------------------------------------
>>  # CONNECTIONS AND AUTHENTICATION
>>  #------------------------------------------------------------------------------
>>
>>  # - Connection Settings -
>>
>>  listen_addresses = '*'                  # what IP address(es) to listen on;
>>                                           # comma-separated list of addresses;
>>                                           # defaults to 'localhost', '*' = all
>>                                           # (change requires restart)
>>  port = 5432                             # (change requires restart)
>>  max_connections = 100                   # (change requires restart)
>>  # Note:  Increasing max_connections costs ~400 bytes of shared memory per
>>  # connection slot, plus lock space (see max_locks_per_transaction).
>>  #superuser_reserved_connections = 3     # (change requires restart)
>>  unix_socket_directory = '/var/run/postgresql'           # (change requires
>>  restart)
>>  #unix_socket_group = ''                 # (change requires restart)
>>  #unix_socket_permissions = 0777         # begin with 0 to use octal notation
>>                                           # (change requires restart)
>>  #bonjour = off                          # advertise server via Bonjour
>>                                           # (change requires restart)
>>  #bonjour_name = ''                      # defaults to the computer name
>>                                           # (change requires restart)
>>
>>  # - Security and Authentication -
>>
>>  #authentication_timeout = 1min          # 1s-600s
>>  ssl = true                              # (change requires restart)
>>  #ssl_ciphers = 'ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH'      # allowed SSL
>>  ciphers
>>                                           # (change requires restart)
>>  #ssl_renegotiation_limit = 512MB        # amount of data between
>>  renegotiations
>>  #password_encryption = on
>>  #db_user_namespace = off
>>
>>  # Kerberos and GSSAPI
>>  #krb_server_keyfile = ''
>>  #krb_srvname = 'postgres'               # (Kerberos only)
>>  #krb_caseins_users = off
>>
>>  # - TCP Keepalives -
>>  # see "man 7 tcp" for details
>>
>>  #tcp_keepalives_idle = 0                # TCP_KEEPIDLE, in seconds;
>>                                           # 0 selects the system default
>>  #tcp_keepalives_interval = 0            # TCP_KEEPINTVL, in seconds;
>>                                           # 0 selects the system default
>>  #tcp_keepalives_count = 0               # TCP_KEEPCNT;
>>                                           # 0 selects the system default
>>
>>  #------------------------------------------------------------------------------
>>  # RESOURCE USAGE (except WAL)
>>  #------------------------------------------------------------------------------
>>
>>  # - Memory -
>>
>>  shared_buffers = 24MB                   # min 128kB
>>                                           # (change requires restart)
>>  #temp_buffers = 8MB                     # min 800kB
>>  #max_prepared_transactions = 0          # zero disables the feature
>>                                           # (change requires restart)
>>  # Note:  Increasing max_prepared_transactions costs ~600 bytes of shared
>>  memory
>>  # per transaction slot, plus lock space (see max_locks_per_transaction).
>>  # It is not advisable to set max_prepared_transactions nonzero unless you
>>  # actively intend to use prepared transactions.
>>  #work_mem = 1MB                         # min 64kB
>>  #maintenance_work_mem = 16MB            # min 1MB
>>  #max_stack_depth = 2MB                  # min 100kB
>>
>>  # - Kernel Resource Usage -
>>
>>  #max_files_per_process = 1000           # min 25
>>                                           # (change requires restart)
>>  #shared_preload_libraries = ''          # (change requires restart)
>>
>>  # - Cost-Based Vacuum Delay -
>>
>>  #vacuum_cost_delay = 0ms                # 0-100 milliseconds
>>  #vacuum_cost_page_hit = 1               # 0-10000 credits
>>  #vacuum_cost_page_miss = 10             # 0-10000 credits
>>  #vacuum_cost_page_dirty = 20            # 0-10000 credits
>>  #vacuum_cost_limit = 200                # 1-10000 credits
>>
>>  # - Background Writer -
>>
>>  #bgwriter_delay = 200ms                 # 10-10000ms between rounds
>>  #bgwriter_lru_maxpages = 100            # 0-1000 max buffers written/round
>>  #bgwriter_lru_multiplier = 2.0          # 0-10.0 multipler on buffers
>>  scanned/round
>>
>>  # - Asynchronous Behavior -
>>
>>  #effective_io_concurrency = 1           # 1-1000. 0 disables prefetching
>>  #------------------------------------------------------------------------------
>>  # WRITE AHEAD LOG
>>  #------------------------------------------------------------------------------
>>
>>  # - Settings -
>>
>>  #wal_level = minimal                    # minimal, archive, or hot_standby
>>                                           # (change requires restart)
>>  #fsync = on                             # turns forced synchronization on
>>  or off
>>  #synchronous_commit = on                # synchronization level; on, off,
>>  or local
>>  #wal_sync_method = fsync                # the default is the first option
>>                                           # supported by the operating system:
>>                                           #   open_datasync
>>                                           #   fdatasync (default on Linux)
>>                                           #   fsync
>>                                           #   fsync_writethrough
>>                                           #   open_sync
>>  #full_page_writes = on                  # recover from partial page writes
>>  #wal_buffers = -1                       # min 32kB, -1 sets based on
>>  shared_buffers
>>                                           # (change requires restart)
>>  #wal_writer_delay = 200ms               # 1-10000 milliseconds
>>
>>  #commit_delay = 0                       # range 0-100000, in microseconds
>>  #commit_siblings = 5                    # range 1-1000
>>
>>  # - Checkpoints -
>>
>>  #checkpoint_segments = 3                # in logfile segments, min 1, 16MB
>>  each
>>  #checkpoint_timeout = 5min              # range 30s-1h
>>  #checkpoint_completion_target = 0.5     # checkpoint target duration, 0.0 -
>>  1.0
>>  #checkpoint_warning = 30s               # 0 disables
>>
>>  # - Archiving -
>>
>>  #archive_mode = off             # allows archiving to be done
>>                                   # (change requires restart)
>>  #archive_command = ''           # command to use to archive a logfile
>>  segment
>>  #archive_timeout = 0            # force a logfile segment switch after this
>>                                   # number of seconds; 0 disables
>>  #------------------------------------------------------------------------------
>>  # REPLICATION
>>  #------------------------------------------------------------------------------
>>
>>  # - Master Server -
>>
>>  # These settings are ignored on a standby server
>>
>>  #max_wal_senders = 0            # max number of walsender processes
>>                                   # (change requires restart)
>>  #wal_sender_delay = 1s          # walsender cycle time, 1-10000 milliseconds
>>  #wal_keep_segments = 0          # in logfile segments, 16MB each; 0 disables
>>  #vacuum_defer_cleanup_age = 0   # number of xacts by which cleanup is
>>  delayed
>>  #replication_timeout = 60s      # in milliseconds; 0 disables
>>  #synchronous_standby_names = '' # standby servers that provide sync rep
>>                                   # comma-separated list of application_name
>>                                   # from standby(s); '*' = all
>>
>>  # - Standby Servers -
>>
>>  # These settings are ignored on a master server
>>
>>  hot_standby = on                        # "on" allows queries during
>>  recovery
>>                                           # (change requires restart)
>>  #max_standby_archive_delay = 30s        # max delay before canceling queries
>>                                           # when reading WAL from archive;
>>                                           # -1 allows indefinite delay
>>  #max_standby_streaming_delay = 30s      # max delay before canceling queries
>>                                           # when reading streaming WAL;
>>                                           # -1 allows indefinite delay
>>  #wal_receiver_status_interval = 10s     # send replies at least this often
>>                                           # 0 disables
>>  #hot_standby_feedback = off             # send info from standby to prevent
>>                                           # query conflicts
>>  #------------------------------------------------------------------------------
>>  # QUERY TUNING
>>  #------------------------------------------------------------------------------
>>
>>  # - Planner Method Configuration -
>>
>>  #enable_bitmapscan = on
>>  #enable_hashagg = on
>>  #enable_hashjoin = on
>>  #enable_indexscan = on
>>  #enable_material = on
>>  #enable_mergejoin = on
>>  #enable_nestloop = on
>>  #enable_seqscan = on
>>  #enable_sort = on
>>  #enable_tidscan = on
>>
>>  # - Planner Cost Constants -
>>
>>  #seq_page_cost = 1.0                    # measured on an arbitrary scale
>>  #random_page_cost = 4.0                 # same scale as above
>>  #cpu_tuple_cost = 0.01                  # same scale as above
>>  #cpu_index_tuple_cost = 0.005           # same scale as above
>>  #cpu_operator_cost = 0.0025             # same scale as above
>>  #effective_cache_size = 128MB
>>
>>  # - Genetic Query Optimizer -
>>
>>  #geqo = on
>>  #geqo_threshold = 12
>>  #geqo_effort = 5                        # range 1-10
>>  #geqo_pool_size = 0                     # selects default based on effort
>>  #geqo_generations = 0                   # selects default based on effort
>>  #geqo_selection_bias = 2.0              # range 1.5-2.0
>>  #geqo_seed = 0.0                        # range 0.0-1.0
>>
>>  # - Other Planner Options -
>>
>>  #default_statistics_target = 100        # range 1-10000
>>  #constraint_exclusion = partition       # on, off, or partition
>>  #cursor_tuple_fraction = 0.1            # range 0.0-1.0
>>  #from_collapse_limit = 8
>>  #join_collapse_limit = 8                # 1 disables collapsing of explicit
>>                                           # JOIN clauses
>>  #------------------------------------------------------------------------------
>>  # ERROR REPORTING AND LOGGING
>>  #------------------------------------------------------------------------------
>>
>>  # - Where to Log -
>>
>>  #log_destination = 'stderr'             # Valid values are combinations of
>>                                           # stderr, csvlog, syslog, and
>>  eventlog,
>>                                           # depending on platform.  csvlog
>>                                           # requires logging_collector to be
>>  on.
>>
>>  # This is used when logging to stderr:
>>  #logging_collector = off                # Enable capturing of stderr and
>>  csvlog
>>                                           # into log files. Required to be on
>>  for
>>                                           # csvlogs.
>>                                           # (change requires restart)
>>
>>  # These are only used if logging_collector is on:
>>  #log_directory = 'pg_log'               # directory where log files are
>>  written,
>>                                           # can be absolute or relative to
>>  PGDATA
>>  #log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'        # log file name
>>  pattern,
>>                                           # can include strftime() escapes
>>  #log_file_mode = 0600                   # creation mode for log files,
>>                                           # begin with 0 to use octal notation
>>  #log_truncate_on_rotation = off         # If on, an existing log file with
>>  the
>>                                           # same name as the new log file
>>  will be
>>                                           # truncated rather than appended to.
>>                                           # But such truncation only occurs on
>>                                           # time-driven rotation, not on
>>  restarts
>>                                           # or size-driven rotation.  Default
>>  is
>>                                           # off, meaning append to existing
>>  files
>>                                           # in all cases.
>>  #log_rotation_age = 1d                  # Automatic rotation of logfiles
>>  will
>>                                           # happen after that time.  0
>>  disables.
>>  #log_rotation_size = 10MB               # Automatic rotation of logfiles
>>  will
>>                                           # happen after that much log output.
>>                                           # 0 disables.
>>
>>  # These are relevant when logging to syslog:
>>  #syslog_facility = 'LOCAL0'
>>  #syslog_ident = 'postgres'
>>
>>  #silent_mode = off                      # Run server silently.
>>                                           # DO NOT USE without syslog or
>>                                           # logging_collector
>>                                           # (change requires restart)
>>  # - When to Log -
>>
>>  #client_min_messages = notice           # values in order of decreasing
>>  detail:
>>                                           #   debug5
>>                                           #   debug4
>>                                           #   debug3
>>                                           #   debug2
>>                                           #   debug1
>>                                           #   log
>>                                           #   notice
>>                                           #   warning
>>                                           #   error
>>
>>  #log_min_messages = warning             # values in order of decreasing
>>  detail:
>>                                           #   debug5
>>                                           #   debug4
>>                                           #   debug3
>>                                           #   debug2
>>                                           #   debug1
>>                                           #   info
>>                                           #   notice
>>                                           #   warning
>>                                           #   error
>>                                           #   log
>>                                           #   fatal
>>                                           #   panic
>>
>>  #log_min_error_statement = error        # values in order of decreasing
>>  detail:
>>                                           #   debug5
>>                                           #   debug4
>>                                           #   debug3
>>                                           #   debug2
>>                                           #   debug1
>>                                           #   info
>>                                           #   notice
>>                                           #   warning
>>                                           #   error
>>                                           #   log
>>                                           #   fatal
>>                                           #   panic (effectively off)
>>
>>  #log_min_duration_statement = -1        # -1 is disabled, 0 logs all
>>  statements
>>                                           # and their durations, > 0 logs only
>>                                           # statements running at least this
>>  number
>>                                           # of milliseconds
>>  # - What to Log -
>>
>>  #debug_print_parse = off
>>  #debug_print_rewritten = off
>>  #debug_print_plan = off
>>  #debug_pretty_print = on
>>  #log_checkpoints = off
>>  #log_connections = off
>>  #log_disconnections = off
>>  #log_duration = off
>>  #log_error_verbosity = default          # terse, default, or verbose
>>  messages
>>  #log_hostname = off
>>  log_line_prefix = '%t '                 # special values:
>>                                           #   %a = application name
>>                                           #   %u = user name
>>                                           #   %d = database name
>>                                           #   %r = remote host and port
>>                                           #   %h = remote host
>>                                           #   %p = process ID
>>                                           #   %t = timestamp without
>>  milliseconds
>>                                           #   %m = timestamp with milliseconds
>>                                           #   %i = command tag
>>                                           #   %e = SQL state
>>                                           #   %c = session ID
>>                                           #   %l = session line number
>>                                           #   %s = session start timestamp
>>                                           #   %v = virtual transaction ID
>>                                           #   %x = transaction ID (0 if none)
>>                                           #   %q = stop here in non-session
>>                                           #        processes
>>                                           #   %% = '%'
>>                                           # e.g. '<%u%%%d> '
>>  #log_lock_waits = off                   # log lock waits >= deadlock_timeout
>>  #log_statement = 'none'                 # none, ddl, mod, all
>>  #log_temp_files = -1                    # log temporary files equal or
>>  larger
>>                                           # than the specified size in
>>  kilobytes;
>>                                           # -1 disables, 0 logs all temp files
>>  #log_timezone = '(defaults to server environment setting)'
>>  #------------------------------------------------------------------------------
>>  # RUNTIME STATISTICS
>>  #------------------------------------------------------------------------------
>>
>>  # - Query/Index Statistics Collector -
>>
>>  #track_activities = on
>>  #track_counts = on
>>  #track_functions = none                 # none, pl, all
>>  #track_activity_query_size = 1024       # (change requires restart)
>>  #update_process_title = on
>>  #stats_temp_directory = 'pg_stat_tmp'
>>
>>  # - Statistics Monitoring -
>>
>>  #log_parser_stats = off
>>  #log_planner_stats = off
>>  #log_executor_stats = off
>>  #log_statement_stats = off
>>  #------------------------------------------------------------------------------
>>  # AUTOVACUUM PARAMETERS
>>  #------------------------------------------------------------------------------
>>
>>  #autovacuum = on                        # Enable autovacuum subprocess?
>>    'on'
>>                                           # requires track_counts to also be
>>  on.
>>  #log_autovacuum_min_duration = -1       # -1 disables, 0 logs all actions
>>  and
>>                                           # their durations, > 0 logs only
>>                                           # actions running at least this
>>  number
>>                                           # of milliseconds.
>>  #autovacuum_max_workers = 3             # max number of autovacuum
>>  subprocesses
>>                                           # (change requires restart)
>>  #autovacuum_naptime = 1min              # time between autovacuum runs
>>  #autovacuum_vacuum_threshold = 50       # min number of row updates before
>>                                           # vacuum
>>  #autovacuum_analyze_threshold = 50      # min number of row updates before
>>                                           # analyze
>>  #autovacuum_vacuum_scale_factor = 0.2   # fraction of table size before
>>  vacuum
>>  #autovacuum_analyze_scale_factor = 0.1  # fraction of table size before
>>  analyze
>>  #autovacuum_freeze_max_age = 200000000  # maximum XID age before forced
>>  vacuum
>>                                           # (change requires restart)
>>  #autovacuum_vacuum_cost_delay = 20ms    # default vacuum cost delay for
>>                                           # autovacuum, in milliseconds;
>>                                           # -1 means use vacuum_cost_delay
>>  #autovacuum_vacuum_cost_limit = -1      # default vacuum cost limit for
>>                                           # autovacuum, -1 means use
>>                                           # vacuum_cost_limit
>>  #------------------------------------------------------------------------------
>>  # CLIENT CONNECTION DEFAULTS
>>  #------------------------------------------------------------------------------
>>
>>  # - Statement Behavior -
>>
>>  #search_path = '"$user",public'         # schema names
>>  #default_tablespace = ''                # a tablespace name, '' uses the
>>  default
>>  #temp_tablespaces = ''                  # a list of tablespace names, ''
>>  uses
>>                                           # only default tablespace
>>  #check_function_bodies = on
>>  #default_transaction_isolation = 'read committed'
>>  #default_transaction_read_only = off
>>  #default_transaction_deferrable = off
>>  #session_replication_role = 'origin'
>>  #statement_timeout = 0                  # in milliseconds, 0 is disabled
>>  #vacuum_freeze_min_age = 50000000
>>  #vacuum_freeze_table_age = 150000000
>>  #bytea_output = 'hex'                   # hex, escape
>>  #xmlbinary = 'base64'
>>  #xmloption = 'content'
>>
>>  # - Locale and Formatting -
>>
>>  datestyle = 'iso, mdy'
>>  #intervalstyle = 'postgres'
>>  #timezone = '(defaults to server environment setting)'
>>  #timezone_abbreviations = 'Default'     # Select the set of available time
>>  zone
>>                                           # abbreviations.  Currently, there
>>  are
>>                                           #   Default
>>                                           #   Australia
>>                                           #   India
>>                                           # You can create your own file in
>>                                           # share/timezonesets/.
>>  #extra_float_digits = 0                 # min -15, max 3
>>  #client_encoding = sql_ascii            # actually, defaults to database
>>                                           # encoding
>>
>>  # These settings are initialized by initdb, but they can be changed.
>>  lc_messages = 'en_US.UTF-8'                     # locale for system error
>>  message
>>                                           # strings
>>  lc_monetary = 'en_US.UTF-8'                     # locale for monetary
>>  formatting
>>  lc_numeric = 'en_US.UTF-8'                      # locale for number
>>  formatting
>>  lc_time = 'en_US.UTF-8'                         # locale for time formatting
>>
>>  # default configuration for text search
>>  default_text_search_config = 'pg_catalog.english'
>>  # - Other Defaults -
>>
>>  #dynamic_library_path = '$libdir'
>>  #local_preload_libraries = ''
>>
>>  #------------------------------------------------------------------------------
>>  # LOCK MANAGEMENT
>>  #------------------------------------------------------------------------------
>>
>>  #deadlock_timeout = 1s
>>  #max_locks_per_transaction = 64         # min 10
>>                                           # (change requires restart)
>>  # Note:  Each lock table slot uses ~270 bytes of shared memory, and there
>>  are
>>  # max_locks_per_transaction * (max_connections + max_prepared_transactions)
>>  # lock table slots.
>>  #max_pred_locks_per_transaction = 64    # min 10
>>                                           # (change requires restart)
>>
>>  #------------------------------------------------------------------------------
>>  # VERSION/PLATFORM COMPATIBILITY
>>  #------------------------------------------------------------------------------
>>
>>  # - Previous PostgreSQL Versions -
>>
>>  #array_nulls = on
>>  #backslash_quote = safe_encoding        # on, off, or safe_encoding
>>  #default_with_oids = off
>>  #escape_string_warning = on
>>  #lo_compat_privileges = off
>>  #quote_all_identifiers = off
>>  #sql_inheritance = on
>>  #standard_conforming_strings = on
>>  #synchronize_seqscans = on
>>
>>  # - Other Platforms and Clients -
>>
>>  #transform_null_equals = off
>>  #------------------------------------------------------------------------------
>>  # ERROR HANDLING
>>  #------------------------------------------------------------------------------
>>
>>  #exit_on_error = off                            # terminate session on any
>>  error?
>>  #restart_after_crash = on                       # reinitialize after
>>  backend crash?
>>
>>  #------------------------------------------------------------------------------
>>  # CUSTOMIZED OPTIONS
>>  #------------------------------------------------------------------------------
>>
>>  #custom_variable_classes = ''           # list of custom variable class
>>  names
>>  include '/var/lib/pgsql/tmp/rep_mode.conf' # added by pgsql RA
>>
>>  ******** root at slave:/var/lib/postgresql/9.1/main# cat
>>  /var/lib/pgsql/tmp/rep_mode.conf
>>  synchronous_standby_names = ''
>>
>>  ******** root at slave:/var/lib/postgresql/9.1/main# cat
>>  /etc/corosync/corosync.conf
>>  # Please read the openais.conf.5 manual page
>>
>>  totem {
>>           version: 2
>>
>>           # How long before declaring a token lost (ms)
>>           token: 3000
>>
>>           # How many token retransmits before forming a new configuration
>>           token_retransmits_before_loss_const: 10
>>
>>           # How long to wait for join messages in the membership protocol (ms)
>>           join: 60
>>
>>           # How long to wait for consensus to be achieved before starting a
>>  new round of membership configuration (ms)
>>           consensus: 3600
>>
>>           # Turn off the virtual synchrony filter
>>           vsftype: none
>>
>>           # Number of messages that may be sent by one processor on receipt
>>  of the token
>>           max_messages: 20
>>
>>           # Limit generated nodeids to 31-bits (positive signed integers)
>>           clear_node_high_bit: yes
>>
>>           # Disable encryption
>>           secauth: off
>>
>>           # How many threads to use for encryption/decryption
>>           threads: 0
>>
>>           # Optionally assign a fixed node id (integer)
>>           # nodeid: 1234
>>
>>           # This specifies the mode of redundant ring, which may be none,
>>  active, or passive.
>>           rrp_mode: none
>>
>>           interface {
>>                   # The following values need to be set based on your
>>  environment
>>                   ringnumber: 0
>>                   bindnetaddr: 172.70.65.71
>>                   mcastaddr: 226.94.1.1
>>                   mcastport: 5405
>>           }
>>  }
>>
>>  amf {
>>           mode: disabled
>>  }
>>
>>  service {
>>           # Load the Pacemaker Cluster Resource Manager
>>           ver:       0
>>           name:      pacemaker
>>  }
>>
>>  aisexec {
>>           user:   root
>>           group:  root
>>  }
>>
>>  logging {
>>           fileline: off
>>           to_stderr: yes
>>           to_logfile: no
>>           to_syslog: yes
>>           syslog_facility: daemon
>>           debug: off
>>           timestamp: on
>>           logger_subsys {
>>                   subsys: AMF
>>                   debug: off
>>                   tags: enter|leave|trace1|trace2|trace3|trace4|trace6
>>           }
>>  }
>>
>>  *************** MASTER ******************************
>>
>>  ********** root at master:/etc/postgresql/9.1/main# cat postgresql.conf
>>
>>  # -----------------------------
>>  # PostgreSQL configuration file
>>  # -----------------------------
>>  #
>>  # This file consists of lines of the form:
>>  #
>>  #   name = value
>>  #
>>  # (The "=" is optional.)  Whitespace may be used.  Comments are introduced
>>  with
>>  # "#" anywhere on a line.  The complete list of parameter names and allowed
>>  # values can be found in the PostgreSQL documentation.
>>  #
>>  # The commented-out settings shown in this file represent the default
>>  values.
>>  # Re-commenting a setting is NOT sufficient to revert it to the default
>>  value;
>>  # you need to reload the server.
>>  #
>>  # This file is read on server startup and when the server receives a SIGHUP
>>  # signal.  If you edit the file on a running system, you have to SIGHUP the
>>  # server for the changes to take effect, or use "pg_ctl reload".  Some
>>  # parameters, which are marked below, require a server shutdown and restart
>>  to
>>  # take effect.
>>  #
>>  # Any parameter can also be given as a command-line option to the server,
>>  e.g.,
>>  # "postgres -c log_connections=on".  Some parameters can be changed at run
>>  time
>>  # with the "SET" SQL command.
>>  #
>>  # Memory units:  kB = kilobytes        Time units:  ms  = milliseconds
>>  #                MB = megabytes                     s   = seconds
>>  #                GB = gigabytes                     min = minutes
>>  #                                                   h   = hours
>>  #                                                   d   = days
>>
>>  #------------------------------------------------------------------------------
>>  # FILE LOCATIONS
>>  #------------------------------------------------------------------------------
>>
>>  # The default values of these variables are driven from the -D command-line
>>  # option or PGDATA environment variable, represented here as ConfigDir.
>>
>>  data_directory = '/var/lib/postgresql/9.1/main'         # use data in
>>  another directory
>>                                           # (change requires restart)
>>  hba_file = '/etc/postgresql/9.1/main/pg_hba.conf'       # host-based
>>  authentication file
>>                                           # (change requires restart)
>>  ident_file = '/etc/postgresql/9.1/main/pg_ident.conf'   # ident
>>  configuration file
>>                                           # (change requires restart)
>>
>>  # If external_pid_file is not explicitly set, no extra PID file is written.
>>  external_pid_file = '/var/run/postgresql/9.1-main.pid'          # write an
>>  extra PID file
>>                                           # (change requires restart)
>>
>>  #------------------------------------------------------------------------------
>>  # CONNECTIONS AND AUTHENTICATION
>>  #------------------------------------------------------------------------------
>>
>>  # - Connection Settings -
>>
>>  listen_addresses = '*'          # what IP address(es) to listen on;
>>                                           # comma-separated list of addresses;
>>                                           # defaults to 'localhost', '*' = all
>>                                           # (change requires restart)
>>  port = 5432                             # (change requires restart)
>>  max_connections = 100                   # (change requires restart)
>>  # Note:  Increasing max_connections costs ~400 bytes of shared memory per
>>  # connection slot, plus lock space (see max_locks_per_transaction).
>>  #superuser_reserved_connections = 3     # (change requires restart)
>>  unix_socket_directory = '/var/run/postgresql'           # (change requires
>>  restart)
>>  #unix_socket_group = ''                 # (change requires restart)
>>  #unix_socket_permissions = 0777         # begin with 0 to use octal notation
>>                                           # (change requires restart)
>>  #bonjour = off                          # advertise server via Bonjour
>>                                           # (change requires restart)
>>  #bonjour_name = ''                      # defaults to the computer name
>>                                           # (change requires restart)
>>
>>  # - Security and Authentication -
>>
>>  #authentication_timeout = 1min          # 1s-600s
>>  ssl = true                              # (change requires restart)
>>  #ssl_ciphers = 'ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH'      # allowed SSL
>>  ciphers
>>                                           # (change requires restart)
>>  #ssl_renegotiation_limit = 512MB        # amount of data between
>>  renegotiations
>>  #password_encryption = on
>>  #db_user_namespace = off
>>
>>  # Kerberos and GSSAPI
>>  #krb_server_keyfile = ''
>>  #krb_srvname = 'postgres'               # (Kerberos only)
>>  #krb_caseins_users = off
>>
>>  # - TCP Keepalives -
>>  # see "man 7 tcp" for details
>>
>>  #tcp_keepalives_idle = 0                # TCP_KEEPIDLE, in seconds;
>>                                           # 0 selects the system default
>>  #tcp_keepalives_interval = 0            # TCP_KEEPINTVL, in seconds;
>>                                           # 0 selects the system default
>>  #tcp_keepalives_count = 0               # TCP_KEEPCNT;
>>                                           # 0 selects the system default
>>
>>  #------------------------------------------------------------------------------
>>  # RESOURCE USAGE (except WAL)
>>  #------------------------------------------------------------------------------
>>
>>  # - Memory -
>>
>>  shared_buffers = 24MB                   # min 128kB
>>                                           # (change requires restart)
>>  #temp_buffers = 8MB                     # min 800kB
>>  #max_prepared_transactions = 0          # zero disables the feature
>>                                           # (change requires restart)
>>  # Note:  Increasing max_prepared_transactions costs ~600 bytes of shared
>>  memory
>>  # per transaction slot, plus lock space (see max_locks_per_transaction).
>>  # It is not advisable to set max_prepared_transactions nonzero unless you
>>  # actively intend to use prepared transactions.
>>  #work_mem = 1MB                         # min 64kB
>>  #maintenance_work_mem = 16MB            # min 1MB
>>  #max_stack_depth = 2MB                  # min 100kB
>>
>>  # - Kernel Resource Usage -
>>
>>  #max_files_per_process = 1000           # min 25
>>                                           # (change requires restart)
>>  #shared_preload_libraries = ''          # (change requires restart)
>>
>>  # - Cost-Based Vacuum Delay -
>>
>>  #vacuum_cost_delay = 0ms                # 0-100 milliseconds
>>  #vacuum_cost_page_hit = 1               # 0-10000 credits
>>  #vacuum_cost_page_miss = 10             # 0-10000 credits
>>  #vacuum_cost_page_dirty = 20            # 0-10000 credits
>>  #vacuum_cost_limit = 200                # 1-10000 credits
>>
>>  # - Background Writer -
>>
>>  #bgwriter_delay = 200ms                 # 10-10000ms between rounds
>>  #bgwriter_lru_maxpages = 100            # 0-1000 max buffers written/round
>>  #bgwriter_lru_multiplier = 2.0          # 0-10.0 multipler on buffers
>>  scanned/round
>>
>>  # - Asynchronous Behavior -
>>
>>  #effective_io_concurrency = 1           # 1-1000. 0 disables prefetching
>>  #------------------------------------------------------------------------------
>>  # WRITE AHEAD LOG
>>  #------------------------------------------------------------------------------
>>
>>  # - Settings -
>>
>>  wal_level = hot_standby                 # minimal, archive, or hot_standby
>>                                           # (change requires restart)
>>  #fsync = on                             # turns forced synchronization on
>>  or off
>>  #synchronous_commit = on                # synchronization level; on, off,
>>  or local
>>  #wal_sync_method = fsync                # the default is the first option
>>                                           # supported by the operating system:
>>                                           #   open_datasync
>>                                           #   fdatasync (default on Linux)
>>                                           #   fsync
>>                                           #   fsync_writethrough
>>                                           #   open_sync
>>  #full_page_writes = on                  # recover from partial page writes
>>  #wal_buffers = -1                       # min 32kB, -1 sets based on
>>  shared_buffers
>>                                           # (change requires restart)
>>  #wal_writer_delay = 200ms               # 1-10000 milliseconds
>>
>>  #commit_delay = 0                       # range 0-100000, in microseconds
>>  #commit_siblings = 5                    # range 1-1000
>>
>>  # - Checkpoints -
>>
>>  #checkpoint_segments = 3                # in logfile segments, min 1, 16MB
>>  each
>>  #checkpoint_timeout = 5min              # range 30s-1h
>>  #checkpoint_completion_target = 0.5     # checkpoint target duration, 0.0 -
>>  1.0
>>  #checkpoint_warning = 30s               # 0 disables
>>
>>  # - Archiving -
>>
>>  archive_mode = on               # allows archiving to be done
>>                                   # (change requires restart)
>>  archive_command = 'rsync -a %p -e
>>  root at slave:/var/lib/postgresql/9.1/main/pg_archive/%f'
>>                  # command to use to archive a logfile segment
>>  archive_timeout = 10            # force a logfile segment switch after this
>>                                   # number of seconds; 0 disables
>>  #------------------------------------------------------------------------------
>>  # REPLICATION
>>  #------------------------------------------------------------------------------
>>
>>  # - Master Server -
>>
>>  # These settings are ignored on a standby server
>>
>>  max_wal_senders = 5             # max number of walsender processes
>>                                   # (change requires restart)
>>  #wal_sender_delay = 1s          # walsender cycle time, 1-10000 milliseconds
>>  wal_keep_segments = 32          # in logfile segments, 16MB each; 0 disables
>>  #vacuum_defer_cleanup_age = 0   # number of xacts by which cleanup is
>>  delayed
>>  #replication_timeout = 60s      # in milliseconds; 0 disables
>>  #synchronous_standby_names = '' # standby servers that provide sync rep
>>                                   # comma-separated list of application_name
>>                                   # from standby(s); '*' = all
>>
>>  # - Standby Servers -
>>
>>  # These settings are ignored on a master server
>>
>>  #hot_standby = off                      # "on" allows queries during
>>  recovery
>>                                           # (change requires restart)
>>  #max_standby_archive_delay = 30s        # max delay before canceling queries
>>                                           # when reading WAL from archive;
>>                                           # -1 allows indefinite delay
>>  #max_standby_streaming_delay = 30s      # max delay before canceling queries
>>                                           # when reading streaming WAL;
>>                                           # -1 allows indefinite delay
>>  #wal_receiver_status_interval = 10s     # send replies at least this often
>>                                           # 0 disables
>>  #hot_standby_feedback = off             # send info from standby to prevent
>>                                           # query conflicts
>>  #------------------------------------------------------------------------------
>>  # QUERY TUNING
>>  #------------------------------------------------------------------------------
>>
>>  # - Planner Method Configuration -
>>
>>  #enable_bitmapscan = on
>>  #enable_hashagg = on
>>  #enable_hashjoin = on
>>  #enable_indexscan = on
>>  #enable_material = on
>>  #enable_mergejoin = on
>>  #enable_nestloop = on
>>  #enable_seqscan = on
>>  #enable_sort = on
>>  #enable_tidscan = on
>>
>>  # - Planner Cost Constants -
>>
>>  #seq_page_cost = 1.0                    # measured on an arbitrary scale
>>  #random_page_cost = 4.0                 # same scale as above
>>  #cpu_tuple_cost = 0.01                  # same scale as above
>>  #cpu_index_tuple_cost = 0.005           # same scale as above
>>  #cpu_operator_cost = 0.0025             # same scale as above
>>  #effective_cache_size = 128MB
>>
>>  # - Genetic Query Optimizer -
>>
>>  #geqo = on
>>  #geqo_threshold = 12
>>  #geqo_effort = 5                        # range 1-10
>>  #geqo_pool_size = 0                     # selects default based on effort
>>  #geqo_generations = 0                   # selects default based on effort
>>  #geqo_selection_bias = 2.0              # range 1.5-2.0
>>  #geqo_seed = 0.0                        # range 0.0-1.0
>>
>>  # - Other Planner Options -
>>
>>  #default_statistics_target = 100        # range 1-10000
>>  #constraint_exclusion = partition       # on, off, or partition
>>  #cursor_tuple_fraction = 0.1            # range 0.0-1.0
>>  #from_collapse_limit = 8
>>  #join_collapse_limit = 8                # 1 disables collapsing of explicit
>>                                           # JOIN clauses
>>  #------------------------------------------------------------------------------
>>  # ERROR REPORTING AND LOGGING
>>  #------------------------------------------------------------------------------
>>
>>  # - Where to Log -
>>
>>  #log_destination = 'stderr'             # Valid values are combinations of
>>                                           # stderr, csvlog, syslog, and
>>  eventlog,
>>                                           # depending on platform.  csvlog
>>                                           # requires logging_collector to be
>>  on.
>>
>>  # This is used when logging to stderr:
>>  #logging_collector = off                # Enable capturing of stderr and
>>  csvlog
>>                                           # into log files. Required to be on
>>  for
>>                                           # csvlogs.
>>                                           # (change requires restart)
>>
>>  # These are only used if logging_collector is on:
>>  #log_directory = 'pg_log'               # directory where log files are
>>  written,
>>                                           # can be absolute or relative to
>>  PGDATA
>>  #log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'        # log file name
>>  pattern,
>>                                           # can include strftime() escapes
>>  #log_file_mode = 0600                   # creation mode for log files,
>>                                           # begin with 0 to use octal notation
>>  #log_truncate_on_rotation = off         # If on, an existing log file with
>>  the
>>                                           # same name as the new log file
>>  will be
>>                                           # truncated rather than appended to.
>>                                           # But such truncation only occurs on
>>                                           # time-driven rotation, not on
>>  restarts
>>                                           # or size-driven rotation.  Default
>>  is
>>                                           # off, meaning append to existing
>>  files
>>                                           # in all cases.
>>  #log_rotation_age = 1d                  # Automatic rotation of logfiles
>>  will
>>                                           # happen after that time.  0
>>  disables.
>>  #log_rotation_size = 10MB               # Automatic rotation of logfiles
>>  will
>>                                           # happen after that much log output.
>>                                           # 0 disables.
>>
>>  # These are relevant when logging to syslog:
>>  #syslog_facility = 'LOCAL0'
>>  #syslog_ident = 'postgres'
>>
>>  #silent_mode = off                      # Run server silently.
>>                                           # DO NOT USE without syslog or
>>                                           # logging_collector
>>                                           # (change requires restart)
>>  # - When to Log -
>>
>>  #client_min_messages = notice           # values in order of decreasing
>>  detail:
>>                                           #   debug5
>>                                           #   debug4
>>                                           #   debug3
>>                                           #   debug2
>>                                           #   debug1
>>                                           #   log
>>                                           #   notice
>>                                           #   warning
>>                                           #   error
>>
>>  #log_min_messages = warning             # values in order of decreasing
>>  detail:
>>                                           #   debug5
>>                                           #   debug4
>>                                           #   debug3
>>                                           #   debug2
>>                                           #   debug1
>>                                           #   info
>>                                           #   notice
>>                                           #   warning
>>                                           #   error
>>                                           #   log
>>                                           #   fatal
>>                                           #   panic
>>
>>  #log_min_error_statement = error        # values in order of decreasing
>>  detail:
>>                                           #   debug5
>>                                           #   debug4
>>                                           #   debug3
>>                                           #   debug2
>>                                           #   debug1
>>                                           #   info
>>                                           #   notice
>>                                           #   warning
>>                                           #   error
>>                                           #   log
>>                                           #   fatal
>>                                           #   panic (effectively off)
>>
>>  #log_min_duration_statement = -1        # -1 is disabled, 0 logs all
>>  statements
>>                                           # and their durations, > 0 logs only
>>                                           # statements running at least this
>>  number
>>                                           # of milliseconds
>>  # - What to Log -
>>
>>  #debug_print_parse = off
>>  #debug_print_rewritten = off
>>  #debug_print_plan = off
>>  #debug_pretty_print = on
>>  #log_checkpoints = off
>>  #log_connections = off
>>  #log_disconnections = off
>>  #log_duration = off
>>  #log_error_verbosity = default          # terse, default, or verbose
>>  messages
>>  #log_hostname = off
>>  log_line_prefix = '%t '                 # special values:
>>                                           #   %a = application name
>>                                           #   %u = user name
>>                                           #   %d = database name
>>                                           #   %r = remote host and port
>>                                           #   %h = remote host
>>                                           #   %p = process ID
>>                                           #   %t = timestamp without
>>  milliseconds
>>                                           #   %m = timestamp with milliseconds
>>                                           #   %i = command tag
>>                                           #   %e = SQL state
>>                                           #   %c = session ID
>>                                           #   %l = session line number
>>                                           #   %s = session start timestamp
>>                                           #   %v = virtual transaction ID
>>                                           #   %x = transaction ID (0 if none)
>>                                           #   %q = stop here in non-session
>>                                           #        processes
>>                                           #   %% = '%'
>>                                           # e.g. '<%u%%%d> '
>>  #log_lock_waits = off                   # log lock waits >= deadlock_timeout
>>  #log_statement = 'none'                 # none, ddl, mod, all
>>  #log_temp_files = -1                    # log temporary files equal or
>>  larger
>>                                           # than the specified size in
>>  kilobytes;
>>                                           # -1 disables, 0 logs all temp files
>>  #log_timezone = '(defaults to server environment setting)'
>>  #------------------------------------------------------------------------------
>>  # RUNTIME STATISTICS
>>  #------------------------------------------------------------------------------
>>
>>  # - Query/Index Statistics Collector -
>>
>>  #track_activities = on
>>  #track_counts = on
>>  #track_functions = none                 # none, pl, all
>>  #track_activity_query_size = 1024       # (change requires restart)
>>  #update_process_title = on
>>  #stats_temp_directory = 'pg_stat_tmp'
>>
>>  # - Statistics Monitoring -
>>
>>  #log_parser_stats = off
>>  #log_planner_stats = off
>>  #log_executor_stats = off
>>  #log_statement_stats = off
>>  #------------------------------------------------------------------------------
>>  # AUTOVACUUM PARAMETERS
>>  #------------------------------------------------------------------------------
>>
>>  #autovacuum = on                        # Enable autovacuum subprocess?
>>    'on'
>>                                           # requires track_counts to also be
>>  on.
>>  #log_autovacuum_min_duration = -1       # -1 disables, 0 logs all actions
>>  and
>>                                           # their durations, > 0 logs only
>>                                           # actions running at least this
>>  number
>>                                           # of milliseconds.
>>  #autovacuum_max_workers = 3             # max number of autovacuum
>>  subprocesses
>>                                           # (change requires restart)
>>  #autovacuum_naptime = 1min              # time between autovacuum runs
>>  #autovacuum_vacuum_threshold = 50       # min number of row updates before
>>                                           # vacuum
>>  #autovacuum_analyze_threshold = 50      # min number of row updates before
>>                                           # analyze
>>  #autovacuum_vacuum_scale_factor = 0.2   # fraction of table size before
>>  vacuum
>>  #autovacuum_analyze_scale_factor = 0.1  # fraction of table size before
>>  analyze
>>  #autovacuum_freeze_max_age = 200000000  # maximum XID age before forced
>>  vacuum
>>                                           # (change requires restart)
>>  #autovacuum_vacuum_cost_delay = 20ms    # default vacuum cost delay for
>>                                           # autovacuum, in milliseconds;
>>                                           # -1 means use vacuum_cost_delay
>>  #autovacuum_vacuum_cost_limit = -1      # default vacuum cost limit for
>>                                           # autovacuum, -1 means use
>>                                           # vacuum_cost_limit
>>  #------------------------------------------------------------------------------
>>  # CLIENT CONNECTION DEFAULTS
>>  #------------------------------------------------------------------------------
>>
>>  # - Statement Behavior -
>>
>>  #search_path = '"$user",public'         # schema names
>>  #default_tablespace = ''                # a tablespace name, '' uses the
>>  default
>>  #temp_tablespaces = ''                  # a list of tablespace names, ''
>>  uses
>>                                           # only default tablespace
>>  #check_function_bodies = on
>>  #default_transaction_isolation = 'read committed'
>>  #default_transaction_read_only = off
>>  #default_transaction_deferrable = off
>>  #session_replication_role = 'origin'
>>  #statement_timeout = 0                  # in milliseconds, 0 is disabled
>>  #vacuum_freeze_min_age = 50000000
>>  #vacuum_freeze_table_age = 150000000
>>  #bytea_output = 'hex'                   # hex, escape
>>  #xmlbinary = 'base64'
>>  #xmloption = 'content'
>>
>>  # - Locale and Formatting -
>>
>>  datestyle = 'iso, mdy'
>>  #intervalstyle = 'postgres'
>>  #timezone = '(defaults to server environment setting)'
>>  #timezone_abbreviations = 'Default'     # Select the set of available time
>>  zone
>>                                           # abbreviations.  Currently, there
>>  are
>>                                           #   Default
>>                                           #   Australia
>>                                           #   India
>>                                           # You can create your own file in
>>                                           # share/timezonesets/.
>>  #extra_float_digits = 0                 # min -15, max 3
>>  #client_encoding = sql_ascii            # actually, defaults to database
>>                                           # encoding
>>
>>  # These settings are initialized by initdb, but they can be changed.
>>  lc_messages = 'en_US.UTF-8'                     # locale for system error
>>  message
>>                                           # strings
>>  lc_monetary = 'en_US.UTF-8'                     # locale for monetary
>>  formatting
>>  lc_numeric = 'en_US.UTF-8'                      # locale for number
>>  formatting
>>  lc_time = 'en_US.UTF-8'                         # locale for time formatting
>>
>>  # default configuration for text search
>>  default_text_search_config = 'pg_catalog.english'
>>  # - Other Defaults -
>>
>>  #dynamic_library_path = '$libdir'
>>  #local_preload_libraries = ''
>>
>>  #------------------------------------------------------------------------------
>>  # LOCK MANAGEMENT
>>  #------------------------------------------------------------------------------
>>
>>  #deadlock_timeout = 1s
>>  #max_locks_per_transaction = 64         # min 10
>>                                           # (change requires restart)
>>  # Note:  Each lock table slot uses ~270 bytes of shared memory, and there
>>  are
>>  # max_locks_per_transaction * (max_connections + max_prepared_transactions)
>>  # lock table slots.
>>  #max_pred_locks_per_transaction = 64    # min 10
>>                                           # (change requires restart)
>>
>>  #------------------------------------------------------------------------------
>>  # VERSION/PLATFORM COMPATIBILITY
>>  #------------------------------------------------------------------------------
>>
>>  # - Previous PostgreSQL Versions -
>>
>>  #array_nulls = on
>>  #backslash_quote = safe_encoding        # on, off, or safe_encoding
>>  #default_with_oids = off
>>  #escape_string_warning = on
>>  #lo_compat_privileges = off
>>  #quote_all_identifiers = off
>>  #sql_inheritance = on
>>  #standard_conforming_strings = on
>>  #synchronize_seqscans = on
>>
>>  # - Other Platforms and Clients -
>>
>>  #transform_null_equals = off
>>  #------------------------------------------------------------------------------
>>  # ERROR HANDLING
>>  #------------------------------------------------------------------------------
>>
>>  #exit_on_error = off                            # terminate session on any
>>  error?
>>  #restart_after_crash = on                       # reinitialize after
>>  backend crash?
>>
>>  #------------------------------------------------------------------------------
>>  # CUSTOMIZED OPTIONS
>>  #------------------------------------------------------------------------------
>>
>>  #custom_variable_classes = ''           # list of custom variable class
>>  names
>>  include '/var/lib/pgsql/tmp/rep_mode.conf' # added by pgsql RA
>>
>>  ******** root at master:/etc/postgresql/9.1/main# cat
>>  /var/lib/pgsql/tmp/rep_mode.conf
>>  synchronous_standby_names = ''
>>
>>  ********* root at master:/etc/corosync# cat corosync.conf
>>  # Please read the openais.conf.5 manual page
>>
>>  totem {
>>           version: 2
>>
>>           # How long before declaring a token lost (ms)
>>           token: 3000
>>
>>           # How many token retransmits before forming a new configuration
>>           token_retransmits_before_loss_const: 10
>>
>>           # How long to wait for join messages in the membership protocol (ms)
>>           join: 60
>>
>>           # How long to wait for consensus to be achieved before starting a
>>  new round of membership configuration (ms)
>>           consensus: 3600
>>
>>           # Turn off the virtual synchrony filter
>>           vsftype: none
>>
>>           # Number of messages that may be sent by one processor on receipt
>>  of the token
>>           max_messages: 20
>>
>>           # Limit generated nodeids to 31-bits (positive signed integers)
>>           clear_node_high_bit: yes
>>
>>           # Disable encryption
>>           secauth: off
>>
>>           # How many threads to use for encryption/decryption
>>           threads: 0
>>
>>           # Optionally assign a fixed node id (integer)
>>           # nodeid: 1234
>>
>>           # This specifies the mode of redundant ring, which may be none,
>>  active, or passive.
>>           rrp_mode: none
>>
>>           interface {
>>                   # The following values need to be set based on your
>>  environment
>>                   ringnumber: 0
>>                   bindnetaddr: 172.70.65.71
>>                   mcastaddr: 226.94.1.1
>>                   mcastport: 5405
>>           }
>>  }
>>
>>  amf {
>>           mode: disabled
>>  }
>>
>>  service {
>>           # Load the Pacemaker Cluster Resource Manager
>>           ver:       0
>>           name:      pacemaker
>>  }
>>
>>  aisexec {
>>           user:   root
>>           group:  root
>>  }
>>
>>  logging {
>>           fileline: off
>>           to_stderr: yes
>>           to_logfile: no
>>           to_syslog: yes
>>           syslog_facility: daemon
>>           debug: off
>>           timestamp: on
>>           logger_subsys {
>>                   subsys: AMF
>>                   debug: off
>>                   tags: enter|leave|trace1|trace2|trace3|trace4|trace6
>>           }
>>  }
>>
>>  _______________________________________________
>>  Pacemaker mailing list: Pacemaker at oss.clusterlabs.org
>>  http://oss.clusterlabs.org/mailman/listinfo/pacemaker
>>
>>  Project Home: http://www.clusterlabs.org
>>  Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
>>  Bugs: http://bugs.clusterlabs.org
>
> --
> NTTデータ先端技術株式会社
> 中平 和友
> TEL: 03-5860-5135 FAX: 03-5463-6490
> Mail: nakahira_kazutomo_b1 at lab.ntt.co.jp
>
> _______________________________________________
> Pacemaker mailing list: Pacemaker at oss.clusterlabs.org
> http://oss.clusterlabs.org/mailman/listinfo/pacemaker
>
> Project Home: http://www.clusterlabs.org
> Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
> Bugs: http://bugs.clusterlabs.org


More information about the Pacemaker mailing list