Commit Graph

1829 Commits

Author SHA1 Message Date
Ian Barwick
5eb8bccd33 doc: minor grammar tweak 2020-12-22 13:59:16 +09:00
Josh Soref
4760c11937 doc: various spelling fixes
Via GitHub #687.
2020-12-22 13:48:29 +09:00
Josh Soref
cb6501aa48 Fix various typos in code comments.
Via GitHub #687.
2020-12-22 13:48:25 +09:00
Josh Soref
6100007a32 repmgr: various log ouput typo fixes
Via GitHub #687.
2020-12-22 13:21:20 +09:00
Josh Soref
a415d85530 repmgr: fix typo in "repmgr node --help" output
Via GitHub #687.
2020-12-22 13:21:15 +09:00
Ian Barwick
45a9a784e3 Improve HINT about upgrading the repmgr extension
Per feedback in GitHub #685.
2020-12-15 08:42:41 +09:00
Ian Barwick
8ce212327c standby switchover: remove extraneous space in log message 2020-12-15 08:42:36 +09:00
Ian Barwick
54851e8df1 Finalize release date v5.2.1epas v5.2.1 2020-12-07 17:54:14 +09:00
Ian Barwick
a2166d0024 doc: add 5.2.1 release date 2020-12-07 17:53:38 +09:00
Ian Barwick
abe55e60e6 doc: update 5.2.1 release notes v5.2.1rc1 2020-12-04 14:50:04 +09:00
Ian Barwick
220bcbd620 Minor string formatting optimization 2020-12-04 10:18:05 +09:00
Ian Barwick
e824dfd499 standby clone: tweak error message
Probably a remnant from the 9.1 era, where it was not possible to
take a base backup from a standby.
2020-12-04 10:18:02 +09:00
Ian Barwick
9fb9decf13 Fix return value of pg_reload_conf() database utility function
Would always return "false", but as the value wasn't used anywhere,
the issue was inconsequential.

However while we're at it, actually check the return value in the
two places it's called, to help diagnose any issues in the unlikely
event they occur.

Per issue reported via GitHub PR #671 from user duzhgg.
2020-12-02 09:27:14 +09:00
Ian Barwick
ad6dde4218 doc: update README
- remove partial sentence
- remove links to very dated blog entries
2020-12-02 09:26:06 +09:00
Ian Barwick
7cbaec6469 doc: update README
Link to release notes as a simple way of providing the latest release
information.
2020-12-02 09:25:59 +09:00
Ian Barwick
9d2c5921ee Add missing connection close
In a corner-case situation where a standby is unable to attach to
the new primary due to a mismatch in the WAL stream, the connection
used to verify the recovery status of the new primary was not being
closed, leading to a risk of connection exhaustion on the new primary.

Addresses GitHub #682.
2020-12-02 09:23:00 +09:00
Ian Barwick
21f94e6de3 doc: tweak "repmgr standby clone" reference
As recovery.conf starts to fade away, mention that last.
2020-12-02 09:22:49 +09:00
Ian Barwick
7418c7b8f0 Fix typo 2020-12-02 09:22:38 +09:00
Ian Barwick
7cee09dd95 standby clone: fix data directory permissions handling for Pg11 and later
Previously, repmgr would forcibly change the permissions on a data
directory to 0700. However from PostgreSQL 11, 0750 is also valid,
so that value should not be changed.
2020-12-01 11:49:13 +09:00
Ian Barwick
53774d6998 Bump version to 5.2.1 2020-11-30 17:33:42 +09:00
Ian Barwick
5a251ef268 standby clone: add --recovery-min-apply-delay to help output 2020-11-30 16:43:17 +09:00
Ian Barwick
b83ce6b147 doc: update 5.2.1 release notes 2020-11-30 16:14:37 +09:00
Ian Barwick
5f9f1f65ae repmgrd: fix issue with incorrect reconnect_interval
Addresses GitHub #673.
2020-11-25 20:42:29 +09:00
Ian Barwick
9d7eebef1b Update Makefile
We don't actually need $(LIBS) in there; this was cargo-culted in
from somewhere.
2020-11-24 17:37:54 +09:00
Ian Barwick
5cff7fab64 Avoid compiler warnings for various strncpy() operations
Here the compiler may complain that the source length is being used,
though in all cases the source length was previously used to
define the length of the destination buffer, so it's not actually
a problem.
2020-11-24 15:42:54 +09:00
Ian Barwick
2a8ac36aec repmgr: prevent termination in corner-case situation
If neither the local node nor the upstream are available, and
"standby_disconnect_on_failover" is set, attempting to fetch
the walreceiver PID will result in repmgrd terminating.

Add a check that the connection is valid before attempting to
fetch the walreceiver PID.

Addresses GitHub #675.
2020-11-17 16:35:03 +09:00
Ian Barwick
a5a5b506f9 standby clone: various clarifications for --replication-conf-only option
In particular, the emitted HINT was not really appropriate for Pg13 and
later.
2020-11-17 10:01:30 +09:00
Ian Barwick
bd6871817d Update corner-case error message
Not possible to build repmgr compatible with Pg12+ against Pg11
and earlier due to the addition of FullTransactionId.
2020-11-17 10:01:26 +09:00
Ian Barwick
bd35e503ec standby clone: add option --recovery-min-apply-delay
This overrides the equivalent setting in repmgr.conf, if present.

