@@ -459,6 +459,13 @@ void
459
459
create_script_for_cluster_analyze (char * * analyze_script_file_name )
460
460
{
461
461
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
+ }
462
469
463
470
* analyze_script_file_name = pg_malloc (MAXPGPATH );
464
471
@@ -501,7 +508,8 @@ create_script_for_cluster_analyze(char **analyze_script_file_name)
501
508
ECHO_QUOTE , ECHO_QUOTE );
502
509
fprintf (script , "echo %sthis script and run:%s\n" ,
503
510
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 ,
505
513
/* Did we copy the free space files? */
506
514
(GET_MAJOR_VERSION (old_cluster .major_version ) >= 804 ) ?
507
515
"--analyze-only" : "--analyze" , ECHO_QUOTE );
@@ -522,7 +530,8 @@ create_script_for_cluster_analyze(char **analyze_script_file_name)
522
530
ECHO_QUOTE , ECHO_QUOTE );
523
531
fprintf (script , "echo %s--------------------------------------------------%s\n" ,
524
532
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 );
526
535
fprintf (script , "echo%s\n" , ECHO_BLANK );
527
536
fprintf (script , "echo %sThe server is now available with minimal optimizer statistics.%s\n" ,
528
537
ECHO_QUOTE , ECHO_QUOTE );
@@ -543,7 +552,8 @@ create_script_for_cluster_analyze(char **analyze_script_file_name)
543
552
ECHO_QUOTE , ECHO_QUOTE );
544
553
fprintf (script , "echo %s---------------------------------------------------%s\n" ,
545
554
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 );
547
557
fprintf (script , "echo%s\n\n" , ECHO_BLANK );
548
558
549
559
#ifndef WIN32
@@ -556,7 +566,8 @@ create_script_for_cluster_analyze(char **analyze_script_file_name)
556
566
ECHO_QUOTE , ECHO_QUOTE );
557
567
fprintf (script , "echo %s-------------------------------------------------------------%s\n" ,
558
568
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 ,
560
571
/* Did we copy the free space files? */
561
572
(GET_MAJOR_VERSION (old_cluster .major_version ) >= 804 ) ?
562
573
"--analyze-only" : "--analyze" );
@@ -573,6 +584,9 @@ create_script_for_cluster_analyze(char **analyze_script_file_name)
573
584
* analyze_script_file_name , getErrorText (errno ));
574
585
#endif
575
586
587
+ if (os_info .user_specified )
588
+ pg_free (user_specification );
589
+
576
590
check_ok ();
577
591
}
578
592
0 commit comments