pgsql: Allow "-C variable" and "--describe-config" even to root users.
От | Tom Lane |
---|---|
Тема | pgsql: Allow "-C variable" and "--describe-config" even to root users. |
Дата | |
Msg-id | E1WWFxe-0003vq-Vi@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Allow "-C variable" and "--describe-config" even to root users. There's no really compelling reason to refuse to do these read-only, non-server-starting options as root, and there's at least one good reason to allow -C: pg_ctl uses -C to find out the true data directory location when pointed at a config-only directory. On Windows, this is done before dropping administrator privileges, which means that pg_ctl fails for administrators if and only if a config-only layout is used. Since the root-privilege check is done so early in startup, it's a bit awkward to check for these switches. Make the somewhat arbitrary decision that we'll only skip the root check if -C is the first switch. This is not just to make the code a bit simpler: it also guarantees that we can't misinterpret a --boot mode switch. (While AuxiliaryProcessMain doesn't currently recognize any such switch, it might have one in the future.) This is no particular problem for pg_ctl, and since the whole behavior is undocumented anyhow, it's not a documentation issue either. (--describe-config only works as the first switch anyway, so this is no restriction for that case either.) Back-patch to 9.2 where pg_ctl first began to use -C. MauMau, heavily edited by me Branch ------ REL9_2_STABLE Details ------- http://git.postgresql.org/pg/commitdiff/6d25eb314a631871c1df1de563253a78ce706250 Modified Files -------------- src/backend/main/main.c | 26 +++++++++++++++++++++++--- src/bin/pg_ctl/pg_ctl.c | 8 +++++--- 2 files changed, 28 insertions(+), 6 deletions(-)
В списке pgsql-committers по дате отправления: