diff --git a/src/backend/commands/dbcommands.c b/src/backend/commands/dbcommands.c index cb536f3d59f203af08e5b39e27fe99e34e4ea23c..cf6e7400985d1f009811f9598b5e56fac4c33d24 100644 --- a/src/backend/commands/dbcommands.c +++ b/src/backend/commands/dbcommands.c @@ -13,7 +13,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/commands/dbcommands.c,v 1.222 2009/04/23 17:39:21 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/commands/dbcommands.c,v 1.223 2009/05/05 23:39:55 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -332,10 +332,12 @@ createdb(const CreatedbStmt *stmt) errmsg("invalid locale name %s", dbctype))); /* - * Check whether encoding matches server locale settings. We allow - * mismatch in three cases: + * Check whether chosen encoding matches chosen locale settings. This + * restriction is necessary because libc's locale-specific code usually + * fails when presented with data in an encoding it's not expecting. + * We allow mismatch in three cases: * - * 1. ctype_encoding = SQL_ASCII, which means either that the locale is + * 1. locale encoding = SQL_ASCII, which means either that the locale is * C/POSIX which works with any encoding, or that we couldn't determine * the locale's encoding and have to trust the user to get it right. *