On Mon, Apr 9, 2018 at 7:11 AM, Michael Paquier <[email protected]> wrote:
> Hi all,
>
> I was just going through pg_rewind's code, and noticed the following
> pearl:
> /*
> * Don't allow pg_rewind to be run as root, to avoid overwriting the
> * ownership of files in the data directory. We need only check for
> root
> * -- any other user won't have sufficient permissions to modify files
> in
> * the data directory.
> */
> #ifndef WIN32
> if (geteuid() == 0)
> {
> fprintf(stderr, _("cannot be executed by \"root\"\n"));
> fprintf(stderr, _("You must run %s as the PostgreSQL
> superuser.\n"),
> progname);
> }
> #endif
>
> While that's nice to inform the user about the problem, that actually
> does not prevent pg_rewind to run as root. Attached is a patch, which
> needs a back-patch down to 9.5.
>
Seems simple enough and the right hting to do, but I wonder if we should
really backpatch it. Yes, the behaviour is not great now, but there is also
a non-zero risk of breaking peoples automated failover scripts of we
backpatch it, isn't it?
--
Magnus Hagander
Me: https://www.hagander.net/ <http://www.hagander.net/>
Work: https://www.redpill-linpro.com/ <http://www.redpill-linpro.com/>