| From: | Peter Eisentraut <peter_e(at)gmx(dot)net> | 
|---|---|
| To: | Jaime Casanova <jaime(at)2ndquadrant(dot)com> | 
| Cc: | pgsql-hackers(at)postgresql(dot)org | 
| Subject: | Re: Per-column collation, proof of concept | 
| Date: | 2010-08-03 16:32:13 | 
| Message-ID: | 1280853133.9554.7.camel@vanquo.pezone.net | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
On mån, 2010-08-02 at 01:43 -0500, Jaime Casanova wrote:
> nowadays, CREATE DATABASE has a lc_collate clause. is the new collate
> clause similar as the lc_collate?
> i mean, is lc_collate what we will use as a default?
Yes, if you do not specify anything per column, the database default is
used.
How to integrate the per-database or per-cluster configuration with the
new system is something to figure out in the future.
> if yes, then probably we need to use pg_collation there too because
> lc_collate and the new collate clause use different collation names.
> """
> postgres=# create database test with lc_collate 'en_US.UTF-8';
> CREATE DATABASE
> test=# create table t1 (col1 text collate "en_US.UTF-8");
> ERROR:  collation "en_US.UTF-8" does not exist
> test=# create table t1 (col1 text collate "en_US.utf8");
> CREATE TABLE
> """
This is something that libc does for you.  The locale as listed by
locale -a is called "en_US.utf8", but apparently libc takes
"en_US.UTF-8" as well.
> also i got errors from regression tests when MULTIBYTE=UTF8
> (attached). it seems i was trying to create locales that weren't
> defined on locales.txt (from were was fed that file?). i added a line
> to that file (for es_EC.utf8) then i create a table with a column
> using that collate and execute "select * from t2 where col1 > 'n'; "
> and i got this error: "ERROR:  could not create locale "es_EC.utf8""
> (of course, that last part was me messing the things up, but it show
> we shouldn't be using a file locales.txt, i think)
It might be that you don't have those locales installed in your system.
locales.txt is created by using locale -a.  Check what that gives you.
> i can attach a collate to a domain but i can't see where are we
> storing that info (actually it says it's not collatable):
Domain support is not done yet.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Richard | 2010-08-03 16:34:11 | Two problems when using Postgresql8.3.7, Please help me! | 
| Previous Message | Hitoshi Harada | 2010-08-03 16:30:54 | Re: Status report on writeable CTEs |