Commit Graph

257 Commits

Author SHA1 Message Date
Ian Barwick
f047ec9526 Use DEFAULT_WAL_KEEP_SEGMENTS in help output instead of hard-coded number 2015-02-04 14:08:55 +09:00
Ian Barwick
a3f0e89a05 Improve pg_bindir parameter handling
Previously, the pg_bindir parameter was mandatory and could only be
provided in the repmgr.conf file, which was leading to the slightly
bizarre situation that e.g. for "clone standby", repmgr was complaining
that it didn't want the configuration file when it actually did.

pg_bindir is now optional - if not provided, it will use the default
path. It can be provided in the repmgr.conf file, or as a command
line parameter; the latter overrides the former.
2015-02-04 14:04:04 +09:00
Ian Barwick
3d9d0d98af Improve repmgr configuration file handling
Previous behaviour was somewhat counterintuitive, with an error
message being logged if no configuration file provided or found,
even though this is not actually an error.

Configuration files now handled like this:

- if a configuration file is explicitly provided (-f), error out
  if not found.

- if no configuration file explicitly provided, attempt to open
  default configuration file; if this does not exist, log
  notice and continue with default values.

Also, for 9.4 and later add a hint about replication slot usage
if 'use_replication_slots' not set.
2015-02-04 09:57:51 +09:00
Ian Barwick
49debcdf92 Add version check if replication slot usage requested
Replication slots require 9.4 or greater
2015-02-02 22:16:04 +09:00
Ian Barwick
7a760c32ff Store slot name in repl_nodes table 2015-02-02 17:57:15 +09:00
Ian Barwick
b4b5e6cd30 do_standby_clone(): rename conn to primary_conn
For clarity.
2015-02-02 16:53:35 +09:00
Ian Barwick
2ece014952 Initial support for physical replication slots
Todo:
 - if slots specified in repmgr.conf, verify server version
 - store generated slot name in `repl_nodes` table
