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
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
5c67d47881
Add query result tests
2015-01-28 18:05:19 +09:00
Ian Barwick
f40b3ac48a
Consolidate node type parsing
2015-01-28 11:57:34 +09:00
Ian Barwick
109269f7fb
When writing monitoring info, ensure standby connects to current primary
...
If the node is a cascaded standby and the primary fails, `primary_conn`
will not be updated automatically; when writing monitoring info,
ensure we connect to the current primary.
2015-01-27 21:19:25 +09:00
Ian Barwick
23ef305afb
After promotion or follow, update internal node metadata record
2015-01-27 16:25:58 +09:00
Ian Barwick
b552710767
Remove global variable my_local_mode
...
Information now contained in metadata`x
2015-01-27 13:53:36 +09:00
Ian Barwick
7e4c26b8a0
Clarify upstream role in log messages
2015-01-27 12:39:39 +09:00
Ian Barwick
f8639a7878
Add TODO note
2015-01-26 22:11:54 +09:00
Ian Barwick
f2309bd0a9
Remove redundant comments
2015-01-26 21:25:37 +09:00
Ian Barwick
061e72d7cd
Rename connection variable for clarity
...
Connection will always be the primary
2015-01-26 20:12:34 +09:00
Ian Barwick
0a19bf1e23
Reword notice to make more sense in log output context
2015-01-24 05:03:57 +09:00
Ian Barwick
84a4766f13
Basic failover for cascaded standby nodes
...
Attempt to attach to the next available upstream node, otherwise
quit monitoring. We'll need to add further options for failover
scenarios, including attempting to attach to another node,
shutting down the server completely etc.
2015-01-24 04:22:40 +09:00
Ian Barwick
3be8bf8e4c
Check primary connection
...
Verify that existing primary connection is valid, and if not
attempt to find and connect to the current primary node.
2015-01-22 12:20:23 +09:00
Ian Barwick
1e6f1a88b0
On local node failure, attempt to update record on primary server
2015-01-22 11:45:01 +09:00
Ian Barwick
4a8912c2b4
Update comments and debugging output
2015-01-22 10:59:33 +09:00
Ian Barwick
3279e9e47e
Separate functions for primary and cascading standby failover
2015-01-22 10:12:03 +09:00
Ian Barwick
5c4e77f8e2
do_failover() -> do_primary_failover()
2015-01-16 17:28:51 +09:00
Ian Barwick
b09f987341
Add note
2015-01-16 16:59:44 +09:00
Ian Barwick
fe758eda9f
Update repl_nodes following failover
...
repl_nodes table updated by each node following failover to
show that either it is the primary, or which primary it has
started to follow.
2015-01-16 16:28:09 +09:00
Ian Barwick
c413cff461
Function to update node records
2015-01-16 14:14:04 +09:00
Ian Barwick
609453a848
Handle failover of top-level standby
...
Cascaded standbys will not go into failover so we need to ignore
these when looking for candidates for promotion.
2015-01-16 12:35:01 +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
2ae27521a3
Some infrastructure for supporting cascading replication
...
Does not fully work yet.
2015-01-15 15:37:09 +09:00
Ian Barwick
96f6695a52
Clean up repmgr_get_last_standby_location() polling loop
...
No need to reconnect on every iteration of the loop. Move conditions
which break out of the loop straight away out of the loop.
2015-01-13 16:08:36 +09:00
Ian Barwick
f006a79af9
Clean up log messages for invalid LSNs
2015-01-13 14:53:55 +09:00
Ian Barwick
3a8aa86e0c
Remove pointless check
2015-01-13 14:25:58 +09:00
Ian Barwick
9cbac64ad4
Remove pointless check
...
Witness server can never be considered as a promotion candidate.
2015-01-13 14:24:19 +09:00
Ian Barwick
242fc8416c
Consolidate disconnection calls
2015-01-13 13:59:27 +09:00
Ian Barwick
355d8b8f01
Use InvalidXLogRecPtr for pedantic correctness
2015-01-13 13:47:22 +09:00
Ian Barwick
8df7966540
Rename variable
...
"find_best" sounds like an imperative.
2015-01-13 13:42:30 +09:00
Ian Barwick
1a790549ea
Refactor if-statement
2015-01-13 13:40:47 +09:00
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