Re: Why do we let CREATE DATABASE reassign encoding?
| От | Heikki Linnakangas |
|---|---|
| Тема | Re: Why do we let CREATE DATABASE reassign encoding? |
| Дата | |
| Msg-id | 49F0AED5.3080908@enterprisedb.com обсуждение исходный текст |
| Ответ на | Why do we let CREATE DATABASE reassign encoding? (Tom Lane <tgl@sss.pgh.pa.us>) |
| Список | pgsql-hackers |
Tom Lane wrote: > If I have locale set to C, I can do this: > > regression=# create database u8 encoding 'utf8'; > CREATE DATABASE > regression=# create database l1 encoding 'latin1' template u8; > CREATE DATABASE > > Had I had any actual utf8 data in u8, l1 would now contain > encoding-corrupt information. Given that we've tried to > clamp down on encoding violations in recent releases, I wonder > why this case is still allowed. Wow, I'm surprised we allow that. Never occurred to me to try. > 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. Agreed, that's exactly what we did with per-database collation. -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: