[HACKERS] [PATCH] pg_upgrade -o/-O regression in 9.2.2

2012-12-10 Thread Marti Raudsepp
Hi!

It seems that PostgreSQL 9.2.2 has a regression in pg_upgrade, the -o
and -O options forget to add a space before passing on user options,
thereby generating unparsable command lines.

For example:
pg_upgrade -b /usr/local/pg91/bin -B /usr/bin -d /tmp/91 -D /tmp/92 -O -F
[...]
Creating catalog dump   ok
*failure*
could not connect to new postmaster started with the command:
/usr/bin/pg_ctl -w -l pg_upgrade_server.log -D /tmp/92 -o -p
50432 -b -c synchronous_commit=off-F -c listen_addresses='' -c
unix_socket_permissions=0700 -c unix_socket_directory='/tmp' start

Notice the bad argument synchronous_commit=off-F

It's easy enough to work around by adding a space to the command line,
passing -O ' -F' instead of -O '-F'

Here's the bad commit:
http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=ed5699dd1b883e193930448b7ad532e233de0bd7;hp=5ed6546cf75623ba426942a3b71659a66cf7ed68

The attached patch re-introduces the space at the necessary place.

Regards,
Marti


pg_upgrade_user_options-9.2.patch
Description: Binary data

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] [PATCH] pg_upgrade -o/-O regression in 9.2.2

2012-12-10 Thread Bruce Momjian
On Tue, Dec 11, 2012 at 12:17:11AM +0200, Marti Raudsepp wrote:
 Hi!
 
 It seems that PostgreSQL 9.2.2 has a regression in pg_upgrade, the -o
 and -O options forget to add a space before passing on user options,
 thereby generating unparsable command lines.
 
 For example:
 pg_upgrade -b /usr/local/pg91/bin -B /usr/bin -d /tmp/91 -D /tmp/92 -O -F
 [...]
 Creating catalog dump   ok
 *failure*
 could not connect to new postmaster started with the command:
 /usr/bin/pg_ctl -w -l pg_upgrade_server.log -D /tmp/92 -o -p
 50432 -b -c synchronous_commit=off-F -c listen_addresses='' -c
 unix_socket_permissions=0700 -c unix_socket_directory='/tmp' start
 
 Notice the bad argument synchronous_commit=off-F
 
 It's easy enough to work around by adding a space to the command line,
 passing -O ' -F' instead of -O '-F'
 
 Here's the bad commit:
 http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=ed5699dd1b883e193930448b7ad532e233de0bd7;hp=5ed6546cf75623ba426942a3b71659a66cf7ed68
 
 The attached patch re-introduces the space at the necessary place.

I was super-paranoid about making any changes in that area, but it seems
I wasn't paranoid enough.

Patch applied to head and 9.2.  Thanks for the workaround idea too.

-- 
  Bruce Momjian  br...@momjian.ushttp://momjian.us
  EnterpriseDB http://enterprisedb.com

  + It's impossible for everything to be true. +


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers