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

Marti Raudsepp <marti@juffo.org>

From: Marti Raudsepp <marti@juffo.org>
To: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2012-12-10T22:17:11Z
Lists: pgsql-hackers

Attachments

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

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. In pg_upgrade, set synchronous_commit=off for the new cluster, to

  2. Fix handling of inherited check constraints in ALTER COLUMN TYPE.