Note this option was available in repmgr versions prior to 4.0, but
was assumed to be redundant. However recently a use-case was made
for its reintroduction.
2020-11-10 16:05:14 +09:00
Romain Jacquier
15801b8f9e Fix help witness
Fix the `repmgr witness --help` command where at the "Unregister" section the message shown was
```
"witness register" unregisters a witness node.
```
instead of
```
"witness unregister" unregisters a witness node.
```

GitHub #676.
2020-11-09 13:35:23 +09:00
Ian Barwick
4d3262d306 standby clone: handle missing "postgresql.auto.conf"
In PostgreSQL 12 and later we need to append replication configuration
to "postgresql.auto.conf" to guarantee it will be read last, and hence
override any preceding replication configuration which may be haunting
the configuration files.

We've been assuming that "postgresql.auto.conf" will always be present,
but at least one corner case has been observed where that was not the
case on the node being cloned from. Moreover it's perfectly acceptable
that this file does not exist (it will be recreated the next time
ALTER SYSTEM is executed), so we should be prepared to handle that case.

In passing, improve handling of more unlikely errors which might be
encountered when processing "postgresql.auto.conf".
2020-10-30 12:26:56 +09:00
Ian Barwick
36a8dfcf4f Standardize code style 2020-10-30 11:06:46 +09:00
Ian Barwick
94612a336a config: fix parsing of "replication_type"
This is a legacy parameter which can currently only contain one value,
"physical" (the default).

It can be safely omitted.

Addresses GitHub #672.
2020-10-30 10:17:03 +09:00
Ian Barwick
de567d584f doc: update README 2020-10-22 21:21:16 +09:00
Ian Barwick
0fb3432398 Finalize release date v5.2.0 2020-10-22 17:15:37 +09:00
Ian Barwick
5e59e543d6 Additional fix to upgrade script
Drop old "repl_events" table.
2020-10-22 12:36:31 +09:00
Ian Barwick
4f6b642320 Fix extension script for unpackaged upgrades to 5.2
Apparently "ALTER TABLE" (which we were using to convert the
"repl_events" table) does not mark the table as being part of the
extension. Instead, we need to create the new table and copy the
data, as is done with the other tables.
v5.2.0rc2
2020-10-22 11:18:03 +09:00
Ian Barwick
c1973438f7 doc: add missing "unpackaged" reference 2020-10-21 17:31:22 +09:00
Ian Barwick
fe5904e04e standby clone: improve Barman source server check
Use "remote_command()" to execute the remote psql command, and
provide the -X option to psql to ensure it doesn't read ~/.psqlrc.
v5.2.0rc1
2020-10-20 17:21:17 +09:00
Ian Barwick
2cb1f4f728 doc: update release notes 2020-10-20 14:05:25 +09:00
Ian Barwick
5b90842c55 Bump version to 5.2.0
Also update the minimum version check to PostgreSQL 9.4.
2020-10-20 13:34:16 +09:00
Ian Barwick
397e0ed5be Silence potential compiler complaint
*We* know the target buffer is sufficiently sized to accept the
source string, but the compiler doesn't.
2020-10-20 09:51:49 +09:00
Ian Barwick
8f3994b071 doc: update "repmgr standby clone" reference
Clarify which replication configuration parameters will be written
for which PostgreSQL version.
2020-10-20 09:35:22 +09:00
Ian Barwick
f7c232b393 Only write "recovery_target_timeline" for PostgreSQL 11 and earlier
"recovery_target_timeline" defaults to "latest" from PostgreSQL 12
(see core commit 2dedf4d9) so no need to write it explicitly.
2020-10-20 09:18:29 +09:00
Ian Barwick
ac2feba380 Improve capture of pg_rewind stderr output
As it seems redirecting stderr to stdin (2>&1) when executing
system commands results in a SIGPIPE (141) return code, making
it impossible to determine the actual return code, redirect
stderr to a temporary file and collate the output from that.

There are possibly better ways of doing this which could
be revisited at a future date.
2020-10-15 14:01:18 +09:00
Ian Barwick
725e9f9851 Remove more unused code 2020-10-15 11:03:18 +09:00
Ian Barwick
00bf4d61fa Remove unused code 2020-10-15 10:54:18 +09:00
Ian Barwick
338c4d3f8a node rejoin: rename variable for clarity 2020-10-14 17:57:20 +09:00
Ian Barwick
250c6291df node rejoin: fix Pg13+ "standby.signal" handling with pg_rewind 2020-10-14 17:51:57 +09:00
Ian Barwick
773159a9e8 standby clone: move check for --waldir pg_basebackup option
When cloning from Barman, and --no-upstream-connection was supplied,
the server version number will not be available at this point in the
code. It will however later be extracted from the Barman metadata,
so move the check for the --waldir pg_basebackup option to after
this point.

Also add an explicit check that a server version number has been
obtained (and fall back to extracting it from the cloned data
directory), as subsequent operations depend on knowing this to
be performed correctly.
2020-10-13 14:27:46 +09:00