Gary Wong <gary_wong@dot.ca.gov> writes:
> [Environment under in the postgres account]
> $ env
> LC_MONETARY=en_US.ISO8859-15
> LC_TIME=en_US.ISO8859-15
> LC_MESSAGES=C
> LC_CTYPE=en_US.ISO8859-1
> LC_COLLATE=en_US.ISO8859-15
> LC_NUMERIC=en_US.ISO8859-15
> [Message I get when I run initdb]
> $ initdb -D /usr/local/pgsql/data
> The files belonging to this database system will be owned by user
> "postgres".
> This user must also own the server process.
> The database cluster will be initialized with locales
> COLLATE: en_US.ISO8859-15
> CTYPE: en_US.ISO8859-1
> MESSAGES: C
> MONETARY: en_US.ISO8859-15
> NUMERIC: en_US.ISO8859-15
> TIME: en_US.ISO8859-15
> The default database encoding has accordingly been set to LATIN1.
> initdb: encoding mismatch
> The encoding you selected (LATIN1) and the encoding that the
> selected locale uses (LATIN9) do not match. This would lead to
> misbehavior in various character string processing functions.
> Rerun initdb and either do not specify an encoding explicitly,
> or choose a matching combination.
This is not a bug. You've got inconsistent environment settings,
and the error message seems reasonably appropriate for that.
Try making LC_CTYPE match the rest.
regards, tom lane