repmgr 2.0 RC1 released
What is repmgr?
repmgr is a set of open source tools that helps DBAs and System administrators manage a cluster of PostgreSQL databases.
By taking advantage of the Hot Standby capability introduced in PostgreSQL 9, repmgr greatly simplifies the process of setting up and managing database with high availability and scalability requirements.
repmgr simplifies administration and daily management, enhances productivity and reduces the overall costs of a PostgreSQL cluster by:
- monitoring the replication process;
- allowing DBAs to issue high availability operations such as switch-overs and fail-overs
This release introduces a new feature, autofailover. With autofailover repmgr is able to automatically promote a standby and let the other standbys follow the new master, without interaction of the DBA. It also adds a lot of bug fixes and several new features.
Features
- Improved Documentation
- General refactoring, code quality improvements and stabilization work
- Support for daemonizing (
-d
/--daemonize
) - PID file handling (
-p
/--pid-file
) - New config option:
monitor_interval_secs
- New config option:
retry_promote_interval
- New config option:
logfile
- New config option:
pg_bindir
- New config option:
pgctl_options
- Add timestamps to log line in
stderr
- Add a
ssh_options
parameter - Make
CLONE
command try to make an exact copy including$PGDATA
location - Add detection of master failure
- Add the notion of a witness server
- Add experimental autofailover capabilities
- Add a configuration parameter to indicate the script to execute on failover or follow
- Make the monitoring optional and turned off by default, it can be turned on with
--monitoring-history
switch - Add tunables to specify number of retries to reconnect to master and the time between them
Bugfixes
- Ignore
pg_log
when cloning - Correctly check
wal_keep_segments
- General code refactoring
- Log format fixes
- handle
stdin>
/stdout
/stderr
for repmgrd - Added format checking for
printf()
like functions - Added forgotten priority value when creating a witness
pg_config
is now setable from outsite of the makefile- Split install targets to
install_prog
andinstall_ext
with doing both as the default - Flush output before calling
system()
- Initialize variables as
sscanf()
leaves them untouched upon error - No longer exit when standby connection drops
- Several typos have been corrected
- Fixed string comparison when reloading config files
- Do not create data directory before sanity checks succeeded when creating a witness
- Also check if query was successful when registering a new standby
- Remove master node earlier so that master register
--force
succeeds when it is already registered - Do not exit with database in backup mode (
pg_start_backup()
) - Debian control file now accepts PostgreSQL 9.0, 9.1, 9.2 and 9.3
- Now compiles with 9.3
Upcoming
Features we are working on in the near future:
- timeline increase when a standby gets promoted
- A better check which standby did receive most of the data
- Make the fact that a standby may be delayed a factor in the voting algorithm
- include support for delayed standbys
Community and development
repmgr is free and open source software and is licensed under the GPLv3.
Contributions to repmgr are welcome. See the README.rst file for information about how to contribute.