]> granicus.if.org Git - postgresql/commit
Modify CREATE DATABASE to enforce that the source database's encoding setting
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 6 May 2009 16:15:21 +0000 (16:15 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 6 May 2009 16:15:21 +0000 (16:15 +0000)
commit421c66b76c3d51e764bd3d8ea25acae89a5b222d
treee6355dfede0300cfde11dc78fdbb8e25557c3061
parentab4e386a8069e3228536f1044f23bbf09f85204b
Modify CREATE DATABASE to enforce that the source database's encoding setting
must be used for the new database, except when copying from template0.
This is the same rule that we now enforce for locale settings, and it has
the same motivation: databases other than template0 might contain data that
would be invalid according to a different setting.  This represents another
step in a continuing process of locking down ways in which encoding violations
could occur inside the backend.  Per discussion of a few days ago.

In passing, fix pre-existing breakage of mbregress.sh, and fix up a couple
of ereport() calls in dbcommands.c that failed to specify sqlstate codes.
doc/src/sgml/charset.sgml
doc/src/sgml/manage-ag.sgml
doc/src/sgml/ref/create_database.sgml
src/backend/commands/dbcommands.c
src/test/mb/README
src/test/mb/mbregress.sh