Commit Graph

215 Commits

Author SHA1 Message Date
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
Ian Barwick
4e9c58c7db Update copyright to 2015 2015-01-03 08:12:13 +09:00
Ian Barwick
4305f76fa9 Remove unused code 2015-01-02 08:27:20 +09:00
Ian Barwick
7700086703 Use pg_basebackup 2014-12-31 11:04:01 +09:00
Ian Barwick
8b69b1e16f Optionally retrieve server_version string as well
In a couple of places we'll need to report the human-readable
version number
2014-12-29 15:52:53 +09:00
Ian Barwick
f94626bf7b Refactor version number detection
Use the reported `server_version_num` integer for version number
detection and comparison. This makes it easier to set an arbitrary
minimum supported version (rather than "9.0 or later") as well
as future-proofing for 10.x and later.
2014-12-29 14:54:04 +09:00
Ian Barwick
6f80cd5441 Add option "--initdb-no-pwprompt"
Previously repmgr passed the -W flag to initdb, which forced
manual input of a password; this option removes the -W flag
to make repetitive testing easier.
2014-12-24 19:07:08 +09:00
Ian Barwick
ee69730f8b Error message correction 2014-12-24 15:36:03 +09:00
Ian Barwick
28fd9d5aeb Spelling 2014-12-22 16:21:08 +09:00
Ian Barwick
24b2ee09b3 Add -S/--superuser option for witness database creation
Previously the witness database creation code was hard-coding the
username 'postgres' when accessing the previously initialised database.
However initdb was not passed any explicit username, meaning the
default database superuser name was the same as the user running
repmgr.

With this patch, a superuser user name (default: postgres) will
be passed to initdb.

Per report by eggyknap [1]

[1] https://github.com/2ndQuadrant/repmgr/issues/38
2014-12-22 16:01:58 +09:00
Ian Barwick
763881b1ed Whitespace cleanup 2014-12-18 10:52:20 +09:00
Ian Barwick
94f520e1de Fix variable name 2014-12-09 15:14:41 +09:00
Marco Nenciarini
f72bb2f093 Fix syntax errors in repmgr.c 2014-10-30 12:09:55 +01:00
Jaime Casanova
927667905e Code review: Do not use psql on do_witness_create,
use createdb and createuser binaries instead
2014-10-29 19:25:14 -05:00
Jaime2ndQuadrant
684d66f48e Merge pull request #27 from Nexperteam/witness-fixes
Witness fixes: create a db and user to avoid using postgres

This is so, we can create the appropiate user and database on the witness.
2014-10-29 19:05:38 -05:00
Jaime2ndQuadrant
406c325ccb Merge pull request #23 from wamonite/fix_witness
fix: witness creation and monitoring. 

On copy_configuration() we are using the res variable when is still used on the loop.
2014-10-29 18:44:53 -05:00
Martín Marqués
dc0dfe9b56 If the user doesn't pass the port on which the primary server is listening
we have to assume it's the DEFAULT_MASTER_PORT.

This was not done, so we added a check to see if it has a value that is
usable, else we use DEFAULT_MASTER_PORT.
2014-09-29 16:06:05 -03:00
Ian Barwick
0cbd5d3933 Fix log messages in do_standby_promote()
Initial connection is to current standby, before attempting to
connect to old master.
2014-07-07 11:30:29 +09:00
Ian Barwick
98c5215871 Change successful standby promotion message to log level 'NOTICE'
Was previously 'ERROR'.
2014-07-07 11:09:07 +09:00
Ian Barwick
e40b9db0a6 Properly specify rsync --exclude directories
Using '--exclude=dirname/*' to explicitly specify directories whose contents
should not be copied. This will result in empty directories being created
on the destination if they exist on the source, but that's not a problem as
they are needed anyway.

