Since the money type has a locale dependent input and output format, there has 
to be some context saved when a database dump is created.  For example, if 
your environment uses a locale that uses the opposite point-vs-comma 
conventions from English (e.g., de_DE), then the following will fail to 
replicate the regression test database:

pg_dump regression | psql foo

The database regression has lc_monetary = C set, so this will produce C output 
piped into, say, de_DE input.

The first problem appears to be that pg_dump --create ought to save the 
database-specific configuration settings.  pg_dumpall gets this right.  But 
secondly, lc_monetary ought to be saved at the top of the dump file, much 
like client_encoding.  Unfortunately, that would probably break portability 
of dump files between different operating systems.  Perhaps we can get away 
with fixing --create and documenting this.  But something ought to be done 
about this; otherwise using the money type introduces a risk of breaking 
backup or upgrade procedures.

Comments?

-- 
Peter Eisentraut
http://developer.postgresql.org/~petere/

---------------------------(end of broadcast)---------------------------
TIP 7: You can help support the PostgreSQL project by donating at

                http://www.postgresql.org/about/donate

Reply via email to