]> git.ipfire.org Git - thirdparty/postgresql.git/commit
pg_upgrade: Fix quoting of some arguments in pg_ctl command
authorMichael Paquier <michael@paquier.xyz>
Mon, 10 Feb 2020 01:49:47 +0000 (10:49 +0900)
committerMichael Paquier <michael@paquier.xyz>
Mon, 10 Feb 2020 01:49:47 +0000 (10:49 +0900)
commita2687d0bdc6c9250d1b7710fe43cf10af4beb895
tree55a6a4977045edf056ce77d9e6df95b9e64b7525
parent994f9a71f8262f332a5d8414d581f0c49d8ce41b
pg_upgrade: Fix quoting of some arguments in pg_ctl command

The previous coding forgot to apply shell quoting to the socket
directory and the data folder, leading to failures when running
pg_upgrade.  This refactors the code generating the pg_ctl command
starting clusters to use a more correct shell quoting.  Failures are
easier to trigger in 12 and newer versions by using a value of
--socketdir that includes quotes, but it is also possible to cause
failures with quotes included in the default socket directory used by
pg_upgrade or the data folders of the clusters involved in the
upgrade.

As 9.4 is going to be EOL'd with the next minor release, nobody is
likely going to upgrade to it now so this branch is not included in the
set of branches fixed.

Author: Michael Paquier
Reviewed-by: Álvaro Herrera, Noah Misch
Backpatch-through: 9.5
src/bin/pg_upgrade/server.c