]> granicus.if.org Git - postgresql/commit
Make initdb throw error for bad locale values.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 14 May 2014 15:51:10 +0000 (11:51 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 14 May 2014 15:51:10 +0000 (11:51 -0400)
commit31a263237fa3eb6f36d58335fbdb82bab3136db3
tree746c5954025b92f661f61ceb22c30386dc490dc7
parenteb6144bb447ecbb036bfa08da85940cd50d49410
Make initdb throw error for bad locale values.

Historically we've printed a complaint for a bad locale setting, but then
fallen back to the environment default.  Per discussion, this is not such
a great idea, because rectifying an erroneous locale choice post-initdb
(perhaps long after data has been loaded) could be enormously expensive.
Better to complain and give the user a chance to double-check things.

The behavior was particularly bad if the bad setting came from environment
variables rather than a bogus command-line switch: in that case not only
was there a fallback to C/SQL_ASCII, but the printed complaint was quite
unhelpful.  It's hard to be entirely sure what variables setlocale looked
at, but we can at least give a hint where the problem might be.

Per a complaint from Tomas Vondra.
src/bin/initdb/initdb.c