table of contents
other versions
- jessie 1:3.9.3+git20121009-3.1
- jessie-backports 1:4.0.0~rc1-4~bpo8+1
- stretch 1:4.0.0~rc1-4
- testing 1:4.2.0-1
- unstable 1:4.2.0-2
OCF_HEARTBEAT_PGSQL(7) | OCF resource agents | OCF_HEARTBEAT_PGSQL(7) |
NAME¶
ocf_heartbeat_pgsql - Manages a PostgreSQL database instanceSYNOPSIS¶
pgsql [start | stop | status | monitor | promote | demote
| meta-data | validate-all]
DESCRIPTION¶
Resource script for PostgreSQL. It manages a PostgreSQL as an HA resource.SUPPORTED PARAMETERS¶
pgctlPath to pg_ctl command.
(optional, string, default "/usr/bin/pg_ctl")
start_opt
Start options (-o start_opt in pg_ctl). "-i -p
5432" for example.
(optional, string, no default)
ctl_opt
Additional pg_ctl options (-w, -W etc..).
(optional, string, no default)
psql
Path to psql command.
(optional, string, default "/usr/bin/psql")
pgdata
Path to PostgreSQL data directory.
(optional, string, default "/var/lib/pgsql/data")
pgdba
User that owns PostgreSQL.
(optional, string, default "postgres")
pghost
Hostname/IP address where PostgreSQL is listening
(optional, string, no default)
pgport
Port where PostgreSQL is listening
(optional, integer, default 5432)
pglibs
Custom location of the Postgres libraries. If not set,
the standard location will be used.
(optional, string, default "/usr/lib")
monitor_user
PostgreSQL user that pgsql RA will user for monitor
operations. If it's not set pgdba user will be used.
(optional, string, no default)
monitor_password
Password for monitor user.
(optional, string, no default)
monitor_sql
SQL script that will be used for monitor operations.
(optional, string, default "select now();")
config
Path to the PostgreSQL configuration file for the
instance.
(optional, string, default
"/var/lib/pgsql/data/postgresql.conf")
pgdb
Database that will be used for monitoring.
(optional, string, default "template1")
logfile
Path to PostgreSQL server log output file.
(optional, string, default "/dev/null")
socketdir
Unix socket directory for PostgreSQL.
If you use PostgreSQL 9.3 or higher and define unix_socket_directories in the
postgresql.conf, then you must set socketdir to determine which directory is
used for psql command.
(optional, string, no default)
stop_escalate
Number of seconds to wait for stop (using -m fast) before
resorting to -m immediate
(optional, integer, default 90)
rep_mode
Replication mode may be set to "async" or
"sync" or "slave". They require PostgreSQL 9.1 or later.
Once set, "async" and "sync" require node_list, master_ip,
and restore_command parameters,as well as configuring PostgreSQL for
replication (in postgresql.conf and pg_hba.conf).
"slave" means that RA only makes recovery.conf before starting to
connect to primary which is running somewhere. It dosen't need master/slave
setting. It requires master_ip restore_command parameters.
(optional, string, default "none")
node_list
All node names. Please separate each node name with a
space. This is required for replication.
(optional, string, no default)
restore_command
restore_command for recovery.conf. This is required for
replication.
(optional, string, no default)
archive_cleanup_command
archive_cleanup_command for recovery.conf. This is used
for replication and is optional.
(optional, string, no default)
recovery_end_command
recovery_end_command for recovery.conf. This is used for
replication and is optional.
(optional, string, no default)
master_ip
Master's floating IP address to be connected from hot
standby. This parameter is used for "primary_conninfo" in
recovery.conf. This is required for replication.
(optional, string, no default)
repuser
User used to connect to the master server. This parameter
is used for "primary_conninfo" in recovery.conf. This is required
for replication.
(optional, string, default "postgres")
primary_conninfo_opt
primary_conninfo options of recovery.conf except host,
port, user and application_name. This is optional for replication.
(optional, string, no default)
restart_on_promote
If this is true, RA deletes recovery.conf and restarts
PostgreSQL on promote to keep Timeline ID. It probably makes fail-over slower.
It's recommended to set on-fail of promote up as fence. This is optional for
replication.
(optional, boolean, default false)
replication_slot_name
Set this option when using replication slots. Can only
use lower case letters, numbers and underscore for replication_slot_name.
When the master node has 1 slave node,one replication slot would be created with
the name "replication_slot_name". When the master node has 2 or more
slave nodes,the replication slots would be created for each node, with the
name adding the node name as postfix. For example, replication_slot_name is
"sample" and 2 slaves which are "node1" and
"node2" connect to their slots, the slots names are
"sample_node1" and "sample_node2". If the node name
contains a upper case letter, hyphen and dot, those characters will be
converted to a lower case letter or an underscore. For example,
Node-1.example.com to node_1_example_com.
pgsql RA doesn't monitor and delete the repliation slot. When the slave node has
been disconnected in failure or the like, execute one of the following
manually. Otherwise it may eventually cause a disk full because the master
node will continue to accumulate the unsent WAL. 1. recover and reconnect the
slave node to the master node as soon as possible. 2. delete the slot on the
master node by following psql command. $ select
pg_drop_replication_slot('replication_slot_name');
(optional, string, no default)
tmpdir
Path to temporary directory. This is optional for
replication.
(optional, string, default "/var/lib/pgsql/tmp")
xlog_check_count
Number of checks of xlog on monitor before promote. This
is optional for replication.
(optional, integer, default 3)
crm_attr_timeout
The timeout of crm_attribute forever update command.
Default value is 5 seconds. This is optional for replication.
(optional, integer, default 5)
stop_escalate_in_slave
Number of seconds to wait for stop (using -m fast) before
resorting to -m immediate in slave state. This is optional for replication.
(optional, integer, default 90)
check_wal_receiver
If this is true, RA checks wal_receiver process on
monitor and notifies its status using "(resource
name)-receiver-status" attribute. It's useful for checking whether
PostgreSQL (hot standby) connects to primary. The attribute shows status as
"normal" or "normal (master)" or "ERROR". Note
that if you configure PostgreSQL as master/slave resource, then wal receiver
is not running in the master and the attribute shows status as "normal
(master)" consistently because it is normal status.
(optional, boolean, default false)
SUPPORTED ACTIONS¶
This resource agent supports the following actions (operations): startStarts the resource. Suggested minimum timeout:
120.
stop
Stops the resource. Suggested minimum timeout: 120.
status
Performs a status check. Suggested minimum timeout:
60.
monitor
Performs a detailed status check. Suggested minimum
timeout: 30. Suggested interval: 30.
monitor (Master role)
Performs a detailed status check. Suggested minimum
timeout: 30. Suggested interval: 29.
promote
Promotes the resource to the Master role. Suggested
minimum timeout: 120.
demote
Demotes the resource to the Slave role. Suggested minimum
timeout: 120.
notify
Suggested minimum timeout: 90.
meta-data
Retrieves resource agent metadata (internal use only).
Suggested minimum timeout: 5.
validate-all
Performs a validation of the resource configuration.
Suggested minimum timeout: 5.
methods
Suggested minimum timeout: 5.
EXAMPLE CRM SHELL¶
The following is an example configuration for a pgsql resource using the crm(8) shell:primitive p_pgsql ocf:heartbeat:pgsql \ op monitor depth="0" timeout="30" interval="30" \ op monitor depth="0" timeout="30" interval="29" role="Master"
ms ms_pgsql p_pgsql \ meta notify="true" interleave="true"
EXAMPLE PCS¶
The following is an example configuration for a pgsql resource using pcs(8)pcs resource create p_pgsql ocf:heartbeat:pgsql \ op monitor depth="0" timeout="30" interval="30" \ op monitor depth="0" timeout="30" interval="29" role="Master" --master
SEE ALSO¶
http://clusterlabs.org/AUTHOR¶
ClusterLabs contributors (see the resource agent source for information about individual authors)06/07/2017 | resource-agents 4.0.0~rc1-4~bp |