Re: Fix for pg_upgrade's forcing pg_controldata into English
Bruce Momjian <bruce@momjian.us>
From: Bruce Momjian <bruce@momjian.us>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Alvaro Herrera <alvherre@commandprompt.com>, Greg Sabino Mullane <greg@turnstep.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2010-09-01T22:39:39Z
Lists: pgsql-hackers
Attachments
- /pgpatches/pg_upgrade (text/x-diff) patch
Tom Lane wrote: > Alvaro Herrera <alvherre@commandprompt.com> writes: > > Excerpts from Bruce Momjian's message of mi sep 01 16:35:18 -0400 2010: > >> I have implemented your suggestion of setting LANG, LANGUAGE, and > >> LC_MESSAGES based on code in pg_regress.c; that is the only place I see > >> where we force English, and it certainly has received more testing. > > > I think a real long-term solution is to have a machine-readable format > > for pg_controldata, perhaps something very simple like > > > $ pg_controldata --machine > > PGCONTROL_VERSION_NUMBER=903 > > CATALOG_VERSION_NUMBER=201008051 > > DATABASE_SYSIDENTIFIER=5504177303240039672 > > etc > > > This wouldn't be subject to translation and thus much easier to process. > > +1. pg_controldata was never written with the idea that its output > would be read by programs. If we're going to start doing that, we > should provide an output format that's suitable, not try to work around > it in the callers. > > However, that's something for 9.1 and beyond. Bruce's immediate problem > is what to do in pg_upgrade in 9.0, and there I concur that he should > duplicate what pg_regress is doing. OK, here is a patch that sets all the variables that pg_regress.c sets. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. +