aboutsummaryrefslogtreecommitdiff
path: root/contrib
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 /contrib
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 'contrib')
-rw-r--r--contrib/pg_upgrade/pg_upgrade.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/contrib/pg_upgrade/pg_upgrade.c b/contrib/pg_upgrade/pg_upgrade.c
index ed7de809c8e..eb48da779f9 100644
--- a/contrib/pg_upgrade/pg_upgrade.c
+++ b/contrib/pg_upgrade/pg_upgrade.c
@@ -37,6 +37,7 @@
#include "postgres_fe.h"
#include "pg_upgrade.h"
+#include "common/restricted_token.h"
#ifdef HAVE_LANGINFO_H
#include <langinfo.h>
@@ -75,6 +76,8 @@ main(int argc, char **argv)
parseCommandLine(argc, argv);
+ get_restricted_token(os_info.progname);
+
adjust_data_dir(&old_cluster);
adjust_data_dir(&new_cluster);