Commit Graph

32 Commits

Author SHA1 Message Date
Ian Barwick 703a483e81 Remove redundant comment in .sql files 2019-06-04 13:46:10 +09:00
Ian Barwick 472d703d2e repmgr: initialise "voting_term" in "repmgr primary register"
This previously happened in the extension SQL code, which could
potentially cause replay problems if installing on a BDR cluster.

As this table is only required for streaming replication failover,
move the initialisation to "repmgr primary register".

Addresses GitHub #344 .
2017-11-28 11:08:12 +09:00
Ian Barwick 8c422d6084 Remove unneeded functions 2017-11-20 15:18:21 +09:00
Ian Barwick 7fffe3ed96 witness: initial code framework 2017-11-15 13:47:41 +09:00
Ian Barwick a1e272f64c Update extension SQL 2017-11-13 10:02:46 +09:00
Ian Barwick 0230bafae1 repmgrd: updates related to node_id handling 2017-11-10 12:07:31 +09:00
Ian Barwick 4ca7e6a6bf repmgrd: remove unneeded functions 2017-11-09 19:31:08 +09:00
Ian Barwick 79d21b516b repmgrd: fixes to failover handling
get_new_primary() returns NULL if no notification for the new primary has
been received, but the code was expecting it to return UNKNOWN_NODE_ID,
which was causing repmgrd to prematurely drop out of the new primary
detection loop if no notification had been received by the time the loop
started.

Also store the electoral term as a single row, single column table,
to ensure that all repmgrds see the same turn. It is then bumped
by the winning node after it gets promoted.

Various logging improvements.
2017-11-08 14:28:08 +09:00
Ian Barwick 687c8b4e27 Initial changes for 9.3 support 2017-09-15 10:27:37 +09:00
Ian Barwick e16f68dfce Use "MODULE_PATHNAME" in function definitions 2017-09-08 20:46:45 +09:00
Ian Barwick fcd111ac4c Improve logging output during failover process 2017-08-24 22:44:03 +09:00
Ian Barwick eee8d65259 Update view "replication_status" 2017-08-24 15:05:13 +09:00
Ian Barwick a127e8face Provisionally add view "repmgr.replication_status" 2017-08-24 12:58:36 +09:00
Ian Barwick 5dfb8a5b06 Add SQL for monitoring history table 2017-08-23 22:18:23 +09:00
Ian Barwick 1d99a07b43 Store configuration file in repmgr.nodes table
When executing repmgr on remote nodes, we otherwise end up jumping
through hoops as we can't make assumptions about where the configuration
file is located, but really need to be able to provide it.

From a support point of view it will also make life easier as it will
be easy to specify exactly which file to provide.
2017-08-10 08:03:24 +09:00
Ian Barwick 49ac9cf9ca Add "repmgr cluster show" 2017-07-19 17:36:21 +09:00
Ian Barwick 951c7dbd07 repmgrd: in BDR mode, have each repmgrd monitor each node
This will cover both the case when an entire node including
repmgrd goes down, and when one PostgreSQL instance goes down
but repmgrd is still up (in which case only one of the repmgrds
will handle the failover).
2017-07-14 15:01:18 +09:00
Ian Barwick 5fbcf3e476 Remove witness server references 2017-07-10 09:31:31 +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 618a2346e1 repmgrd: various fixed, mainly clearing status after a failover event 2017-07-04 11:55:03 +09:00
Ian Barwick debe5a18c5 have new primary communicate to standbys 2017-06-30 21:45:25 +09:00
Ian Barwick fc4f276844 Improve handling
not sure if we need to store the electoral term...
2017-06-30 13:40:19 +09:00
Ian Barwick 3514e20367 poke it around until it works less badly 2017-06-29 09:35:09 +09:00
Ian Barwick fa86fe4ad8 Basic voting 2017-06-29 01:11:21 +09:00
Ian Barwick f4e8bf891d interim commit 2017-06-28 17:28:26 +09:00
Ian Barwick ded8d95e5a interim commit 2017-06-28 16:38:41 +09:00
Ian Barwick 35b6178e07 placeholder code for function 2017-06-27 09:50:47 +09:00
Ian Barwick 46c956e61a Use "primary" instead of "master" 2017-06-23 21:33:54 +09:00
Ian Barwick 36b3782009 Store the replication user in repmgr.nodes
When creating recovery.conf outside of "repmgr standby clone",
there was no way of knowing if a replication user had been
explicitly provided with --replication-user, meaning the value
of "primary_conninfo" would be set to the "conninfo" field of the
node's upstream node record.

We'll add an extra column to store the replication user for each
node so it can be referenced at any time.
2017-06-14 23:27:26 +09:00
Ian Barwick 1631917715 Initial table definitions and coding for repmgr client utility 2017-04-19 22:41:20 +09:00
Ian Barwick e306eb213b Tweak extension configuration 2017-04-19 10:12:26 +09:00