Add parameter checks and help output for --no-upstream-connection

This commit is contained in:
Ian Barwick
2016-08-31 11:35:23 +09:00
parent 5c4b477d84
commit a8afa843ee

View File

@@ -1845,6 +1845,8 @@ do_standby_clone(void)
exit(ERR_BAD_CONFIG); exit(ERR_BAD_CONFIG);
} }
initialize_conninfo_params(&upstream_conninfo, true);
/* Sanity check barman connection and installation, */ /* Sanity check barman connection and installation, */
if (mode == barman) if (mode == barman)
{ {
@@ -1863,7 +1865,7 @@ do_standby_clone(void)
if (command_ok == false) if (command_ok == false)
{ {
log_err(_("No valid backup for server %s was found in the Barman catalogue\n"), log_err(_("No valid backup for server %s was found in the Barman catalogue\n"),
options.cluster_name); options.barman_server);
log_hint(_("Refer to the Barman documentation for more information\n")); log_hint(_("Refer to the Barman documentation for more information\n"));
// ERR_BARMAN // ERR_BARMAN
@@ -2114,7 +2116,6 @@ do_standby_clone(void)
} }
printf("upstream found? %c\n", upstream_record_found == true ? 'y' : 'n'); printf("upstream found? %c\n", upstream_record_found == true ? 'y' : 'n');
initialize_conninfo_params(&upstream_conninfo, true);
if (upstream_record_found == true) if (upstream_record_found == true)
@@ -3046,7 +3047,7 @@ stop_backup:
} }
else else
{ {
} }
switch(mode) switch(mode)
@@ -5336,6 +5337,7 @@ do_help(void)
printf(_("Command-specific configuration options:\n")); printf(_("Command-specific configuration options:\n"));
printf(_(" -c, --fast-checkpoint (standby clone) force fast checkpoint\n")); printf(_(" -c, --fast-checkpoint (standby clone) force fast checkpoint\n"));
printf(_(" -r, --rsync-only (standby clone) use only rsync, not pg_basebackup\n")); printf(_(" -r, --rsync-only (standby clone) use only rsync, not pg_basebackup\n"));
printf(_(" --no-upstream-connection (standby clone) when using Barman, do not connect to upstream node\n"));
printf(_(" --without-barman (standby clone) do not use Barman even if configured\n")); printf(_(" --without-barman (standby clone) do not use Barman even if configured\n"));
printf(_(" --recovery-min-apply-delay=VALUE (standby clone, follow) set recovery_min_apply_delay\n" \ printf(_(" --recovery-min-apply-delay=VALUE (standby clone, follow) set recovery_min_apply_delay\n" \
" in recovery.conf (PostgreSQL 9.4 and later)\n")); " in recovery.conf (PostgreSQL 9.4 and later)\n"));
@@ -5855,6 +5857,13 @@ check_parameters_for_action(const int action)
{ {
item_list_append(&cli_warnings, _("-c/--fast-checkpoint has no effect when using -r/--rsync-only")); item_list_append(&cli_warnings, _("-c/--fast-checkpoint has no effect when using -r/--rsync-only"));
} }
if (runtime_options.no_upstream_connection == true &&
(strcmp(options.barman_server, "") == 0 || runtime_options.without_barman == true))
{
item_list_append(&cli_warnings, _("--no-upstream-connection only effective in Barman mode"));
}
config_file_required = false; config_file_required = false;
break; break;
case STANDBY_SWITCHOVER: case STANDBY_SWITCHOVER:
@@ -5927,6 +5936,11 @@ check_parameters_for_action(const int action)
{ {
item_list_append(&cli_warnings, _("-w/--wal-keep-segments can only be used when executing STANDBY CLONE")); item_list_append(&cli_warnings, _("-w/--wal-keep-segments can only be used when executing STANDBY CLONE"));
} }
if (runtime_options.no_upstream_connection == true)
{
item_list_append(&cli_warnings, _("--no-upstream-connection can only be used when executing STANDBY CLONE in Barman mode"));
}
} }
/* Warn about parameters which apply to STANDBY SWITCHOVER only */ /* Warn about parameters which apply to STANDBY SWITCHOVER only */