Run pg_upgrade and pg_resetxlog with restricted token on Windows
Andrew Dunstan <andrew@dunslane.net>
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.
Files
| Path | Change | +/− |
|---|---|---|
| contrib/pg_upgrade/pg_upgrade.c | modified | +3 −0 |
| src/bin/initdb/initdb.c | modified | +2 −168 |
| src/bin/pg_resetxlog/pg_resetxlog.c | modified | +3 −0 |
| src/common/Makefile | modified | +1 −1 |
| src/common/restricted_token.c | added | +193 −0 |
| src/include/common/restricted_token.h | added | +24 −0 |
| src/test/regress/pg_regress.c | modified | +7 −98 |
| src/tools/msvc/Mkvcbuild.pm | modified | +2 −1 |