Previously the generated rsync command contained '--exclude=pg_log*', which
will break replication on 9.5 as the wildcard expansion prevents the
'pg_logical' directory from being copied.
2014-07-07 10:42:45 +09:00
Nathan Van Overloop
4f810aee2c on init of witness server create db and user to avoid using postgres 2014-06-06 14:36:12 +02:00
Warren Moore
30045f3bec keep naming consistent 2014-03-24 15:18:37 +00:00
Warren Moore
d93d42fadb fix: witness creation and monitoring
While reading node entries from master use a separate PGresult when inserting into witness.
Witness monitoring supplies a null value for 'last_apply_time'.
2014-03-24 14:19:29 +00:00
József Kószó
2a6c835a5a debian init script and config file documentation fixes 2014-03-21 14:18:07 +01:00
Christian Kruse
653e11c2a7 basic min_recovery_apply_delay support 2014-03-10 15:41:38 +01:00
Christian Kruse
98b1f8d28a rather big refactoring: use a naming scheme
In the past naming of functions, variables and such didn't really have a
naming scheme. Now they should have.
2014-03-06 18:34:40 +01:00
Christian Kruse
9eba986833 avoid usage of snprintf()
We have a nice little abstraction for snprintf with covering the case
that a string is too big for the target buffer – let's use that!
2014-03-06 18:34:40 +01:00
Christian Kruse
164cf9d08f completely avoid usage of strnlen() 2014-03-06 18:34:40 +01:00
Christian Kruse
d8b8bf0e2a pg_indent'ing all files… 2014-03-06 18:34:40 +01:00
Warren Moore
7e55ce737d fix: store the master connection user name on standby follow 2014-03-05 16:49:56 +00:00
Christian Kruse
c3b58658ad fixing repmgr repl_status columns
repmgr repl_status had the column time_lag which was documented to be
the time a standby is behind master. In fact it only works like this
when viewed on the standby and not on the master: there it only was the
time of the last status update. We dropped that column and replaced it
by a new column „communication_time_lag“ which is the content of the
repl_status column on the master. On the standby we contain the time of
the last update in shared mem though refer always to the correct time
nonetheless where repl_status is queried. We also added a new column,
„replication_time_lag“, which refers to the apply delay.
2014-02-15 01:35:27 +01:00
Christian Kruse
c4ac2d3343 fixing PQexec() calls
fixing several calls where we did not check the result status but only
the return value; the query may fail nonetheless
2014-02-15 01:27:53 +01:00
Christian Kruse
ca470647cb cleanup of usage text
Now it properly aligns and breaks at 78 characters.
2014-01-30 14:26:17 +01:00
Christian Kruse
701cf043fd fix: seems as if I missread -hackers 2014-01-23 16:46:49 +01:00
Christian Kruse
bbb67c55f6 simple past of set is set 2014-01-23 10:50:37 +01:00
Christian Kruse
680f23fb1d copyright push 2014-01-23 10:37:49 +01:00
Christian Kruse
1159113c58 ignore the dynamic shared memory directory, too 2014-01-23 10:02:32 +01:00
Christian Kruse
0fdcce0477 use if instead of switch and avoid a warning 2014-01-22 15:12:29 +01:00
Christian Kruse
f2a0b31a20 more log format fixes 2014-01-22 14:30:24 +01:00
Christian Kruse
d235c696af fix: do not newline at the start of a log line
This breaks the log file format since it will have a line break directly
after the timestamp
2014-01-22 11:47:02 +01:00
Christian Kruse
c81793b63f fix: added forgotten options.priority value
Patch by Marco Nenciarini <mnencia@debian.org>
2014-01-21 14:18:12 +01:00
Christian Kruse
9563877fbb new config option, stdout/stdin closed
Now stdin and stdout get closed. Additionally stderr gets closed and
reopened to the new config option „logfile“ if specified
2014-01-16 15:22:34 +01:00
Christian Kruse
4f3bd6612c do not exit in getMasterConnection() 2014-01-16 15:07:15 +01:00