Ian Barwick
6cbf436bf8
Don't execute "child_nodes_disconnect_command" when repmgrd paused
2019-04-23 14:08:13 +09:00
Ian Barwick
5a90513878
repmgrd: monitor standbys attached to primary
...
This functionality enables repmgrd (when running on the primary) to
monitor connected child nodes. It will log connections and disconnections
and generate events.
Additionally, repmgrd can execute a custom script if the number of connected
child nodes falls below a configurable threshold. This script can be used
e.g. to "fence" the primary following a failover situation where a new primary
has been promoted and all standbys are now child nodes of that primary.
2019-04-22 16:18:52 +09:00
Ian Barwick
64c4cb81d5
Update pg_control processing for PostgreSQL 12
2019-04-18 09:31:33 +09:00
Ian Barwick
3115face28
doc: add note about when a PostgreSQL restart is required
...
Per query in GitHub #564 .
2019-04-17 09:43:35 +09:00
Ian Barwick
80f66e87c9
Improve string handling during configuration file reload
2019-04-16 11:20:41 +09:00
Ian Barwick
ad28cf95bd
standby register: add upstream node ID in event details
2019-04-16 11:01:22 +09:00
Ian Barwick
a0c6cb602f
repmgrd: remove duplicate function definition
2019-04-16 10:53:05 +09:00
Ian Barwick
27803f93ff
repmgrd: always unset upstream node ID when monitoring a primary
2019-04-12 12:26:39 +09:00
Ian Barwick
1a344d488a
Use sizeof() consistently
2019-04-11 23:07:58 +09:00
Ian Barwick
46d17d0933
repmgrd: fix log output
2019-04-11 16:29:08 +09:00
Ian Barwick
6b79e08706
repmgrd: add addiitonal log output in do_election()
2019-04-11 15:46:20 +09:00
Ian Barwick
cd6a55c7cb
repmgrd: improve primary visibility consensus check
...
Exclude sibling nodes which report they're following a different
node. This shouldn't happen, but could.
2019-04-11 15:46:14 +09:00
Ian Barwick
008bd00a59
repmgrd: store upstream node ID in shared memory
2019-04-11 15:46:09 +09:00
Ian Barwick
5a8741199f
repmgrd: exclude witness server from followability check
2019-04-11 11:19:12 +09:00
Ian Barwick
dd454a8374
Miscellaneous string handling cleanup
...
This is mainly to prevent effectively spurious truncation warnings
in recent GCC versions.
2019-04-10 16:18:56 +09:00
Ian Barwick
a9b56d9833
Fix hint message
...
s/UPGRADE/UPDATE
2019-04-10 12:08:26 +09:00
Ian Barwick
ef47589c6b
standby clone: always ensure directory is created with correct permissions
...
In Barman mode, if there is an existing, populated data directory, and
the "--force" option is provided, the entire directory was being deleted,
and later recreated as part of the rsync process, but with the default
permissions.
Fix this by recreating the data directory with the correct permissions
after deleting it.
2019-04-09 10:58:27 +09:00
Ian Barwick
77b9887d61
standby clone: improve --dry-run behaviour in barman mode
...
- emit additional informational output
- ensure that provision of --force does not result in an existing
data directory being modified in any way
2019-04-08 15:12:22 +09:00
Ian Barwick
7631c60933
doc: update release notes
2019-04-08 11:27:25 +09:00
Ian Barwick
a8d560860d
Ensure BDR-specific code only runs on BDR 2.x
...
The BDR support in repmgr is for a specific BDR 2.x use case, and
is not suitable for more recent BDR versions.
2019-04-05 14:37:49 +09:00
Ian Barwick
c338bc9c5e
doc: add note about BDR replication type in sample config
2019-04-05 14:37:49 +09:00
Ian Barwick
3c8e42ff15
doc: emphasise that BDR2 support is for BDR2 only
2019-04-05 10:53:23 +09:00
Ian Barwick
be9c6d5fc6
Use correct sizeof() argument in a couple of strncpy calls
...
Source and destination buffers are however the same length in both cases.
Per GitHub #561 .
2019-04-04 10:58:00 +09:00
Ian Barwick
55e79bd0b7
doc: update 4.3 release notes
2019-04-03 15:08:35 +09:00
Ian Barwick
8970a72be9
doc: update README
...
Link to current documentation version
2019-04-03 11:12:48 +09:00
Ian Barwick
7791abb8f7
doc: add a link to the current documentation from the contents page
2019-04-03 10:54:18 +09:00
Ian Barwick
602e06a8f4
doc: finalize 4.3 release notes
2019-04-02 14:42:06 +09:00
Ian Barwick
84f4c6c979
doc: note that --siblings-follow will become default in a future release
2019-04-02 11:04:36 +09:00
Ian Barwick
67e977592c
standby switchover: list nodes which will remain attatched to the old primary
...
If --siblings-follow is not supplied, list all nodes which repmgr considers
to be siblings (this will include the witness server, if in use), and
which will remain attached to the old primary.
2019-04-02 10:46:59 +09:00
Ian Barwick
b1cd7e7edf
doc: update quickstart guide
...
Improve sample PostgreSQL replication configuration, including
links to the PostgreSQL documentation for each configuration item.
Also set "max_replication_slots" to the same value as "max_wal_senders"
to ensure the sample configuration will work regardless of whether
replication slots are in use, though we do still encourage careful
reading of the comments in the sample configuration and the documentation
in general.
2019-04-02 09:27:37 +09:00
Ian Barwick
a564f365c1
Fix default return value in alter_system_int()
2019-04-01 14:50:19 +09:00
Ian Barwick
799ac6d453
Add is_server_available_quiet()
...
For use in cases where the caller collates node availability information
and doesn't want to prematurely emit log output.
2019-04-01 12:27:30 +09:00
Ian Barwick
57c0ccd477
Improve copying of strings from database results
...
Where feasible, specify the maximum string length via sizeof(), and
use snprintf() in place of strncpy().
2019-04-01 11:19:58 +09:00
Ian Barwick
aef8e31897
Bump master branch to 4.4dev
2019-03-28 17:24:36 +09:00
Ian Barwick
3d4b81ba2a
Handle unhandled error situation in enable_wal_receiver()
2019-03-28 14:52:16 +09:00
Ian Barwick
98d924685b
Updae BDR repmgrd to handle node_name as a max 63 char string
...
Follow-up from commit 1953ec7 .
2019-03-28 14:32:52 +09:00
Ian Barwick
79613af8d0
Handle potential NULL return from string_skip_prefix()
2019-03-28 12:45:53 +09:00
Ian Barwick
5e9f202c9a
Add missing break
2019-03-28 12:44:50 +09:00
Ian Barwick
e44c048ae2
Update code comment
2019-03-28 12:44:30 +09:00
Ian Barwick
bb42d8cba6
Fix calculation of maximum filename length
2019-03-28 12:40:29 +09:00
Ian Barwick
9d5afeebbc
Remove logically dead code
2019-03-28 12:35:41 +09:00
Ian Barwick
fe822a9eea
Prevent potential file descriptor resource leak
2019-03-28 12:29:10 +09:00
Ian Barwick
03cd5a6028
Put closedir call in correct location
2019-03-28 12:08:42 +09:00
Ian Barwick
1e1c596446
Add various missing close() calls
2019-03-28 11:32:25 +09:00
Ian Barwick
d43975eb5f
Use correct argument for sizeof()
2019-03-28 11:02:50 +09:00
Ian Barwick
ece20f4831
Cast "int" to "long long"
2019-03-28 11:02:25 +09:00
Ian Barwick
e23f5afc5f
doc: note valid characters for "node_name"
...
"node_name" will be used as "application_name", so should only contain
characters valid for that; see:
https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-APPLICATION-NAME
Not yet enforced.
2019-03-28 10:53:43 +09:00
Ian Barwick
ba1f05ece9
Restrict "node_name" to maximum 63 characters
...
In "recovery.conf", the configuration parameter "node_name" is used
as the "application_name" value, which will be truncated by PostgreSQL
to 63 characters (NAMEDATALEN - 1).
repmgr sometimes needs to be able to extract the application name from
pg_stat_replication to determine if a node is connected (e.g. when
executing "repmgr standby register"), so the comparison will fail
if "node_name" exceeds 63 characters.
2019-03-28 10:37:57 +09:00
Ian Barwick
73ad689390
standby register: fail if --upstream-node-id is the local node ID
2019-03-27 14:22:55 +09:00
Ian Barwick
e9ece34aeb
log_db_error(): fix formatted message handling
2019-03-27 11:00:31 +09:00