diff options
author | Andrew Dunstan <andrew@dunslane.net> | 2015-03-30 17:07:52 -0400 |
---|---|---|
committer | Andrew Dunstan <andrew@dunslane.net> | 2015-03-30 17:07:52 -0400 |
commit | fa1e5afa8a26d467aec7c8b36a0b749b690f636c (patch) | |
tree | 59f26bc7d64d51973bce9d1e2b68ddaab20c112c /src/bin/pg_resetxlog/pg_resetxlog.c | |
parent | ed9cc2b5df59fdbc50cce37399e26b03ab2c1686 (diff) | |
download | postgresql-fa1e5afa8a26d467aec7c8b36a0b749b690f636c.tar.gz postgresql-fa1e5afa8a26d467aec7c8b36a0b749b690f636c.zip |
Run pg_upgrade and pg_resetxlog with restricted token on Windows
As with initdb these programs need to run with a restricted token, and
if they don't pg_upgrade will fail when run as a user with Adminstrator
privileges.
Backpatch to all live branches. On the development branch the code is
reorganized so that the restricted token code is now in a single
location. On the stable bramches a less invasive change is made by
simply copying the relevant code to pg_upgrade.c and pg_resetxlog.c.
Patches and bug report from Muhammad Asif Naeem, reviewed by Michael
Paquier, slightly edited by me.
Diffstat (limited to 'src/bin/pg_resetxlog/pg_resetxlog.c')
-rw-r--r-- | src/bin/pg_resetxlog/pg_resetxlog.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/bin/pg_resetxlog/pg_resetxlog.c b/src/bin/pg_resetxlog/pg_resetxlog.c index a16089f3e8f..3361111c380 100644 --- a/src/bin/pg_resetxlog/pg_resetxlog.c +++ b/src/bin/pg_resetxlog/pg_resetxlog.c @@ -53,6 +53,7 @@ #include "catalog/catversion.h" #include "catalog/pg_control.h" #include "common/fe_memutils.h" +#include "common/restricted_token.h" #include "storage/large_object.h" #include "pg_getopt.h" @@ -310,6 +311,8 @@ main(int argc, char *argv[]) } #endif + get_restricted_token(progname); + if (chdir(DataDir) < 0) { fprintf(stderr, _("%s: could not change directory to \"%s\": %s\n"), |