Ian Barwick
d77e8d4d22
repmgrd: split physical and BDR functionality into separate files
2017-07-13 17:21:29 +09:00
Ian Barwick
0320f409aa
Detect BDR capability via presence of extension
2017-07-13 14:13:46 +09:00
Ian Barwick
2594a46a4f
Limit repmgr installation on a BDR cluster to two nodes
2017-07-13 14:10:08 +09:00
Ian Barwick
7eadbf6b17
Various improvements to "repmgr bdr register/unregister"
2017-07-12 22:38:03 +09:00
Ian Barwick
0a1addfdc0
When registering a BDR node, sync repmgr.nodes from another node
...
If a BDR node is added via bdr_group_join(), repmgr.nodes will
start off empty, so we'll need to sync it ourselves before adding
it to the repmgr replication set.
2017-07-12 10:11:25 +09:00
Ian Barwick
1cccb1dd5a
Add "repmgr bdr unregister"
2017-07-12 10:11:21 +09:00
Ian Barwick
71a0871232
Add "repmgr bdr register"
2017-07-11 15:38:58 +09:00
Ian Barwick
2962ffe605
repmgrd: initial BDR monitoring support
2017-07-10 23:58:59 +09:00
Ian Barwick
dddea9814b
Add BDR-related database functions
2017-07-10 21:52:39 +09:00
Ian Barwick
941ed343f8
repmgrd: additional location check
...
If only one promotion candidate is available, check it is in the
same location as the primary.
2017-07-10 15:20:43 +09:00
Ian Barwick
5fbcf3e476
Remove witness server references
2017-07-10 09:31:31 +09:00
Ian Barwick
9e3d942917
Handle various (unlikely) failure states
2017-07-10 09:00:18 +09:00
Ian Barwick
5bf7098139
repmgrd: consolidate clear_node_info_list() calls
2017-07-09 11:10:49 +09:00
Ian Barwick
2787994a6e
Make repmgrd failover settings configurable
2017-07-07 21:11:22 +09:00
Ian Barwick
b08511ec79
When cloning from Barman, use basebackups_directory
...
See: https://github.com/2ndQuadrant/repmgr/issues/312
2017-07-07 13:39:10 +09:00
Ian Barwick
35df85e67d
repmgrd: improve handling of "degraded monitoring"
...
In some cases, the monitored upstream may not be available for a while
(e.g. network split), in which case it makes sense to have repmgrd
keep running and trying to reconnect. Previously it would just keel
over and quit.
2017-07-06 17:19:55 +09:00
Ian Barwick
6b82ecbafc
repmgrd: check for visibility of primary location
...
Also support degraded monitoring status
2017-07-06 11:45:04 +09:00
Ian Barwick
0d226867b4
Add "location" column
2017-07-06 01:17:00 +09:00
Ian Barwick
9351e532b4
Ensure configuration parameter "replication_user" is smaller than NAMEDATALEN
2017-07-06 00:22:23 +09:00
Ian Barwick
ff4cc64a67
repmgrd: refresh upstream node record from upstream itself
2017-07-05 13:23:42 +09:00
Ian Barwick
3c45853b6f
Fixes for cascaded standby failover
2017-07-05 12:43:35 +09:00
Ian Barwick
a31d66f826
repmgr standby follow: add event details
...
Useful to have a confirmation of which node was followed.
2017-07-05 11:36:30 +09:00
Ian Barwick
2f2a983272
Fixes for cascaded standby monitoring
2017-07-05 11:26:09 +09:00
Ian Barwick
614287548d
Fix function get_primary_node_record()
2017-07-05 11:20:32 +09:00
Ian Barwick
617dee6bd6
Add function create_event_record()
...
For logging an event to the event table without generating an external
event notification.
Rename existing create_event_record*() functions to create_event_notification*()
as this describes their function better.
2017-07-05 09:52:22 +09:00
Ian Barwick
d3ec15cd25
Fixes from merge
2017-07-04 23:57:43 +09:00
Ian Barwick
582d0ef363
Rename "logxxx" configuration file parameters to "log_xxx"
...
This is more consistent with other parameters and conforms to
the pattern used by PostgreSQL itself, which uses the prefix "log_"
for logging parameters.
A warning will be emitted if the old version of the parameter name
is detected.
2017-07-04 23:36:47 +09:00
Ian Barwick
9bf264177f
Add checks for use of --upstream-node-id
2017-07-04 23:35:19 +09:00
Ian Barwick
60edb00bb4
Add dummy BDR monitoring handler
2017-07-04 23:35:19 +09:00
Ian Barwick
4e06355b57
Replace repmgr.conf item "upstream_node_id" with --upstream-node-id
...
This is only relevant when cloning a standby and the node's upstream
can change after failover/switchover etc., so no point keeping the
original value around in the configuration file.
2017-07-04 23:34:20 +09:00
Ian Barwick
24c6b2c9f1
repmgrd: initial code for cascaded standby failover
2017-07-04 23:14:05 +09:00
Ian Barwick
e1f4384f7e
repmgrd: refactory primary failover code into separate function
2017-07-04 20:42:22 +09:00
Ian Barwick
f7f49ae85e
repmgrd: handle case where upstream node ID is not defined
...
This shouldn't usually happen, but can't be ruled out entirely.
2017-07-04 18:05:35 +09:00
Ian Barwick
7bd8ce703d
repmgrd: handle local node outage
2017-07-04 13:22:26 +09:00
Ian Barwick
618a2346e1
repmgrd: various fixed, mainly clearing status after a failover event
2017-07-04 11:55:03 +09:00
Ian Barwick
78d45ebf68
Various fixes
...
Add more event logging, and improve comments.
2017-07-03 23:41:34 +09:00
Ian Barwick
c2d615fc19
repmgrd: only vote for self if no other node is ahead
2017-07-03 21:59:34 +09:00
Ian Barwick
c12bf01b5a
When clearing a node info list, reset the node count to 0
2017-07-03 21:59:02 +09:00
Ian Barwick
cc46058a8e
repmgrd: ensure standby_nodes list is up-to-date
2017-07-03 20:22:48 +09:00
Ian Barwick
890b88d644
More failover fixes
2017-07-03 17:37:32 +09:00
Ian Barwick
1bc4e968f6
Localize variables
2017-07-03 14:57:39 +09:00
Ian Barwick
e3d52d1257
repmgrd: execute "standby follow"
2017-07-03 14:36:55 +09:00
Ian Barwick
18b40be7f1
Add configuration option "log_status_interval"
...
Normally (outside of log level DEBUG) repmgrd doesn't generate any
kind of log output, so examining the log file may give the impression
it's not working. Output an informational message at regular intervals
to show it's up and running.
2017-07-03 12:14:52 +09:00
Ian Barwick
34c746fcde
Rename "logxxx" configuration file parameters to "log_xxx"
...
This is more consistent with other parameters and conforms to
the pattern used by PostgreSQL itself, which uses the prefix "log_"
for logging parameters.
A warning will be emitted if the old version of the parameter name
is detected.
2017-07-03 10:38:15 +09:00
Ian Barwick
debe5a18c5
have new primary communicate to standbys
2017-06-30 21:45:25 +09:00
Ian Barwick
1857e23fef
add failover states
2017-06-30 17:42:39 +09:00
Ian Barwick
83405a6d39
Add sample configuration file
...
Formatted more like the default postgresql.conf file for clarity.
2017-06-30 17:14:06 +09:00
Ian Barwick
c793b1b7d2
repmgr: fix generation of default "dbname"
...
If not explicitly provided, "dbname" was being set early to the default
"username" value, which was leading to different behaviour to libpq
applications, where "dbname" defaults to "username" at connection
time.
2017-06-30 17:13:59 +09:00
Ian Barwick
a666a49977
Execute promote command
2017-06-30 16:04:47 +09:00
Ian Barwick
9caa715eb0
minor fixes
2017-06-30 14:30:41 +09:00