Re: Why do we let CREATE DATABASE reassign encoding?

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Why do we let CREATE DATABASE reassign encoding?
Дата
Msg-id 2135.1240512777@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Why do we let CREATE DATABASE reassign encoding?  (Bill Moran <wmoran@potentialtech.com>)
Ответы Re: Why do we let CREATE DATABASE reassign encoding?  (Bill Moran <wmoran@potentialtech.com>)
Список pgsql-hackers
Bill Moran <wmoran@potentialtech.com> writes:
> In response to Tom Lane <tgl@sss.pgh.pa.us>:
>> We should presumably let the encoding be changed when cloning
>> from template0, and probably it's reasonable to trust the user
>> if either source or destination DB encoding is SQL_ASCII.
>> In other cases I'm thinking it should fail.

> On a pedantic level, doesn't this remove the ability to have
> databases on a single cluster that are different encodings?  I mean,
> if template1 is utf8, and I can't change that using CREATE
> DATABASE, then I'm stuck with utf8 for all databases on that
> cluster ... unless I'm missing something.

You're supposed to clone from template0, not template1, when creating
DBs that are different in either encoding or locale from the
installation default.  We already enforce this except for having missed
the special case of C locale.  (There might be some corner cases
involving UTF8 on Windows, too; not sure about that.)  The reason is
that template0 is expected to contain only ASCII data, but template1
might not.
        regards, tom lane


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Andrew Dunstan
Дата:
Сообщение: Re: Why do we let CREATE DATABASE reassign encoding?
Следующее
От: Heikki Linnakangas
Дата:
Сообщение: Re: Why do we let CREATE DATABASE reassign encoding?