Commit Graph

170 Commits

Author SHA1 Message Date
Ian Barwick
b80d25ad33 Add some hopefully correct comments for future reference
Also some debugging output which will need to be removed later.
2015-01-13 11:12:20 +09:00
Ian Barwick
a1a61e5ec3 Remove unneeded include 2015-01-13 07:57:54 +09:00
Ian Barwick
1221b73293 repmgrd: explicitly state INSERT statement target columns 2015-01-12 20:47:22 +09:00
Ian Barwick
93d5d7905f Remove "XL*" macros and rationalize XLogRecPtr handling
As of 9.3, XLogRecPtr is a uint64, which makes it much easier to
handle, so we can retire the legacy macros and work directly
with the values.
2015-01-12 17:18:57 +09:00
Ian Barwick
41a5274b44 Comment for consistency 2015-01-12 15:30:17 +09:00
Ian Barwick
d9f83cf620 Replace hard-coded value with local_options.reconnect_attempts; 2015-01-12 14:09:44 +09:00
Ian Barwick
905a2d0a5e Have witness server retry determining the new master
Loop a few times before giving up
2015-01-12 14:05:37 +09:00
Ian Barwick
526803c5e0 Witness server should always try to re-connect to primary
Standbys will try to reconnect even in MANUAL_FAILOVER mode,
so it's consistent to have the witness server do that too.
2015-01-12 13:32:04 +09:00
Ian Barwick
a5ead16d6f Change query to use COUNT(*)
No point implying we're fetching the entire record
2015-01-12 12:28:06 +09:00
Ian Barwick
5fb84b9627 Witness server: on failover attempt to reconnect to new master
Previously it was just quitting.
2015-01-12 11:23:20 +09:00
Ian Barwick
437485bf6a Fix debugging output 2015-01-12 09:47:13 +09:00
Ian Barwick
5b88a980b8 Add some debugging output 2015-01-12 07:57:42 +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
f2fa60f5cf Tidy up SQL statements
Improves readability
2015-01-09 09:46:41 +09:00
Ian Barwick
acf2744ed7 Replace magic number with defined constant
And use it to restrict the number of rows retrieved to avoid
overflowing the array.
2015-01-08 17:19:02 +09:00
Ian Barwick
7bafd490c1 Remove #define for pre-9.3 versions 2015-01-08 16:59:10 +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
9dd78f34db Add missing short options to --help output 2015-01-07 08:56:05 +09:00
Ian Barwick
241622694d Remove support for pre-9.3 servers 2015-01-06 14:53:26 +09:00
Ian Barwick
4e9c58c7db Update copyright to 2015 2015-01-03 08:12:13 +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
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ó
b9ab9010c0 debian init script and config file documentation fixes 2014-03-22 22:13:33 +01:00
József Kószó
2a6c835a5a debian init script and config file documentation fixes 2014-03-21 14:18:07 +01:00
Christian Kruse
91c29fe2a2 removed old comment 2014-03-06 18:34:41 +01:00
Christian Kruse
573f1d3b2e no longer use global variable for SQL query buffer 2014-03-06 18:34:41 +01:00
Christian Kruse
0a6ff7faec removed no-longer used variable 2014-03-06 18:34:41 +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
d8b8bf0e2a pg_indent'ing all files… 2014-03-06 18:34:40 +01:00
Christian Kruse
98c7635fb5 fixing more compiler warnings 2014-03-04 17:58:36 +01:00
Christian Kruse
90ecb2b107 fix: check return values of freopen()
Some compiles complain about not checking the return value of freopen(),
so we check it
2014-03-04 15:32:48 +01:00
Christian Kruse
0ff14a2aa1 avoid compiler warnings 2014-02-21 13:47:29 +01:00
Christian Kruse
5215265694 fix: now CloseConnections() is much more safe 2014-02-18 17:06:36 +01:00
Christian Kruse
e45ac25348 fix: progname is const, do not free it
The leak is irrelevant
2014-02-18 16:45:35 +01:00
Christian Kruse
a1ce01f033 fix: fixed some leaks 2014-02-18 16:35:29 +01:00
Christian Kruse
10ca8037f8 added some more log messages
Now we should be able to distinguish different events more easily
2014-02-18 14:10:12 +01:00
Christian Kruse
0dc46f0dc8 fix: set connection to NULL when finishing it
This will avoid CloseConnections() to try to close an already closed connection.
2014-02-18 13:42:49 +01: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
680f23fb1d copyright push 2014-01-23 10:37:49 +01:00
Christian Kruse
897daddcc7 removed not needed arguments to avoid compiler warnings 2014-01-22 15:17:28 +01:00
Christian Kruse
de58eff7c1 added a chdir() for proper daemonizing 2014-01-22 14:30:38 +01:00
Christian Kruse
e007a55967 fix: do not use fsync()
We do not need fsync(), the fflush() is enough to avoid concurrent
logs.
2014-01-22 11:47:50 +01:00
Christian Kruse
4ef6fbb5fe do not close stderr but reopen it to /dev/null
We want stderr to be always a valid file descriptor
2014-01-21 16:25:57 +01:00
Christian Kruse
2e61d7b156 refactoring: daemonizing is now a function 2014-01-21 16:19:49 +01:00
Christian Kruse
4496a0761e we now use a function and are more sophisticated
Refactoring part: we now use a function to generate the PID
file. Sophistication: we now check if the PID contained in the file is a
valid PID. We ignore the file if it doesn't.
2014-01-21 16:18:15 +01:00
Christian Kruse
3978ead184 use a second fork to avoid a terminal
after the setsid() we are the process leader. And as a process leader we
are able to open a new terminal, even if we currently don't own one. So
we do another fork and do not call setsid() and not become a process
leader to avoid that.
2014-01-21 15:51:33 +01:00
Christian Kruse
b36dbf61fe reopening stdin and stdout to /dev/null now
stdin, stdout and stderr should always be valid file handles. Thus we
don't close them but reopen them to /dev/null
2014-01-21 15:31:38 +01:00
Christian Kruse
84466ecca5 log_crit() is more appropriate 2014-01-21 15:23:20 +01:00