Commit Graph

929 Commits

Author SHA1 Message Date
Ian Barwick 87ff9d09ba Ensure --force option works with "master register"
This was failing previously if repmgr was able to connect to the
master database
2015-09-24 16:55:59 +09:00
Ian Barwick c429b0b186 Don't fail with error when registering master if schema already defined
Registering a master creates the schema, but it may be desirable
to forcibly reregister a master without deleting the schema, so
uncouple the dependency.

Also ensure schema creation is atomic by wrapping it in a transaction.

Per GitHub issue #49.
2015-09-24 16:55:43 +09:00
Martín Marqués 03b88178c1 Minor change in an error log message 2015-09-23 10:44:07 -03:00
Martín Marqués 5f33f4286f Merge pull request #115 from xocolatl/unregister
Add a STANDBY UNREGISTER command.
2015-09-23 10:17:22 -03:00
Vik Fearing 932f84910b Add a STANDBY UNREGISTER command.
In some cases it is desirable to remove repmgr's handling of a standby, perhaps
because that standby is to be removed altogether.  With no UNREGISTER command,
one had to manually delete the corresponding row from repl_nodes.
2015-09-23 12:37:42 +02:00
Ian Barwick 1ef7f1368d Update TODO 2015-09-23 14:05:09 +09:00
Ian Barwick 640abed18f Don't close connection to master until upstream node updated 2015-09-23 13:11:51 +09:00
Tomas Vondra ef6b24551a call update_node_record_set_upstream() for STANDBY FOLLOW
repmgrd correctly updates ID of the upstream node after automatic
failover, but repmgr was not doing that for manual failvers.

This moves the existing function to dbutils and modifies it so that
it does not rely on global variables with configuration (available
just in repmgrd).

This should fix issue #67 (hopefully, haven't done much testing).
2015-09-23 12:32:47 +09:00
Ian Barwick 42847e44d2 Update HISTORY file 2015-09-23 10:29:40 +09:00
Ian Barwick dd7cfce3d3 Add TODO note about default configuration file.
Per suggestion in #108.
2015-09-22 19:26:19 +09:00
Ian Barwick 30fd111cba Rework config file handling
If no configuration file provided, also check default Postgres
sysconfig dir.

It would also be useful to check the configuration directory
provided by the RPM/DEB packages, not sure if that's programmatically
feasible.
2015-09-21 15:55:29 +09:00
Ian Barwick 65e63b062e Generally tidy up help output 2015-09-21 11:49:06 +09:00
Ian Barwick 053f672caa Treat -?/--help and -V/--version as normal options
Currently repmgr/repmgrd will only accept these as valid when
provided as the first command line option, however it's possible
a user will want to get the output of those options by adding
them to the end of a previously inputted command.

Note that after the first of these options is encountered, the
program will terminate and not process any other options. This
is consistent with psql's behaviour

Per GitHub issue #107 from Sébastien Gross.
2015-09-21 09:53:51 +09:00
Ian Barwick f6d02b85d8 Better handling of situation where logfile can't be opened
If freopen() fails, stderr is diverted to an undisclosed location
and it's not clear what is going on.

Also add an explicit notice announcing our intention to divert
logging output to a file.

Per #105.

Note that it might make sense to disable logfile output when
running the repmgr command line client as normally you'd expect
immediate feedback.
2015-09-15 13:37:40 +09:00
Ian Barwick 6ebf3a7319 Make example output host match input configuration 2015-09-14 14:32:34 +09:00
Ian Barwick 7345ddcf00 Whitespace tweak 2015-09-10 14:27:21 +09:00
Ian Barwick eb0af7ca23 Always pass -D/--pgdata option to pg_basebackup
repmgr does not require explicit provision of the target data
directory when cloning a standby (it defaults to the same directory
as on the master). However this is a required option for pg_basebackup
which was only being provided if repmgr's -D/--data-dir option was
set, so ensure we always provide whatever repmgr is using.

Per report from Martín.
2015-08-25 14:36:51 +09:00
Ian Barwick ae47e5f413 Fix example command syntax 2015-08-12 12:32:41 +09:00
Ian Barwick 46100a9549 "Supports 9.3 and 9.4" -> "Supports 9.3 and later"
In case anyone thinks it might not run on 9.5.
2015-08-12 12:26:27 +09:00
Gianni Ciolli 9bd95cabdf Merge pull request #98 from gciolli/master
Bug #97 fix (standby clone --force does not empty pg_xlog).
2015-08-11 15:10:37 +02:00
Gianni Ciolli f1584469bf Bug #97 fix (standby clone --force does not empty pg_xlog). 2015-08-11 14:59:23 +02:00
Abhijit Menon-Sen a7f46d24de Merge pull request #96 from gciolli/master
Bug #90 fix (autofailover with reconnect_attemps > 1).
2015-08-11 06:35:31 +05:30
Gianni Ciolli 462d446477 Bug #90 fix (autofailover with reconnect_attemps > 1).
The main change is that now check_connection requires a conninfo
parameter, and the connection object has type (PGconn **) so it can be
replaced by check_connection if needed.

The bug was caused by the fact that the first failure resulted in
*conn == NULL, so that subsequent checks of the upstream connection
were failing irrespectively of the actual state of the upstream node.

Now, when *conn == NULL, check_connection will use conninfo to
establish a new connection and place it into *conn. We introduce a new
INTERNAL_ERROR code for the case when they are both NULL.

In passing, we also reworded a confusing error message, distinguishing
a timeout from the actual elapsed time.
2015-08-10 20:58:43 +02:00
Ian Barwick 23a72f489c Add note about configuring 'shared_preload_libraries' for repmgr
Useful to put all the possible postgresql.conf changes in one place.
2015-08-07 14:37:57 +09:00
Christoph Monech-Tegeder f3f56b0cd6 fix repmgrd spelling in default config files
make sure the daemon has it's trailing _d_ everywhere
2015-08-06 17:20:56 +02:00
Abhijit Menon-Sen 00146b7fbd Merge pull request #88 from soxwellfb/fix-config-reader
Ignore comments after values
2015-08-04 13:28:04 +05:30
Simon Oxwell faf72a2514 Ignore comments after values 2015-07-15 14:53:35 +10:00
Ian Barwick 7010b636e0 Reword error message for consistency
Github issue #87
2015-07-10 10:11:23 +09:00
Gregory Duchatelet 00deff9069 [Fix] if 'node' config parameter is set as a string, nothing complain and all nodes are set to id '0'. 2015-07-06 11:20:31 +02:00
Ian Barwick 5240a5723a Clarify WAL file retention issue during standby cloning.
Per GitHub issue #86.
2015-07-02 09:32:30 +09:00
Martín Marqués 45e29c5b28 Typo in a comment 2015-06-04 18:12:35 +09:00
Ian Barwick 5def293ed6 Configuration file: ignore whitespace following the '=' sign 2015-06-04 11:58:34 +09:00
Ian Barwick ff7b4d3f02 Improve whitespace handling
Ignore blank lines which consist of whitespace. Per issue #71 in
GitHub.

This fix also improves comment handling and will treat lines with
whitespace before the '#' character as whitespace.
2015-06-04 11:44:38 +09:00
Ian Barwick a54478a045 Documentation tweaks 2015-05-12 10:16:52 +09:00
Marco Nenciarini 7ad9a2c28a Allow repmgr to be compiled with a libpq newer than PostgreSQL
Fixes #44
2015-04-29 18:00:54 +02:00
John Galt 3deb6784e7 Fixed typo 2015-04-16 13:30:40 +09:00
Ian Barwick ba275bb0c2 Update HISTORY file 2015-04-16 11:02:40 +09:00
Ian Barwick 9735bb63a1 Add short option '-c' for '--fast-checkpoint'
This is similar to pg_basebackup's '-c/--checkpoint=fast|spread'
option.
2015-04-16 08:15:44 +09:00
Ian Barwick 1e5792f8df Remove unused function 2015-04-14 14:29:47 +09:00
Ian Barwick a01fefa7d0 After standby promotion, ensure metadata is updated by repmgr
Previously this was handled by repmgrd but if a standby is promoted
directly this will leave the metadata in an incorrect state.
2015-04-14 13:39:48 +09:00
Ian Barwick 34eaf94b2b Fix variable name spelling 2015-04-14 13:15:44 +09:00
Ian Barwick 68e3a9d7ab Improve promotion failure handling
Exit with error; don't attempt to write event log as master
connection will not be valid at this point.
2015-04-14 13:09:02 +09:00
Ian Barwick 2ad4f68700 Add notes about cluster name and quoting
Supported, but better to avoid.
2015-04-13 15:40:29 +09:00
Ian Barwick 00aa0c8c87 Fix typos 2015-04-13 15:22:09 +09:00
Ian Barwick e8025c7c9f Re-use replication slot if it already exists
Per issue #65 in GitHub
2015-04-13 13:17:38 +09:00
Ian Barwick 6a17360b4c Add FAQ item about shared_preload_libraries = 'repmgr_funcs' 2015-04-10 16:45:04 +09:00
Ian Barwick 9e5e843a4f Prevent a test SSH connection being made when not needed
When using the default pg_basebackup method to clone a standby
together with the `--ignore-external-config-files` option, there's
no need to test for a working SSH connection - which may not
be desirable in many use-cases anyway.

Per issue #64 in GitHub.
2015-04-10 15:05:19 +09:00
Martín Marqués 734ae1825e Don't run ssh connection test when --ignore-external-config-files was used 2015-04-10 11:02:19 +09:00
Ian Barwick 41fe58764e Add note about PGPASSFILE 2015-04-10 10:29:52 +09:00
Ian Barwick 58a5249b7e HISTORY update 2015-04-09 16:12:11 +09:00