Modify CREATE DATABASE to enforce that the source database's encoding setting
commitf0616c6f57da612a611d5e0b87b0afa1ce337388
authortgl <tgl>
Wed, 6 May 2009 16:15:21 +0000 (6 16:15 +0000)
committertgl <tgl>
Wed, 6 May 2009 16:15:21 +0000 (6 16:15 +0000)
tree85439a25baae793949249c2014409427d9272b8a
parent313678fb87b27c3f78ecb0eb3a2b7b2769fe08f3
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