BUG #6214: can't change Column COLLATE

Started by 小豕over 14 years ago5 messagesbugs
Jump to latest
#1小豕
e9320.tw@gmail.com

The following bug has been logged online:

Bug reference: 6214
Logged by: yulin liu
Email address: e9320.tw@gmail.com
PostgreSQL version: PostgreSQL 9.1
Operating system: CentOS release 5.4
Description: can't change Column COLLATE
Details:

can't change Column COLLATE pg_catalog."default" to pg_catalog."zh_TW.euctw"

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: 小豕 (#1)
Re: BUG #6214: can't change Column COLLATE

"yulin liu" <e9320.tw@gmail.com> writes:

can't change Column COLLATE pg_catalog."default" to pg_catalog."zh_TW.euctw"

Use ALTER TABLE ... ALTER COLUMN ... TYPE ... COLLATE ...

regards, tom lane

#3小豕
e9320.tw@gmail.com
In reply to: Tom Lane (#2)
Re: BUG #6214: can't change Column COLLATE

Use ALTER TABLE item ALTER COLUMN title TYPE character varying(2000)
COLLATE pg_catalog."zh_TW.euctw";
but, SQL state: 42704 "UTF8" "pg_catalog.zh_TW.euctw" not found

2011/9/19 Tom Lane <tgl@sss.pgh.pa.us>

Show quoted text

"yulin liu" <e9320.tw@gmail.com> writes:

can't change Column COLLATE pg_catalog."default" to

pg_catalog."zh_TW.euctw"

Use ALTER TABLE ... ALTER COLUMN ... TYPE ... COLLATE ...

regards, tom lane

#4Tom Lane
tgl@sss.pgh.pa.us
In reply to: 小豕 (#3)
Re: BUG #6214: can't change Column COLLATE

=?Big5?B?pHCoqA==?= <e9320.tw@gmail.com> writes:

Use ALTER TABLE item ALTER COLUMN title TYPE character varying(2000)
COLLATE pg_catalog."zh_TW.euctw";
but, SQL state: 42704 "UTF8" "pg_catalog.zh_TW.euctw" not found

I hope that's not the exact phrasing of the error message ... but
what it's probably trying to tell you is that you can't use an EUC_TW
based locale in a database with UTF8 encoding. Try zh_TW.utf8.

regards, tom lane

#5Peter Eisentraut
peter_e@gmx.net
In reply to: Tom Lane (#4)
Re: BUG #6214: can't change Column COLLATE

On tis, 2011-09-20 at 00:32 -0400, Tom Lane wrote:

=?Big5?B?pHCoqA==?= <e9320.tw@gmail.com> writes:

Use ALTER TABLE item ALTER COLUMN title TYPE character varying(2000)
COLLATE pg_catalog."zh_TW.euctw";
but, SQL state: 42704 "UTF8" "pg_catalog.zh_TW.euctw" not found

I hope that's not the exact phrasing of the error message ... but
what it's probably trying to tell you is that you can't use an EUC_TW
based locale in a database with UTF8 encoding. Try zh_TW.utf8.

It's usually easier to just use COLLATE "zh_TW", and it will pick up the
right encoding.