pg_upgrade: pass username to analyze script
If -U (user) is specified, pass the username into the created analyze script. Per request from Ray Stell
This commit is contained in:
parent
e029275cde
commit
f85136106d
@ -459,6 +459,13 @@ void
|
|||||||
create_script_for_cluster_analyze(char **analyze_script_file_name)
|
create_script_for_cluster_analyze(char **analyze_script_file_name)
|
||||||
{
|
{
|
||||||
FILE *script = NULL;
|
FILE *script = NULL;
|
||||||
|
char *user_specification = "";
|
||||||
|
|
||||||
|
if (os_info.user_specified)
|
||||||
|
{
|
||||||
|
user_specification = pg_malloc(strlen(os_info.user) + 7);
|
||||||
|
sprintf(user_specification, "-U \"%s\" ", os_info.user);
|
||||||
|
}
|
||||||
|
|
||||||
*analyze_script_file_name = pg_malloc(MAXPGPATH);
|
*analyze_script_file_name = pg_malloc(MAXPGPATH);
|
||||||
|
|
||||||
@ -501,7 +508,8 @@ create_script_for_cluster_analyze(char **analyze_script_file_name)
|
|||||||
ECHO_QUOTE, ECHO_QUOTE);
|
ECHO_QUOTE, ECHO_QUOTE);
|
||||||
fprintf(script, "echo %sthis script and run:%s\n",
|
fprintf(script, "echo %sthis script and run:%s\n",
|
||||||
ECHO_QUOTE, ECHO_QUOTE);
|
ECHO_QUOTE, ECHO_QUOTE);
|
||||||
fprintf(script, "echo %s \"%s/vacuumdb\" --all %s%s\n", ECHO_QUOTE, new_cluster.bindir,
|
fprintf(script, "echo %s \"%s/vacuumdb\" %s--all %s%s\n", ECHO_QUOTE,
|
||||||
|
new_cluster.bindir, user_specification,
|
||||||
/* Did we copy the free space files? */
|
/* Did we copy the free space files? */
|
||||||
(GET_MAJOR_VERSION(old_cluster.major_version) >= 804) ?
|
(GET_MAJOR_VERSION(old_cluster.major_version) >= 804) ?
|
||||||
"--analyze-only" : "--analyze", ECHO_QUOTE);
|
"--analyze-only" : "--analyze", ECHO_QUOTE);
|
||||||
@ -522,7 +530,8 @@ create_script_for_cluster_analyze(char **analyze_script_file_name)
|
|||||||
ECHO_QUOTE, ECHO_QUOTE);
|
ECHO_QUOTE, ECHO_QUOTE);
|
||||||
fprintf(script, "echo %s--------------------------------------------------%s\n",
|
fprintf(script, "echo %s--------------------------------------------------%s\n",
|
||||||
ECHO_QUOTE, ECHO_QUOTE);
|
ECHO_QUOTE, ECHO_QUOTE);
|
||||||
fprintf(script, "\"%s/vacuumdb\" --all --analyze-only\n", new_cluster.bindir);
|
fprintf(script, "\"%s/vacuumdb\" %s--all --analyze-only\n",
|
||||||
|
new_cluster.bindir, user_specification);
|
||||||
fprintf(script, "echo%s\n", ECHO_BLANK);
|
fprintf(script, "echo%s\n", ECHO_BLANK);
|
||||||
fprintf(script, "echo %sThe server is now available with minimal optimizer statistics.%s\n",
|
fprintf(script, "echo %sThe server is now available with minimal optimizer statistics.%s\n",
|
||||||
ECHO_QUOTE, ECHO_QUOTE);
|
ECHO_QUOTE, ECHO_QUOTE);
|
||||||
@ -543,7 +552,8 @@ create_script_for_cluster_analyze(char **analyze_script_file_name)
|
|||||||
ECHO_QUOTE, ECHO_QUOTE);
|
ECHO_QUOTE, ECHO_QUOTE);
|
||||||
fprintf(script, "echo %s---------------------------------------------------%s\n",
|
fprintf(script, "echo %s---------------------------------------------------%s\n",
|
||||||
ECHO_QUOTE, ECHO_QUOTE);
|
ECHO_QUOTE, ECHO_QUOTE);
|
||||||
fprintf(script, "\"%s/vacuumdb\" --all --analyze-only\n", new_cluster.bindir);
|
fprintf(script, "\"%s/vacuumdb\" %s--all --analyze-only\n",
|
||||||
|
new_cluster.bindir, user_specification);
|
||||||
fprintf(script, "echo%s\n\n", ECHO_BLANK);
|
fprintf(script, "echo%s\n\n", ECHO_BLANK);
|
||||||
|
|
||||||
#ifndef WIN32
|
#ifndef WIN32
|
||||||
@ -556,7 +566,8 @@ create_script_for_cluster_analyze(char **analyze_script_file_name)
|
|||||||
ECHO_QUOTE, ECHO_QUOTE);
|
ECHO_QUOTE, ECHO_QUOTE);
|
||||||
fprintf(script, "echo %s-------------------------------------------------------------%s\n",
|
fprintf(script, "echo %s-------------------------------------------------------------%s\n",
|
||||||
ECHO_QUOTE, ECHO_QUOTE);
|
ECHO_QUOTE, ECHO_QUOTE);
|
||||||
fprintf(script, "\"%s/vacuumdb\" --all %s\n", new_cluster.bindir,
|
fprintf(script, "\"%s/vacuumdb\" %s--all %s\n", new_cluster.bindir,
|
||||||
|
user_specification,
|
||||||
/* Did we copy the free space files? */
|
/* Did we copy the free space files? */
|
||||||
(GET_MAJOR_VERSION(old_cluster.major_version) >= 804) ?
|
(GET_MAJOR_VERSION(old_cluster.major_version) >= 804) ?
|
||||||
"--analyze-only" : "--analyze");
|
"--analyze-only" : "--analyze");
|
||||||
@ -573,6 +584,9 @@ create_script_for_cluster_analyze(char **analyze_script_file_name)
|
|||||||
*analyze_script_file_name, getErrorText(errno));
|
*analyze_script_file_name, getErrorText(errno));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
if (os_info.user_specified)
|
||||||
|
pg_free(user_specification);
|
||||||
|
|
||||||
check_ok();
|
check_ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -172,6 +172,7 @@ parseCommandLine(int argc, char *argv[])
|
|||||||
case 'U':
|
case 'U':
|
||||||
pg_free(os_info.user);
|
pg_free(os_info.user);
|
||||||
os_info.user = pg_strdup(optarg);
|
os_info.user = pg_strdup(optarg);
|
||||||
|
os_info.user_specified = true;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Push the user name into the environment so pre-9.1
|
* Push the user name into the environment so pre-9.1
|
||||||
|
@ -291,6 +291,7 @@ typedef struct
|
|||||||
const char *progname; /* complete pathname for this program */
|
const char *progname; /* complete pathname for this program */
|
||||||
char *exec_path; /* full path to my executable */
|
char *exec_path; /* full path to my executable */
|
||||||
char *user; /* username for clusters */
|
char *user; /* username for clusters */
|
||||||
|
bool user_specified; /* user specified on command-line */
|
||||||
char **old_tablespaces; /* tablespaces */
|
char **old_tablespaces; /* tablespaces */
|
||||||
int num_old_tablespaces;
|
int num_old_tablespaces;
|
||||||
char **libraries; /* loadable libraries */
|
char **libraries; /* loadable libraries */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user