We now have defenses against running a non-LOCALE-enabled backend in a
database that was created in non-C locale. Shouldn't we likewise
prevent a non-MULTIBYTE-enabled backend from running in a database with
a multibyte encoding that's not SQL_ASCII? Or am I missing a reason why
that is safe?
I propose the following addition to ReverifyMyDatabase in postinit.c:
#ifdef MULTIBYTE
SetDatabaseEncoding(dbform->encoding);
+ #else
+ if (dbform->encoding != SQL_ASCII)
+ elog(FATAL, "some suitable error message");
#endif
Comments?
regards, tom lane