aboutsummaryrefslogtreecommitdiff
path: root/src/bin/pg_resetxlog/pg_resetxlog.c
diff options
context:
space:
mode:
authorAndrew Dunstan <andrew@dunslane.net>2015-03-30 17:07:52 -0400
committerAndrew Dunstan <andrew@dunslane.net>2015-03-30 17:07:52 -0400
commitfa1e5afa8a26d467aec7c8b36a0b749b690f636c (patch)
tree59f26bc7d64d51973bce9d1e2b68ddaab20c112c /src/bin/pg_resetxlog/pg_resetxlog.c
parented9cc2b5df59fdbc50cce37399e26b03ab2c1686 (diff)
downloadpostgresql-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.c3
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"),