2015-02-02 15:53:53 +09:00
Ian Barwick
01360c3d39 Improve repl_status view. 2015-01-29 15:08:37 +09:00
Ian Barwick
031a726f04 Enable get_master_connection() to accept a null value for master_id
Saves worrying about the purpose of various superfluous ints
2015-01-29 11:25:01 +09:00
Ian Barwick
c413cff461 Function to update node records 2015-01-16 14:14:04 +09:00
Ian Barwick
a82d37e48a Improve node metadata and upstream connecting mechanism
To handle cascaded replication we're going to have to keep track
of each node's upstream node. Also enumerate the node type
("primary", "standby" or "witness") and mark if active.
2015-01-16 10:28:02 +09:00
Ian Barwick
4b6c097a3e Use AS for consistency 2015-01-16 08:46:28 +09:00
Ian Barwick
3dfa33d01d Store upstream node ID if set
Required to manage cascaded standbys
2015-01-16 00:29:43 +09:00
Ian Barwick
a20afe28ec Add upstream_node_id to repl_nodes table 2015-01-15 23:54:07 +09:00
Ian Barwick
692204e381 Consolidate duplicated schema check code 2015-01-15 18:34:51 +09:00
Ian Barwick
d141d2a8aa Remove unused variable 2015-01-14 16:25:24 +09:00
Ian Barwick
fc6f5ddaa7 Add function repmgr_get_primary_conninfo() 2015-01-14 16:23:08 +09:00
Ian Barwick
5db6489ae5 Initial support for cascaded standbys 2015-01-14 14:18:57 +09:00
Ian Barwick
2ff24fecf2 Remove redundant constant 2015-01-12 13:16:13 +09:00
Ian Barwick
822867ec24 Fix thinko 2015-01-12 09:40:47 +09:00
Ian Barwick
e958b8f2d7 Fix typo 2015-01-09 18:44:31 +09:00
Ian Barwick
74a963a10e Fix schema quoting
There was a lot of duplicated/unused related to handling the
schema name; consolidated and rationalised.
2015-01-09 15:51:34 +09:00
Ian Barwick
dd064cb47c res1 -> res 2015-01-09 11:20:07 +09:00
Ian Barwick
17de82493a Consolidate repl_node insert statements 2015-01-09 11:14:47 +09:00
Ian Barwick
f2fa60f5cf Tidy up SQL statements
Improves readability
2015-01-09 09:46:41 +09:00
Ian Barwick
7c15176646 Clean up comments 2015-01-08 14:04:43 +09:00
Ian Barwick
97cbd7d557 Remove superfluous variable 2015-01-08 13:23:33 +09:00
Ian Barwick
5798241205 Add 'recovery_target_timeline = latest' to recovery.conf
Also revert to generating our own recovery.conf rather than using
pg_basebackup's minimal file.
2015-01-08 10:46:49 +09:00
Ian Barwick
5b5b4cd4cd Remove redundant comment 2015-01-08 09:51:53 +09:00
Ian Barwick
a5b5e3d384 No need to store master version number here 2015-01-07 08:55:17 +09:00
Ian Barwick
241622694d Remove support for pre-9.3 servers 2015-01-06 14:53:26 +09:00
Ian Barwick
687872e979 get_data_directory() -> get_pg_setting()
More code consolidation
2015-01-06 13:47:31 +09:00
Ian Barwick
3033f2dfaf Fix get_cluster_size()
Was returning a pointer to a cleared PQresult
2015-01-06 10:30:33 +09:00
Ian Barwick
718024454e Add function get_data_directory()
Consolidate duplicate code
2015-01-06 10:06:58 +09:00
Ian Barwick
ba4413ce91 Change any log messages using 'master' to 'primary'
For consistency, as 'master' is the preferred terminology in repmgr
2015-01-06 08:19:48 +09:00
Ian Barwick
e85e0732ef Nope, no real point doing that here 2015-01-05 22:55:58 +09:00
Ian Barwick
97fb3dbb14 Have 'standby promote' use 'pg_ctl promote' 2015-01-05 21:28:11 +09:00
Ian Barwick
8e09e7b57c Fix error code handling 2015-01-05 10:49:21 +09:00
Ian Barwick
4f37515113 Pass username to pg_basebackup 2015-01-05 10:29:02 +09:00
Ian Barwick
f23c43b986 Clean up exit error codes 2015-01-05 09:36:48 +09:00
Ian Barwick
38de150436 Fix spelling 2015-01-05 09:23:26 +09:00
Ian Barwick
a80da61203 Remove unneeded parameters 2015-01-04 17:10:29 +09:00
Ian Barwick
4fbe8ca70e copy_remote_files() now only needs to copy individual files
In which case rsync should be an atomic operation
2015-01-04 16:03:27 +09:00
Ian Barwick
1aa12a122f Selectively copy configuration files if not in master data directory 2015-01-04 15:59:07 +09:00
Ian Barwick
c54d5f9a9c Add check for max_wal_senders > 0 on master 2015-01-04 08:31:52 +09:00
Ian Barwick
db49206fc5 Clean up logging output 2015-01-04 08:25:50 +09:00
Ian Barwick
017f66e15e Make --check-master-config state no problems found 2015-01-04 08:15:11 +09:00
Ian Barwick
e06949db87 Add option --check-master-config
Consolidate the configuration checks carried out when cloning
a standby, and enable them to be run separately to check the
required configuration without running STANDBY CLONE multiple times.
2015-01-03 11:29:00 +09:00
Ian Barwick
2f6ce44cab Consolidate server version checks in repmgr
Merge basically identical checks in multiple places into a single
function. Only doing this in repmgr, as repmgrd only performs
the version check in one place and we'd need to somehow pass progname
to the function as well, which isn't worth the effort.
2015-01-03 09:25:08 +09:00
Ian Barwick
1f21040fb3 Fix help output formatting 2015-01-03 08:12:13 +09:00