Linux 2.4.23 on AMD 450MHz.
pgsql 7.4.1
configure --enable-multibyte=UNICODE
locale is zh_TW.Big5
IIRC, when I did "initdb -E UNICODE" or "createdb db1", I
saw the following message from pgsql:
....locale "C"...
The problem:
db1=# select distinct * from t53 where f1='J200312014' order
by 1;
f0 | f1 | f3 | f4 | f5 | f6 | f7 | f8
| f9 | f10 | f11 | f12 | f99
----+------------+-----------+----+-----+-------+-------+---
-+----+----------+-----+-----+-----
1 | J200312014 | 1101 | D | USD | 200 | 6930 | 1
| A | | | | rps
1 | J200312014 | 1101-1 | D | USD | 100 | 3500 | 1
| D | | | | rps
1 | J200312014 | 1102-A012 | D | TWD | 10000 | 10000 | 1
| B | savings1 | | | rps
1 | J200312014 | 1108 | D | TWD | 100 | 100 | 1
| C | bill2 | | | rps
1 | J200312014 | 1110 | C | USD | 600 | 20790 | 1
| r | s1 | | | rps
1 | J200312014 | 2210-1 | C | USD | 500 | 17325 | 1
| T | | | | rps
(6 rows)
db1=# select distinct * into x53 from t53 where
f1='J200312014' order by 1;
SELECT
db1=# show client_encoding;
client_encoding
-----------------
unicode
(1 row)
db1=# select * from x53;
f0 | f1 | f3 | f4 | f5 | f6 | f7 | f8
| f9 | f10 | f11 | f12 | f99
----+------------+-----------+----+-----+-------+-------+---
-+----+----------+-----+-------+-----
1 | J200312014 | 1101 | D | USD | 200 | 6930 | 1
| | rps | | |
1 | J200312014 | 1101 | D | USD | 200 | 6930 | 1
| A | rps | | |
1 | J200312014 | 1101-1 | D | USD | 100 | 3500 | 1
| | | rps | |
1 | J200312014 | 1101-1 | D | USD | 100 | 3500 | 1
| D | | rps | |
1 | J200312014 | 1102-A012 | D | TWD | 10000 | 10000 | 1
| | savings1 | rps | |
1 | J200312014 | 1102-A012 | D | TWD | 10000 | 10000 | 1
| B | savings1 | rps | |
1 | J200312014 | 1108 | D | TWD | 100 | 100 | 1
| | | | bill2 |
1 | J200312014 | 1108 | D | TWD | 100 | 100 | 1
| C | | | bill2 |
1 | J200312014 | 1110 | C | USD | 600 | 20790 | 1
| | s1 | | rps |
1 | J200312014 | 2210-1 | C | USD | 500 | 17325 | 1
| T | rps | | |
1 | J200312014 | 2210-1 | C | USD | 500 | 17325 | 1
| | | rps | |
(11 rows)
db1=# drop table x53;
DROP TABLE
db1=# select distinct * into x53 from t53 where
f1='J200312014' order by 1;
SELECT
db1=# select * from x53;
ERROR: invalid memory alloc request size 4294967293
db1=# select 4294967293>>16;
?column?
----------
65535
(1 row)
---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster