Commit Graph

320 Commits

Author SHA1 Message Date
Ian Barwick
5dfb8a5b06 Add SQL for monitoring history table 2017-08-23 22:18:23 +09:00
Ian Barwick
8dfb7bbc7d repmgrd: handle promotion failure properly 2017-08-23 21:44:18 +09:00
Ian Barwick
6259463007 repmgrd: various fixes for "manual" failover mode 2017-08-23 10:56:55 +09:00
Ian Barwick
ff07763242 repmgr: update --help output
Display database connection options.
2017-08-22 15:07:22 +09:00
Ian Barwick
ef0163bd84 "standby follow": ensure recovery.conf uses "node_name" as "application_name"
In repmgr4 we want to make it easier to establish which node is connected
to which.
2017-08-22 13:21:29 +09:00
Ian Barwick
44d1b96bc3 repmgrd: fix log output 2017-08-22 13:21:16 +09:00
Ian Barwick
7ca396b9cb Add missing Barman options check 2017-08-21 14:10:08 +09:00
Ian Barwick
4943909282 Fix source server version number checks during "standby clone" 2017-08-21 13:36:11 +09:00
Ian Barwick
f131d37871 Update document "changes-in-repmgr4.md" 2017-08-21 12:53:47 +09:00
Ian Barwick
5df77f0fed Fixes to contrib/convert-config.pl 2017-08-21 10:15:04 +09:00
Ian Barwick
594e9e5007 Document upgrade process from repmgr3
Also provide unpackaged extension upgrade SQL, and a script to
assist converting repmgr.conf files.
2017-08-17 23:37:31 +09:00
Ian Barwick
5e019a65e7 Initial upgrade SQL for repmgr3 to repmgr4 2017-08-17 21:14:55 +09:00
Ian Barwick
f3579e5fb0 Update README 2017-08-17 16:06:57 +09:00
Ian Barwick
0572996d61 Update README 2017-08-17 15:36:21 +09:00
Ian Barwick
da24d883e5 Remove option "--wal-keep-segments"
This is a remnant of the early repmgr days when there were no alternative
mechanisms for ensuring sufficient WAL remains available while cloning a
standby.

The purpose of this setting was to override a check for an (arbitrary)
minimum setting for "wal_keep_segments". As there's no reliable way
of determining a sensible value for this, and improvements in
pg_basebackup mean WALs can be streamed (possibly using a replication
slot) while the backup is in progress, there's no point in keeping
this around.

We will however still emit a warning about setting "wal_keep_segments"
if the configuration doesn't appear to provide any other way of
ensuring WAL is available during/after the cloning process and
"wal_keep_segments" is not set.
2017-08-17 14:45:13 +09:00
Ian Barwick
ac64526bd3 Finalize "repmgr node --help" output 2017-08-17 14:25:43 +09:00
Ian Barwick
9ac5c48cc5 Add --help output for "repmgr node check" 2017-08-17 14:12:40 +09:00
Ian Barwick
5127b9253b "repmgr node check": improve Nagios output 2017-08-17 13:54:48 +09:00
Ian Barwick
b1ba476241 Rename "archiver" check etc. to "archive-ready"
Gives a better indication of what's being checked.
2017-08-17 12:23:56 +09:00
Ian Barwick
b1b5870d54 "repmgr node status": add --help output, fix CSV output
Also ensure is executed only on local node, as it needs to read
the data directory.
2017-08-17 11:27:31 +09:00
Ian Barwick
7a9064cd1b "repmgr cluster events": show node name in output, if available
Nodes can be removed from repmgr.nodes, so we'll only have the historical
ID available via repmgr.events.
2017-08-17 10:49:54 +09:00
Ian Barwick
bbd59ab9a2 Update "repmgr cluster event" documentation and --help output 2017-08-17 10:40:48 +09:00
Ian Barwick
c93fa73a71 Ensure "repmgr cluster events" can filter on node name 2017-08-17 10:22:18 +09:00
Ian Barwick
a0bad5fdc0 General code cleanup 2017-08-16 23:09:02 +09:00
Ian Barwick
0ac16f7630 Add more --help output 2017-08-16 17:49:46 +09:00
Ian Barwick
ae30f41de6 Clean up various unhandled memory allocations 2017-08-16 17:09:13 +09:00
Ian Barwick
8ff545f9ae Add --help output for "repmgr cluster" 2017-08-16 16:33:07 +09:00
Ian Barwick
4efc8fb9ce Add placeholder functions for "repmgr $command --help"
There are now too many options to sensibly fit into general --help
output; we'll add separate output for each repmgr command, e.g.
"repmgr node --help".
2017-08-16 13:24:14 +09:00
Ian Barwick
00f983dc15 Update README 2017-08-16 13:23:46 +09:00
Ian Barwick
4c0d719cdb Add replication slot check to "repmgr node check" 2017-08-16 11:17:02 +09:00
Ian Barwick
3e9ce6fe38 Fix "repmgr node check --role" output 2017-08-15 22:07:07 +09:00
Ian Barwick
554673e83e Add "repmgr node check --downstream" 2017-08-15 15:50:46 +09:00
Ian Barwick
10ef30096c "node check": add server role check 2017-08-14 22:57:09 +09:00
Ian Barwick
fa7d60cd51 "node check": initial general output 2017-08-14 17:32:44 +09:00
Ian Barwick
3b2158edbf Initialise variables, where appropriate 2017-08-14 15:11:42 +09:00
Ian Barwick
4260fdf1e7 More code cleanup 2017-08-14 12:19:57 +09:00
Ian Barwick
eabd56f3be "standby follow": check node system identifiers match 2017-08-14 11:45:08 +09:00
Ian Barwick
0f31756733 General code cleanup 2017-08-14 10:04:53 +09:00
Ian Barwick
b95b3e50e3 Return system identification information with appropriate data types 2017-08-14 08:50:54 +09:00
Ian Barwick
50b82f785e Add function to execute "IDENTIFY_SYSTEM" 2017-08-11 22:01:02 +09:00
Ian Barwick
f972aec198 Parse recovery.conf file
This will be useful for various kinds of diagnostics.
2017-08-10 23:58:16 +09:00
Ian Barwick
1292e8991a Improve "standby switchover" --dry-run output 2017-08-10 22:43:05 +09:00
Ian Barwick
8a50a72dc5 Additional "node status" output 2017-08-10 17:18:08 +09:00
Ian Barwick
4f2161bd83 Cleanup various #defines 2017-08-10 15:11:53 +09:00
Ian Barwick
970ed5d959 Bump minimum supported version to 9.5
We assume availability of pg_rewind.
2017-08-10 15:07:32 +09:00
Ian Barwick
cc52227d61 Miscellaneous cleanup 2017-08-10 15:05:01 +09:00
Ian Barwick
7ca68b7cc8 Standardize "primary_conninfo" generation
Previously repmgr would write all the default libpq parameters
into "primary_conninfo" on "standby clone", but not for
"standby follow", which is inconsistent.

For repmgr4 we'll determine that the upstream node's conninfo
must be canonical and contain all required connection parameters,
even if these are available as defaults or environment variables
in the local environment, as those are transient and may not
be available in all environments/situations.

recovery.conf's "primary_conninfo" will be generated using the
upstream's conninfo parameters, except for those specific
to the downstream node. These are:

  - "application_name": this will always be set to the
      "node_name"  of the downstream node
  - "passfile" and "servicefile": these, must of course
    reference files on the downstream node so will be extracted
    from the downstream node's conninfo, if set
2017-08-10 12:37:50 +09:00
Ian Barwick
1cb0adfdcb Finalize switchover process 2017-08-10 09:34:48 +09:00
Ian Barwick
5fb86771b1 Use stored node configuration file path when executing remote commands
Makes life much easier.
2017-08-10 09:12:07 +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