Re: Postgresql 9.0b2 : pg_upgrade not passing username to pgdumpall ? - Mailing list pgsql-admin
From | Bruce Momjian |
---|---|
Subject | Re: Postgresql 9.0b2 : pg_upgrade not passing username to pgdumpall ? |
Date | |
Msg-id | 201006221648.o5MGmC218301@momjian.us Whole thread Raw |
In response to | Postgresql 9.0b2 : pg_upgrade not passing username to pgdumpall ? ("Cassiano, Marco" <mcassiano@manord.com>) |
Responses |
R: Postgresql 9.0b2 : pg_upgrade not passing username to pgdumpall ?
|
List | pgsql-admin |
Cassiano, Marco wrote: > Hi all, > > > > it's my first trial with pg_upgrade so I'm surely missing something.... > > I'm trying to launch pg_upgrade passing my super user name but > pg_dumpall fails with a permission denied error.... > > I don't see the username in the pgdumpall call....could it be this the > problem ? > > Thank you (I hope this is the right list to post this) Turns out I was missing the user name designation. I am attaching the patch that fixes this, and a pg_ctl issue on Win32. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + None of us is going to be here forever. + Index: contrib/pg_upgrade/dump.c =================================================================== RCS file: /cvsroot/pgsql/contrib/pg_upgrade/dump.c,v retrieving revision 1.2 diff -c -c -r1.2 dump.c *** contrib/pg_upgrade/dump.c 12 Jun 2010 17:05:29 -0000 1.2 --- contrib/pg_upgrade/dump.c 22 Jun 2010 16:44:06 -0000 *************** *** 19,27 **** * restores the frozenid's for databases and relations. */ exec_prog(ctx, true, ! SYSTEMQUOTE "\"%s/pg_dumpall\" --port %d --schema-only " ! "--binary-upgrade > \"%s/" ALL_DUMP_FILE "\"" SYSTEMQUOTE, ! ctx->new.bindir, ctx->old.port, ctx->cwd); check_ok(ctx); } --- 19,27 ---- * restores the frozenid's for databases and relations. */ exec_prog(ctx, true, ! SYSTEMQUOTE "\"%s/pg_dumpall\" --port %d --username \"%s\" " ! "--schema-only --binary-upgrade > \"%s/" ALL_DUMP_FILE "\"" ! SYSTEMQUOTE, ctx->new.bindir, ctx->old.port, ctx->user, ctx->cwd); check_ok(ctx); } Index: contrib/pg_upgrade/option.c =================================================================== RCS file: /cvsroot/pgsql/contrib/pg_upgrade/option.c,v retrieving revision 1.7 diff -c -c -r1.7 option.c *** contrib/pg_upgrade/option.c 15 Jun 2010 23:25:01 -0000 1.7 --- contrib/pg_upgrade/option.c 22 Jun 2010 16:44:06 -0000 *************** *** 174,185 **** * start. */ /* truncate */ ! ctx->log_fd = fopen(ctx->logfile, "w"); ! if (!ctx->log_fd) pg_log(ctx, PG_FATAL, "Cannot write to log file %s\n", ctx->logfile); fclose(ctx->log_fd); ! ctx->log_fd = fopen(ctx->logfile, "a"); ! if (!ctx->log_fd) pg_log(ctx, PG_FATAL, "Cannot write to log file %s\n", ctx->logfile); } else --- 174,183 ---- * start. */ /* truncate */ ! if ((ctx->log_fd = fopen(ctx->logfile, "w")) == NULL) pg_log(ctx, PG_FATAL, "Cannot write to log file %s\n", ctx->logfile); fclose(ctx->log_fd); ! if ((ctx->log_fd = fopen(ctx->logfile, "a")) == NULL) pg_log(ctx, PG_FATAL, "Cannot write to log file %s\n", ctx->logfile); } else Index: contrib/pg_upgrade/pg_upgrade.h =================================================================== RCS file: /cvsroot/pgsql/contrib/pg_upgrade/pg_upgrade.h,v retrieving revision 1.8 diff -c -c -r1.8 pg_upgrade.h *** contrib/pg_upgrade/pg_upgrade.h 15 Jun 2010 02:08:01 -0000 1.8 --- contrib/pg_upgrade/pg_upgrade.h 22 Jun 2010 16:44:06 -0000 *************** *** 48,54 **** #define pg_link_file win32_pghardlink #define EXE_EXT ".exe" #define sleep(x) Sleep(x * 1000) ! #define DEVNULL "nul" /* "con" does not work from the Msys 1.0.10 console (part of MinGW). */ #define DEVTTY "con" /* from pgport */ --- 48,54 ---- #define pg_link_file win32_pghardlink #define EXE_EXT ".exe" #define sleep(x) Sleep(x * 1000) ! #define DEVNULL "nul" /* "con" does not work from the Msys 1.0.10 console (part of MinGW). */ #define DEVTTY "con" /* from pgport */ Index: contrib/pg_upgrade/server.c =================================================================== RCS file: /cvsroot/pgsql/contrib/pg_upgrade/server.c,v retrieving revision 1.2 diff -c -c -r1.2 server.c *** contrib/pg_upgrade/server.c 14 May 2010 00:32:21 -0000 1.2 --- contrib/pg_upgrade/server.c 22 Jun 2010 16:44:06 -0000 *************** *** 177,188 **** port = ctx->new.port; } ! /* use -l for Win32 */ snprintf(cmd, sizeof(cmd), SYSTEMQUOTE "\"%s/pg_ctl\" -l \"%s\" -D \"%s\" " "-o \"-p %d -c autovacuum=off -c autovacuum_freeze_max_age=2000000000\" " "start >> \"%s\" 2>&1" SYSTEMQUOTE, ! bindir, ctx->logfile, datadir, port, ctx->logfile); exec_prog(ctx, true, "%s", cmd); /* wait for the server to start properly */ --- 177,198 ---- port = ctx->new.port; } ! /* ! * On Win32, we can't send both server output and pg_ctl output ! * to the same file because we get the error: ! * "The process cannot access the file because it is being used by another process." ! * so we have to send pg_ctl output to 'nul'. ! */ snprintf(cmd, sizeof(cmd), SYSTEMQUOTE "\"%s/pg_ctl\" -l \"%s\" -D \"%s\" " "-o \"-p %d -c autovacuum=off -c autovacuum_freeze_max_age=2000000000\" " "start >> \"%s\" 2>&1" SYSTEMQUOTE, ! bindir, ctx->logfile, datadir, port, ! #ifndef WIN32 ! ctx->logfile); ! #else ! DEVNULL); ! #endif exec_prog(ctx, true, "%s", cmd); /* wait for the server to start properly */ *************** *** 200,205 **** --- 210,216 ---- void stop_postmaster(migratorContext *ctx, bool fast, bool quiet) { + char cmd[MAXPGPATH]; const char *bindir; const char *datadir; *************** *** 216,225 **** else return; /* no cluster running */ ! /* use -l for Win32 */ ! exec_prog(ctx, fast ? false : true, SYSTEMQUOTE "\"%s/pg_ctl\" -l \"%s\" -D \"%s\" %s stop >> \"%s\" 2>&1" SYSTEMQUOTE, ! bindir, ctx->logfile, datadir, fast ? "-m fast" : "", ctx->logfile); ctx->postmasterPID = 0; ctx->running_cluster = NONE; --- 227,242 ---- else return; /* no cluster running */ ! /* See comment in start_postmaster() about why win32 output is ignored. */ ! snprintf(cmd, sizeof(cmd), SYSTEMQUOTE "\"%s/pg_ctl\" -l \"%s\" -D \"%s\" %s stop >> \"%s\" 2>&1" SYSTEMQUOTE, ! bindir, ctx->logfile, datadir, fast ? "-m fast" : "", ! #ifndef WIN32 ! ctx->logfile); ! #else ! DEVNULL); ! #endif ! exec_prog(ctx, fast ? false : true, "%s", cmd); ctx->postmasterPID = 0; ctx->running_cluster = NONE;
pgsql-admin by date: