Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitf851361

Browse files
committed
pg_upgrade: pass username to analyze script
If -U (user) is specified, pass the username into the created analyzescript.Per request from Ray Stell
1 parente029275 commitf851361

File tree

3 files changed

+20
-4
lines changed

3 files changed

+20
-4
lines changed

‎contrib/pg_upgrade/check.c

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -459,6 +459,13 @@ void
459459
create_script_for_cluster_analyze(char**analyze_script_file_name)
460460
{
461461
FILE*script=NULL;
462+
char*user_specification="";
463+
464+
if (os_info.user_specified)
465+
{
466+
user_specification=pg_malloc(strlen(os_info.user)+7);
467+
sprintf(user_specification,"-U \"%s\" ",os_info.user);
468+
}
462469

463470
*analyze_script_file_name=pg_malloc(MAXPGPATH);
464471

@@ -501,7 +508,8 @@ create_script_for_cluster_analyze(char **analyze_script_file_name)
501508
ECHO_QUOTE,ECHO_QUOTE);
502509
fprintf(script,"echo %sthis script and run:%s\n",
503510
ECHO_QUOTE,ECHO_QUOTE);
504-
fprintf(script,"echo %s \"%s/vacuumdb\" --all %s%s\n",ECHO_QUOTE,new_cluster.bindir,
511+
fprintf(script,"echo %s \"%s/vacuumdb\" %s--all %s%s\n",ECHO_QUOTE,
512+
new_cluster.bindir,user_specification,
505513
/* Did we copy the free space files? */
506514
(GET_MAJOR_VERSION(old_cluster.major_version) >=804) ?
507515
"--analyze-only" :"--analyze",ECHO_QUOTE);
@@ -522,7 +530,8 @@ create_script_for_cluster_analyze(char **analyze_script_file_name)
522530
ECHO_QUOTE,ECHO_QUOTE);
523531
fprintf(script,"echo %s--------------------------------------------------%s\n",
524532
ECHO_QUOTE,ECHO_QUOTE);
525-
fprintf(script,"\"%s/vacuumdb\" --all --analyze-only\n",new_cluster.bindir);
533+
fprintf(script,"\"%s/vacuumdb\" %s--all --analyze-only\n",
534+
new_cluster.bindir,user_specification);
526535
fprintf(script,"echo%s\n",ECHO_BLANK);
527536
fprintf(script,"echo %sThe server is now available with minimal optimizer statistics.%s\n",
528537
ECHO_QUOTE,ECHO_QUOTE);
@@ -543,7 +552,8 @@ create_script_for_cluster_analyze(char **analyze_script_file_name)
543552
ECHO_QUOTE,ECHO_QUOTE);
544553
fprintf(script,"echo %s---------------------------------------------------%s\n",
545554
ECHO_QUOTE,ECHO_QUOTE);
546-
fprintf(script,"\"%s/vacuumdb\" --all --analyze-only\n",new_cluster.bindir);
555+
fprintf(script,"\"%s/vacuumdb\" %s--all --analyze-only\n",
556+
new_cluster.bindir,user_specification);
547557
fprintf(script,"echo%s\n\n",ECHO_BLANK);
548558

549559
#ifndefWIN32
@@ -556,7 +566,8 @@ create_script_for_cluster_analyze(char **analyze_script_file_name)
556566
ECHO_QUOTE,ECHO_QUOTE);
557567
fprintf(script,"echo %s-------------------------------------------------------------%s\n",
558568
ECHO_QUOTE,ECHO_QUOTE);
559-
fprintf(script,"\"%s/vacuumdb\" --all %s\n",new_cluster.bindir,
569+
fprintf(script,"\"%s/vacuumdb\" %s--all %s\n",new_cluster.bindir,
570+
user_specification,
560571
/* Did we copy the free space files? */
561572
(GET_MAJOR_VERSION(old_cluster.major_version) >=804) ?
562573
"--analyze-only" :"--analyze");
@@ -573,6 +584,9 @@ create_script_for_cluster_analyze(char **analyze_script_file_name)
573584
*analyze_script_file_name,getErrorText(errno));
574585
#endif
575586

587+
if (os_info.user_specified)
588+
pg_free(user_specification);
589+
576590
check_ok();
577591
}
578592

‎contrib/pg_upgrade/option.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@ parseCommandLine(int argc, char *argv[])
172172
case'U':
173173
pg_free(os_info.user);
174174
os_info.user=pg_strdup(optarg);
175+
os_info.user_specified= true;
175176

176177
/*
177178
* Push the user name into the environment so pre-9.1

‎contrib/pg_upgrade/pg_upgrade.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,7 @@ typedef struct
291291
constchar*progname;/* complete pathname for this program */
292292
char*exec_path;/* full path to my executable */
293293
char*user;/* username for clusters */
294+
booluser_specified;/* user specified on command-line */
294295
char**old_tablespaces;/* tablespaces */
295296
intnum_old_tablespaces;
296297
char**libraries;/* loadable libraries */

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp