mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-11-27 07:21:09 +08:00
18 KiB
18 KiB
postgresql 6.5.1 multi-byte (MB) support README 1999/7/11 $B:n@.
$B@P0fC#IW
t-ishii@sra.co.jp
http://www.sra.co.jp/people/t-ishii/PostgreSQL/
$B$O$8$a$K!'
PostgreSQL $B$K$*$1$k%^%k%A%P%$%H%5%]!<%H$O0J2<$N$h$&$JFCD'$r;}$C$F$$$^$9!#
1.$B%^%k%A%P%$%HJ8;z$H$7$F!"F|K\8l!"Cf9q8l$J$I$N3F9q$N EUC$B!"Unicode$B!"
mule internal code, ISO-8859-* $B$,%G!<%?%Y!<%9:n@.;~$KA*Br2DG=!#
$B%G!<%?%Y!<%9$K$O$3$N%3!<%I$N$^$^3JG<$5$l$^$9!#
2.$B%F!<%V%kL>$K%^%k%A%P%$%HJ8;z$,;HMQ2DG=($B$?$@$7!"OS $B$,%^%k%A%P%$%H
$B$N%U%!%$%kL>$r5v$7$F$$$k$3$H$,I,MW)
3.$B%+%i%`L>$K%^%k%A%P%$%HJ8;z$,;HMQ2DG=
4.$B%G!<%?$=$N$b$N$K$b%^%k%A%P%$%HJ8;z$,;HMQ2DG=
5.$B%^%k%A%P%$%HJ8;z$N@55,I=8=8!:w$,;HMQ2DG=
6.$B%^%k%A%P%$%HJ8;z$N LIKE $B8!:w$,;HMQ2DG=
7.character_length(), position(), substring() $B$G$N%^%k%A%P%$%H
$B%5%]!<%H
8.$B4D6-JQ?t PGCLIENTENCODING $B$K$h$j!"%U%m%s%H%(%s%IB&$N%(%s%3!<%G%#%s%0
$B$,%P%C%/%(%s%IB&$H0[$k>l9g$K!"<+F0E*$K%3!<%IJQ49$r9T$J$$$^$9!#
$B%$%s%9%H!<%k!'
$B%G%U%)%k%H$N%3%s%U%#%.%e%l!<%7%g%s$G$O PostgreSQL $B$O%^%k%A%P%$%H$r
$B%5%]!<%H$7$F$$$^$;$s!#%^%k%A%P%$%H%5%]!<%H$rM-8z$K$9$kJ}K!$r@bL@$7$^$9!#
$B$?$H$($PF|K\8l EUC $B$r<g$KMxMQ$9$k>l9g$O!"configure $B5/F0;~$K0J2<$N$h
$B$&$K;XDj$7$^$9!#
% configure --with-mb=EUC_JP
$B%(%s%3!<%G%#%s%0$H$7$F$O EUC_JP $B$NB>!"0J2<$,;XDj$G$-$^$9!#
SQL_ASCII ASCII
EUC_JP $BF|K\8l EUC
EUC_CN GB $B$r%Y!<%9$K$7$?CfJ8EUC$B!#code set 2 $B$O
SS2+2$B%P%$%H%3!<%I = 3$B%P%$%HI=8=$G$9!#
EUC_KR $B4Z9q8l EUC$B!#
EUC_TW $BBfOQ$N EUC$B!#code set 2 $B$O
SS2+$BLLHV9f+2$B%P%$%H%3!<%I = 4$B%P%$%HI=8=$G$9!#
UNICODE UTF-8$B!#$?$@$7%5%]!<%H$9$k$N$O UCS-2 $B$NHO0O!"
$B$9$J$o$A 0xffff $B$^$G$G$9!#
MULE_INTERNAL mule $B$NFbIt%3!<%I!#$?$@$7!"Type N $B$NITDjD9J8;z$O
$B%5%]!<%H$7$F$$$^$;$s!#
LATIN* ISO8859 Latin $B%7%j!<%:!#* $B$O 1 $B$+$i 5 $B$^$G;XDj
$B$G$-$^$9!#
$B%-%j%kJ8;z KOI8(KOI8-R), WIN(CP1251), ALT(CP866)$B$r%5%]!<%H
$B$7$F$$$^$9!#$b$A$m$s ISO 8859-5 $B$b;HMQ2DG=$G$9!#
$B$3$N>l9g!""LATIN5" $B$H$7$F;XDj$7$F2<$5$$!#
$BA*Br$NL\0B$H$7$F$O!"1Q8l$HF|K\8l$7$+;H$o$J$$>l9g$O EUC_JP($BF1MM$K!"Cf
$B9q8l$7$+;H$o$J$$>l9g$O EUC_CN... $B$J$I$H$J$j$^$9)$B!"$=$NB>$N8@8l$b;H$$$?
$B$$>l9g$O UNICODE $B$b$7$/$O MULE_INTERNAL $B$H$J$k$G$7$g$&!#
$B$J$*!"configure $B$GA*Br$7$?%(%s%3!<%G%#%s%0$O!"$"$/$^$G initdb $B$N$?$a$N
$B%G%U%)%k%HCMDxEY$N0UL#$7$+$"$j$^$;$s(initdb $B$G$O0z?t$G%(%s%3!<%G%#%s%0$,
$B;XDj$G$-$^$9)$B!#$7$?$,$C$F!"0[$J$k%(%s%3!<%G%#%s%0$r;HMQ$9$k$?$a$K
$B$o$6$o$6PostgreSQL $B$r%j%3%s%Q%$%k$9$kI,MW$"$j$^$;$s!#
initdb $B$O shell script $B$J$N$G!"%G%U%)%k%H$N%(%s%3!<%G%#%s%0$O script $B$r
$BE,Ev$J%(%G%#%?$GJT=8$9$k$3$H$K$h$j4JC1$KJQ99$G$-$^$9!#initdb $B$N 42$B9TL\
$BIU6a$K!"
MULTIBYTE=EUC_JP
$B$N$h$&$J9T$,$"$k$N$G!"= $B0J9_$r4uK>$9$k%(%s%3!<%G%#%s%0$KJQ$($k$@$1$G$9!#
$BCm0U!'MULE_INTERNAL $B$rA*$V$H!"$?$/$5$s$NJ8;z=89g$KBP1~$G$-$FJXMx$G$9
$B$,!"@55,I=8=$GJ#?t$NJ8;z=89g$K$^$?$,$k$h$&$JHO0O;XDj($B$?$H$($P!"[a-$BHO]
$B$H$+!"[abc$BHO0O]$B$N$h$&$J)$B$O;H$($^$;$s!#J#?t$NHO0O;XDj$G0[$J$kJ8;z=89g
$B$r;H$&$N$O9=$$$^$;$s($B$?$H$($P [abc][$BHO-$B0O])$B!#$^$?!"[^a] $B$N$h$&$JI=8=
$B$O!""a" $B$NB0$9$kJ8;z=89g($B$3$N>l9g!"US-ASCII)$B$K$*$$$F "a" $B0J30$G$"$k
$B$3$H$rI=$7$^$9!#7h$7$F4A;z$dJ?2>L>$J$I "a" $B0J30$r$9$Y$FI=$9$o$1$G$O
$B$J$$$3$H$KCm0U$7$F2<$5$$!#
$B%$%s%9%H!<%k$OIaDL$K9T$J$$$^$9!#%$%s%9%H!<%k$N>\:Y$O INSTALL $B$H$$$&
$B%F%-%9%H%U%!%$%k$r8fMw2<$5$$!#$^$?!"
http://www.sra.co.jp/people/t-ishii/PostgreSQL/ $B$G$b4JC1$J%$%s%9%H!<
$B%kJ}K!$r>R2p$7$F$$$^$9!#
initdb/createdb/create database $B$K$*$1$k%(%s%3!<%G%#%s%0$N;XDj$K$D$$$F
initdb $B$G$O0J2<$N%*%W%7%g%s$G%(%s%3!<%G%#%s%0$,;XDj$G$-$^$9!#
-e $B%(%s%3!<%G%#%s%0
-pgencoding $B%(%s%3!<%G%#%s%0
$B$3$3$G;XDj$7$?%(%s%3!<%G%#%s%0$O!"0J8e createdb/create database $B$G%(
$B%s%3!<%G%#%s%0$r>JN,$7$?>l9g$K@_Dj$5$l$k%(%s%3!<%G%#%s%0$K$J$j$^$9!#
-e $B$^$?$O -pgencoding $B%*%W%7%g%s$r>JN,$7$?>l9g$O!"configure $B$G;XDj$7
$B$?%(%s%3!<%G%#%s%0$,:NMQ$5$l$^$9!#
createdb $B$G$O0J2<$N%*%W%7%g%s$G%(%s%3!<%G%#%s%0$,;XDj$G$-$^$9!#
-E $B%(%s%3!<%G%#%s%0
create database $B$G$O0J2<$N%*%W%7%g%s$G%(%s%3!<%G%#%s%0$,;XDj$G$-$^$9!#
CREATE DATABASE dbanme WITH ENCODING = '$B%(%s%3!<%G%#%s%0';
LOCATION $B$rF1;~$K;XDj$9$k>l9g$O0J2<$N$h$&$K$J$j$^$9!#
CREATE DATABASE dbanme WITH LOCATION = 'path' ENCODING = '$B%(%s%3!<%G%#%s%0';
createdb/create database $B$O!"%(%s%3!<%G%#%s%0;XDj$r>JN,$7$?>l9g$O!"initdb
$B$G;XDj$7$?%(%s%3!<%G%#%s%0$,:NMQ$5$l$^$9!#$3$l$O!"initdb $B$,:n@.$9$k
$B%F%s%W%l!<%H%G!<%?%Y!<%9(template1)$B$N encoding $B%"%H%j%S%e!<%H$r7Q>5
$B$9$k$+$i$G$9!#
$B%G!<%?%Y!<%9$N%(%s%3!<%G%#%s%0$O!"psql $B$N \l $B$d!"SQL $BJ8$N
select * from pg_database $B$G;2>H$G$-$^$9!#
datname |datdba|encoding|datpath
-------------+------+--------+-------------
template1 | 1739| 1|template1
postgres | 1739| 0|postgres
euc_jp | 1739| 1|euc_jp
euc_kr | 1739| 3|euc_kr
euc_cn | 1739| 2|euc_cn
unicode | 1739| 5|unicode
mule_internal| 1739| 6|mule_internal
encoding $B%+%i%`$N?tCM$,$=$N%G!<%?%Y!<%9$N%(%s%3!<%G%#%s%0$rI=$7$^$9
($B%(%s%3!<%G%#%s%0ID)$B!#%(%s%3!<%G%#%s%0 ID $B$r%(%s%3!<%G%#%s%0L>$KJQ49
$B$9$k$K$O!"pg_encoding $B%3%^%s%I$r;HMQ$7$^$9!#$?$H$($P!"
$ pg_encoding 1
EUC_JP
$B$N$h$&$K$J$j$^$9!#$J$*!"pg_encoding $B$O?t;z0J30$,M?$($i$l$k$H%(%s%3!<
$B%G%#%s%0L>$H8+Jo$7$F%(%s%3!<%G%#%s%0ID$B$rJV$7$^$9!#
$ pg_encoding EUC_JP
1
$B4D6-JQ?t PGCLIENTENCODING $B$K$D$$$F!'
$B4D6-JQ?t PGCLIENTENCODING $B$,@_Dj$5$l$F$$$J$$>l9g!"libpq $B$O%;%C%7%g%s
$B3+;O;~$K%P%C%/%(%s%IB&$K%(%s%3!<%G%#%s%0$rLd$$9g$o$;!"$=$NCM$r4D6-JQ?t
PGCLIENTENCODING $B$K@_Dj$7$^$9!#
$B4D6-JQ?t PGCLIENTENCODING $B$,@_Dj$5$l$F$$$k>l9g$O$=$NCM$,M%@h$5$l!"%P%C
$B%/%(%s%IB&$H0[$J$k%(%s%3!<%G%#%s%0$,;HMQ$G$-$^$9!#@_Dj2DG=$J%(%s%3!<
$B%G%#%s%0$O!">e5-$K2C$(!"SJIS ($B%7%U%HJIS)$B!"BiG5 $B$=$l$K WIN1250
(Windows$BMQ$N%A%'%38l)$B$,;XDj$G$-$^$9!#
$B$A$J$_$K!"SJIS $B$O JISX0201 $B$N 1$B%P%$%H%+%J!"$$$o$f$k!VH>3Q%+%?
$B%+%J!W$b%5%]!<%H$7$F$$$^$9($B7h$7$F!VH>3Q%+%?%+%J!W$N;HMQ$r$*4+
$B$a$7$F$$$k$o$1$8$c$J$$$G$9$,)$B!#
$B$?$H$($P!"MB=EUC_JP $B$G PostgeSQL $B$,%$%s%9%H!<%k$5$l$F$$$k>l9g!"
postmaster $B$rN)$A>e$2$k$H$-$K4D6-JQ?t PGCLIENTENCODING $B$K SJIS $B$r@_
$BDj$9$k$H!"%U%m%s%H%(%s%I$O SJIS $B%3!<%I$G PostgreSQL $B$K%"%/%;%9$G$-$k$h
$B$&$K$J$j$^$9!#$?$@$7!"%G!<%?%Y!<%9$K3JG<$5$l$k%G!<%?<+BN$O$"$/$^$G
MB $B$G;XDj$7$? EUC_JP $B$N$^$^$G$9!#
$B%U%m%s%H%(%s%IB&$G%;%C%7%g%sKh$K%(%s%3!<%G%#%s%0$rJQ$($k$3$H$b$G$-$^
$B$9!#%;%C%7%g%s3+;O;~$K4D6-JQ?t PGCLIENTENCODING $B$,%;%C%H$5$l$F$$$k$H!"
$B$=$l$,%U%m%s%H%(%s%IB&$N%(%s%3!<%G%#%s%0$K:NMQ$5$l$^$9!#$3$N5!G=$rMx
$BMQ$9$k$H!"$"$k%f!<%6$O EUC_JP $B$G!"JL$J%f!<%6$O SJIS $B$GF1$8%G!<%?%Y!<
$B%9$K%"%/%;%9$9$k$H$$$&$h$&$J$3$H$,$G$-$k$h$&$K$J$j$^$9!#
MB=MULE_INTERNAL $B$G PostgreSQL $B$r%$%s%9%H!<%k$7$F$*$/$H!"IaCJ$O
EUC_JP $B$G%U%m%s%H%(%s%I$rMxMQ$7!"J#?t$NJ8;z=89g$r:.:_$5$;$k$H$-$@$1%/
$B%i%$%"%s%H$r MULE_INTERNAL $B$K@_Dj$9$k$J$I$N;H$$J,$1$,$G$-$FJXMx$G$9!#
$B$?$@!"0lHL$K EUC_JP $B$KHf$Y!"MULE_INTERNAL $B$K$h$k%G!<%?I=8=$O$d$d%9%Z!<
$B%9$r6t$&$N$G!"$=$N$X$s$O9MN8$7$F$*$/I,MW$,$"$j$^$9!#$?$H$($P!"2$B%P%$
$B%H$GI=8=$G$-$k4A;z$O MULE_INTERNAL $B$G$O 3$B%P%$%H$rMW$7$^$9!#
$BCm0U$7$F$*$/I,MW$,$"$k$N$O!"%P%C%/%(%s%IB&$N%(%s%3!<%G%#%s%0$H%U%m%s
$B%H%(%s%IB&$N%(%s%3!<%G%#%s%0$,$$$D$bAj8_JQ49$G$-$k$H$O8B$i$J$$$3$H$G
$B$9!#6KC<$JOC!"%P%C%/%(%s%IB&$, EUC_JP $B$J$N$K!"%U%m%s%H%(%s%IB&$,
EUC_KR $B$@$C$?$i$I$&$J$k$G$7$g$&!#
$B$3$N>l9g PostgreSQL $B$OJQ49$G$-$J$$%3!<%I$r 16$B?JI=8=$KJQ49$7$F$7$^$$
$B$^$9!#$?$H$($P!""(bdae)" $B$N$h$&$K!#$J$*!"$3$N 16$B?JI=8=$O mule
internalcode $B$N%3!<%I$G$"$k$3$H$KCm0U$7$F2<$5$$!#$3$l$O!"D>@\%U%m%s
$B%H%(%s%I <--> $B%P%C%/%(%s%I$N%(%s%3!<%G%#%s%0$rJQ49$9$k$N$G$O$J$/!"0l
$BEYFbItI=8=$G$"$k mule internal code $B$r7PM3$7$F$$$k$?$a$G$9!#
$B%U%m%s%H%(%s%IB&$N%(%s%3!<%G%#%s%0$N@_Dj$O!""set client_encoding" $B%3
$B%^%s%I$G$b2DG=$G$9!#$?$H$($P!"
set client_encoding to 'sjis';
$B$G%U%m%s%H%(%s%IB&$N%(%s%3!<%G%#%s%0$r SJIS $B$K@_Dj$G$-$^$9!#<B:]!"%/
$B%i%$%"%s%H$,%P%C%/%(%s%I$K@\B3$9$k:]$K$O libpq $B$NCf$G "set
client_encoding" $B%3%^%s%I$rH/9T$7$F$$$^$9!#%;%C%7%g%sCf$K
set client_encoding" $B%3%^%s%I$rH/9T$9$l$P!"F0E*$K%(%s%3!<%G%#%s%0$N@ZBX$(
$B$,$G$-$^$9$,!"$=$N:]$K$O4D6-JQ?t PGCLIENTENCODING $B$rF1;~$K%U%m%s%H%(
$B%s%I%"%W%j%1!<%7%g%s$NCf$G@_Dj$7D>$9I,MW$,$"$j$^$9!#(psql $B$K$O8=:_$3
$B$N5!G=$,$J$$$?$a!";v<B>eF0E*$K%U%m%s%H%(%s%IB&$N%(%s%3!<%G%#%s%0$r@_
$BDj$9$k$3$H$,$G$-$^$;$s!#)
$B8=:_@_Dj$5$l$F$$$k%U%m%s%H%(%s%IB&$N%(%s%3!<%G%#%s%0$O
show client_encoding;
$B$G;2>H$G$-$^$9!#$^$?!"
reset client_encoding;
$B$O!"%G%U%)%k%H$N%U%m%s%H%(%s%I%(%s%3!<%G%#%s%0@_Dj$KI|5"$5$;$^$9!#
postmaster$B$rN)$A>e$2$k$H$-$K4D6-JQ?t PGCLIENTENCODING $B$,@_Dj$5$l$F$$
$B$k$H$=$N%(%s%3!<%G%#%s%0$K!"$=$&$G$J$1$l$P%3%s%Q%$%k;~$K;XDj$7$?%P%C
$B%/%(%s%IB&$N%(%s%3!<%G%#%s%0$HF1$8$K$J$j$^$9!#
$B@)8B;v9`!'
SJIS $B$r;HMQ$9$k>l9g!"PostgreSQL $B$N%U%m%s%H%(%s%I$G$^$H$b$KBP1~$7$F$$$k
$B$N$O psql $B$@$1$G$9!#Tcl/Tk$B!"$=$N$[$+$OBP1~$7$F$^$;$s!#
$B<U<-!'
o $B3F<oJ8;z%;%C%H!"%3!<%I7O$K$D$$$F!"F|K\8l PostgreSQL $B%a!<%j%s%0%j%9%H
$B$N%a%s%P$NJ}$+$i%"%I%P%$%9$rD:$-$^$7$?!#$3$3$K46<U$7$^$9!#
$B$^$?!"SJIS $BBP1~$K$D$$$F$O!";T@n@$B$*CcBg$5$s$N%Q%C%A$r;29M$K$5$;$F$$
$B$?$@$-$^$7$?!#
$B;29M!'
Pavel Behal$B;a$K$h$jDs6!$5$l$?WIN1250$B%5%]!<%H$G$9$,!"Windows$B4D6-$G$N
$BMxMQ$N;EJ}$K$D$$$F;29M$K$J$k%I%-%e%a%s%H$,IUB0$7$F$$$k$N$G!"$3$3$KE:
$BIU$7$F$*$-$^$9!#
-------------------------------------------------------------------
Version: 0.91 for PgSQL 6.5
Author: Pavel Behal
Revised by: Tatsuo Ishii
Email: behal@opf.slu.cz
Licence: The Same as PostgreSQL
Sorry for my Eglish and C code, I'm not native :-)
!!!!!!!!!!!!!!!!!!!!!!!!! NO WARRANTY !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Instalation:
------------
1) Change three affected files in source directories
(I don't have time to create proper patch diffs, I don't know how)
[PostgreSQL 6.5.1$B$G$O$3$N%9%F%C%W$OI,MW$"$j$^$;$s!#-- $B@P0f]
2) Compile with enabled locale and multibyte set to LATIN2
3) Setup properly your instalation, do not forget to create locale
variables in your profile (environment). Ex. (may not be exactly true):
LC_ALL=cs_CZ.ISO8859-2
LC_COLLATE=cs_CZ.ISO8859-2
LC_CTYPE=cs_CZ.ISO8859-2
LC_MONETARY=cs_CZ.ISO8859-2
LC_NUMERIC=cs_CZ.ISO8859-2
LC_TIME=cs_CZ.ISO8859-2
4) You have to start the postmaster with locales set!
5) Try it with Czech language, it have to sort
5) Install ODBC driver for PgSQL into your M$ Windows
6) Setup properly your data source. Include this line in your ODBC
configuration dialog in field "Connect Settings:" :
SET CLIENT_ENCODING = 'WIN1250';
7) Now try it again, but in Windows with ODBC.
Description:
------------
- Depends on proper system locales, tested with RH6.0 and Slackware 3.6,
with cs_CZ.iso8859-2 loacle
- Never try to set-up server multibyte database encoding to WIN1250,
always use LATIN2 instead. There is not WIN1250 locale in Unix
- WIN1250 encoding is useable only for M$W ODBC clients. The characters are
on thy fly re-coded, to be displayed and stored back properly
Important:
----------
- it reorders your sort order depending on your LC_... setting, so don't be
confused with regression tests, they don't use locale
- "ch" is corectly sorted only in some newer locales (Ex. RH6.0)
- you have to insert money as '162,50' (with comma in aphostrophes!)
- not tested properly
-------------------------------------------------------------------
$B2~DjMzNr!'
1999/7/11 WIN1250(Windows$BMQ$N%A%'%38l)$B%5%]!<%H$rDI2C$7$^$7$?!#
* WIN1250 $B$,%U%m%s%H%(%s%IB&$N%(%s%3!<%G%#%s%0$H$7$FMxMQ$G$-$k$h
$B$&$K$J$j$^$7$?!#$3$N>l9g!"%P%C%/%(%s%IB&$N%(%s%3!<%G%#%s%0$O
LATIN2 $B$^$?$O MULE_INTERNAL $B$H$7$^$9!#
(contributed by Pavel Behal)
* backend/utils/mb/conv.c$B$K$*$1$k7?$NIT@09g$r=$@5$7$^$7$?!#
(contributed by Tomoaki Nishiyama)
* $B$3$l$i$O6.5.1$B$KH?1G$5$l$^$9!#
1999/3/23 $B%-%j%kJ8;z%5%]!<%HDI2CB>(6.5 $B$KH?1G:Q)
* $B%(%s%3!<%G%#%s%0$H$7$F KOI8(KOI8-R), WIN(CP1251), ALT(CP866) $B$r
$B%5%]!<%H$7$F$$$^$9!#$3$l$i$O!"%U%m%s%H%(%s%I!"%P%C%/%(%s%I!"
$B$I$A$i$N%(%s%3!<%G%#%s%0$H$7$F$b;HMQ2DG=$G$"$j!"%(%s%3!<%G%#%s%0$N
$BAj8_JQ49$,2DG=$G$9!#$^$?!"=>Mh$+$i%5%]!<%H$7$F$$$k ISO 8859-5 $B$b
$BF1MM$K;HMQ2DG=$G$9!#
$B%-%j%kJ8;z%5%]!<%H$O!"Oleg Broytmann <phd@sun.med.ru> $B;a$N
$B%j%/%(%9%H5Z$S6(NO$K$h$j<B8=$7$^$7$?!#$3$l$O!"=>Mh$+$i$"$k
RCODE $B%5%]!<%H$N5!G=$r<h$j9~$`$b$N$G$b$"$j$^$9!#
* MB $B$H locale $B$rF1;~$K;XDj$7$?>l9g$KBgJ8;z!?>.J8;z$rL5;k$7$?
$B@55,I=8=8!:w$,@5>o$KF0:n$7$J$$%P%0$r=$@5
1999/1/26 Big5 $B%5%]!<%HDI2C(6.4.2-patched/6.5 $B$KH?1G:Q)
* Big5 $B$,%U%m%s%H%(%s%IB&$N%(%s%3!<%G%#%s%0$H$7$FMxMQ$G$-$k$h
$B$&$K$J$j$^$7$?!#$3$N>l9g!"%P%C%/%(%s%IB&$N%(%s%3!<%G%#%s%0$O
EUC_TW $B$^$?$O MULE_INTERNAL $B$H$7$^$9!#
* EUC_TW $B$N regression test $B%1!<%9$rDI2C
(contributed by Jonah Kuo <jonahkuo@mail.ttn.com.tw>)
1998/12/16 $BK\%I%-%e%a%s%H=$@5(6.4.2 $B$KH?1G:Q)$B!#
* Makefile.custom $B$G MB=EUC_JP $B$J$I$H@_Dj$9$kJ}K!$O 6.4 $B0J9_
$B%5%]!<%H$5$l$F$$$J$$$N$G:o=|$7$?!#
* $BJ8;z%3!<%I $B"* $B%(%s%3!<%G%#%s%0!"%/%i%$%"%s%H"*%U%m%s%H%(%s%I
$B%5!<%P"*%P%C%/%(%s%I $B$K$=$l$>$l8l6g$r=$@5!#
1998/12/15 6.4 $B8~$1%P%0=$@5%Q%C%A%j%j!<%9(6.4.2 $B$KH?1G:Q)$B!#
* SQL_ASCII $B%5%]!<%H$N%P%0=$@5
1998/11/21 6.4 $B8~$1%P%0=$@5%Q%C%A%j%j!<%9(6.4.2 $B$KH?1G:Q)$B!#
* BINARY CURSOR $B$NLdBj$r=$@5
* pg_dumpall $B$N%P%0=$@5
1998/11/5 6.4 $B%j%j!<%9!#
* pg_database $B$N encoding $B%+%i%`$, MB $B$,M-8z$G$J$$$H$-$K$b
$BDI2C$5$l$k$h$&$K$J$C$?!#$=$N$?$a!"MB $B$,M-8z$G$J$$$H$-$K$O!"
ASCII $B$N%(%s%3!<%G%#%s%0$rI=$9 SQL_ASCII $B$r?7$7$$%(%s%3!<%G%#%s%0
$B$H$7$FDI2C$7$?!#$3$l$K$H$b$J$$!"%(%s%3!<%G%#%s%0L>$KBP1~$9$k
$B%(%s%3!<%G%#%s%0ID$B$, SQL_ASCII $B$r 0 $B$H$9$kHV9f$KJQ99$K$J$C$?!#
1998/7/22 6.4 $B&A8~$1$K%Q%C%A$r%j%j!<%9!#
* initdb/createdb/create database $B$G%P%C%/%(%s%IB&$N
$B%(%s%3!<%G%#%s%0$r@_Dj$-$k5!G=<BAu!#$3$N$?$a!"%7%9%F%`%+%?%m
$B%0$N pg_database $B$K?7$7$$%+%i%` encoding $B$rDI2C(MB$B$,M-8z$J;~$@$1)
* copy $B$, PGCLIENTENCODING $B$KBP1~
* SQL92 $B$N "SET NAMES" $B$r%5%]!<%H(MB$B$,M-8z$J;~$@$1)
* LATIN2-5 $B$r%5%]!<%H
* regression test $B$K unicode $B$N%F%9%H%1!<%9$rDI2C
* MB $B@lMQ$N regression $B%F%9%H%G%#%l%/%H%j test/mb $B$rDI2C
* $B%=!<%9%U%!%$%k$NCV$->l=j$rBgI}8+D>$7!#MB $B4X78$O
include/mb, backend/utils/mb $B$KCV$/$h$&$K$7$?
1998/5/25 $B%P%0=$@5(mb_b3.patch $B$H$7$F pgsql-jp ML $B$K%j%j!<%9!"
$BK\2H$G$O 6.4 snapshot $B$K<h$j9~$^$l$kM=Dj)
1998/5/18 $B5!G=DI2C!?%P%0=$@5(mb_b2.patch $B$H$7$F pgsql-jp ML $B$K%j%j!<%9!"
$BK\2H$G$O 6.4 snapshot $B$K<h$j9~$^$l$kM=Dj)
* $B4D6-JQ?t PGCLIENTENCODING $B$N%5%]!<%H!#%U%m%s%H%(%s%IB&$N
$B%(%s%3!<%G%#%s%0$r;XDj$9$k!#8=:_!"SJIS, EUC_*, MULE_INTERNAL,
LATIN1 $B$,;XDj$G$-$k!#$^$?!"
set client_encoding to 'sjis';
$B$G$b2DG=
* 8bit $BJ8;z$,EO$k$HLdBj$,5/$-$k2U=j$K$G$-$k$@$1BP1~
1998/4/21 $B5!G=DI2C!?%P%0=$@5(mb_b1.patch $B$H$7$F pgsql-jp ML $B$K%j%j!<%9!"
$BK\2H$G$O 6.4 snapshot $B$K<h$j9~$^$l$F$$$k)
* character_length(), position(), substring() $B$N%^%k%A%P%$%H
$BBP1~
* octet_length() $BDI2C $B"* initdb $B$N$d$jD>$7I,MW
* configure $B$N%*%W%7%g%s$K MB $B%5%]!<%HDI2C
(ex. configure --with-mb=EUC_JP)
* EUC_KR $B$N regression test $BDI2C
("Soonmyung. Hong" <hong@lunaris.hanmesoft.co.kr> $B$5$sDs6!)
* EUC_JP $B$N regression test $B$K character_length(), position(),
substring(), octet_length() $BDI2C
* regress.sh $B$N SystemV $B$K$*$1$kHs8_49@-=$@5
* toupper(), tolower() $B$K 8bit $BJ8;z$,EO$k$HMn$A$k$3$H$,
$B$"$k$N$r=$@5
1998/3/25 PostgreSQL 6.3.1 $B%j%j!<%9!"MB PL2 $B$,<h$j9~$^$l$k
1998/3/10 PL2 $B$r%j%j!<%9
* EUC_JP, EUC_CN, MULE_INTERNAL $B$N regression test $B$rDI2C
(EUC_CN $B$N%G!<%?$O he@sra.co.jp $B$5$sDs6!)
* regexp $B$K$*$$$F!"isalpha $B$J$I$K unsigend char $B0J30$NCM$,
$BEO$i$J$$$h$&$K%,!<%I$r$+$1$k
* $B1Q8l$N%I%-%e%a%s%H$rDI2C
* MB $B$rDj5A$7$J$$>l9g$KH/@8$9$k%P%0$r=$@5
1998/3/1 PL1 $B$r%j%j!<%9
$B0J>e!#
$B@P0fC#IW
t-ishii@sra.co.jp
http://www.sra.co.jp/people/t-ishii/PostgreSQL/
$B$O$8$a$K!'
PostgreSQL $B$K$*$1$k%^%k%A%P%$%H%5%]!<%H$O0J2<$N$h$&$JFCD'$r;}$C$F$$$^$9!#
1.$B%^%k%A%P%$%HJ8;z$H$7$F!"F|K\8l!"Cf9q8l$J$I$N3F9q$N EUC$B!"Unicode$B!"
mule internal code, ISO-8859-* $B$,%G!<%?%Y!<%9:n@.;~$KA*Br2DG=!#
$B%G!<%?%Y!<%9$K$O$3$N%3!<%I$N$^$^3JG<$5$l$^$9!#
2.$B%F!<%V%kL>$K%^%k%A%P%$%HJ8;z$,;HMQ2DG=($B$?$@$7!"OS $B$,%^%k%A%P%$%H
$B$N%U%!%$%kL>$r5v$7$F$$$k$3$H$,I,MW)
3.$B%+%i%`L>$K%^%k%A%P%$%HJ8;z$,;HMQ2DG=
4.$B%G!<%?$=$N$b$N$K$b%^%k%A%P%$%HJ8;z$,;HMQ2DG=
5.$B%^%k%A%P%$%HJ8;z$N@55,I=8=8!:w$,;HMQ2DG=
6.$B%^%k%A%P%$%HJ8;z$N LIKE $B8!:w$,;HMQ2DG=
7.character_length(), position(), substring() $B$G$N%^%k%A%P%$%H
$B%5%]!<%H
8.$B4D6-JQ?t PGCLIENTENCODING $B$K$h$j!"%U%m%s%H%(%s%IB&$N%(%s%3!<%G%#%s%0
$B$,%P%C%/%(%s%IB&$H0[$k>l9g$K!"<+F0E*$K%3!<%IJQ49$r9T$J$$$^$9!#
$B%$%s%9%H!<%k!'
$B%G%U%)%k%H$N%3%s%U%#%.%e%l!<%7%g%s$G$O PostgreSQL $B$O%^%k%A%P%$%H$r
$B%5%]!<%H$7$F$$$^$;$s!#%^%k%A%P%$%H%5%]!<%H$rM-8z$K$9$kJ}K!$r@bL@$7$^$9!#
$B$?$H$($PF|K\8l EUC $B$r<g$KMxMQ$9$k>l9g$O!"configure $B5/F0;~$K0J2<$N$h
$B$&$K;XDj$7$^$9!#
% configure --with-mb=EUC_JP
$B%(%s%3!<%G%#%s%0$H$7$F$O EUC_JP $B$NB>!"0J2<$,;XDj$G$-$^$9!#
SQL_ASCII ASCII
EUC_JP $BF|K\8l EUC
EUC_CN GB $B$r%Y!<%9$K$7$?CfJ8EUC$B!#code set 2 $B$O
SS2+2$B%P%$%H%3!<%I = 3$B%P%$%HI=8=$G$9!#
EUC_KR $B4Z9q8l EUC$B!#
EUC_TW $BBfOQ$N EUC$B!#code set 2 $B$O
SS2+$BLLHV9f+2$B%P%$%H%3!<%I = 4$B%P%$%HI=8=$G$9!#
UNICODE UTF-8$B!#$?$@$7%5%]!<%H$9$k$N$O UCS-2 $B$NHO0O!"
$B$9$J$o$A 0xffff $B$^$G$G$9!#
MULE_INTERNAL mule $B$NFbIt%3!<%I!#$?$@$7!"Type N $B$NITDjD9J8;z$O
$B%5%]!<%H$7$F$$$^$;$s!#
LATIN* ISO8859 Latin $B%7%j!<%:!#* $B$O 1 $B$+$i 5 $B$^$G;XDj
$B$G$-$^$9!#
$B%-%j%kJ8;z KOI8(KOI8-R), WIN(CP1251), ALT(CP866)$B$r%5%]!<%H
$B$7$F$$$^$9!#$b$A$m$s ISO 8859-5 $B$b;HMQ2DG=$G$9!#
$B$3$N>l9g!""LATIN5" $B$H$7$F;XDj$7$F2<$5$$!#
$BA*Br$NL\0B$H$7$F$O!"1Q8l$HF|K\8l$7$+;H$o$J$$>l9g$O EUC_JP($BF1MM$K!"Cf
$B9q8l$7$+;H$o$J$$>l9g$O EUC_CN... $B$J$I$H$J$j$^$9)$B!"$=$NB>$N8@8l$b;H$$$?
$B$$>l9g$O UNICODE $B$b$7$/$O MULE_INTERNAL $B$H$J$k$G$7$g$&!#
$B$J$*!"configure $B$GA*Br$7$?%(%s%3!<%G%#%s%0$O!"$"$/$^$G initdb $B$N$?$a$N
$B%G%U%)%k%HCMDxEY$N0UL#$7$+$"$j$^$;$s(initdb $B$G$O0z?t$G%(%s%3!<%G%#%s%0$,
$B;XDj$G$-$^$9)$B!#$7$?$,$C$F!"0[$J$k%(%s%3!<%G%#%s%0$r;HMQ$9$k$?$a$K
$B$o$6$o$6PostgreSQL $B$r%j%3%s%Q%$%k$9$kI,MW$"$j$^$;$s!#
initdb $B$O shell script $B$J$N$G!"%G%U%)%k%H$N%(%s%3!<%G%#%s%0$O script $B$r
$BE,Ev$J%(%G%#%?$GJT=8$9$k$3$H$K$h$j4JC1$KJQ99$G$-$^$9!#initdb $B$N 42$B9TL\
$BIU6a$K!"
MULTIBYTE=EUC_JP
$B$N$h$&$J9T$,$"$k$N$G!"= $B0J9_$r4uK>$9$k%(%s%3!<%G%#%s%0$KJQ$($k$@$1$G$9!#
$BCm0U!'MULE_INTERNAL $B$rA*$V$H!"$?$/$5$s$NJ8;z=89g$KBP1~$G$-$FJXMx$G$9
$B$,!"@55,I=8=$GJ#?t$NJ8;z=89g$K$^$?$,$k$h$&$JHO0O;XDj($B$?$H$($P!"[a-$BHO]
$B$H$+!"[abc$BHO0O]$B$N$h$&$J)$B$O;H$($^$;$s!#J#?t$NHO0O;XDj$G0[$J$kJ8;z=89g
$B$r;H$&$N$O9=$$$^$;$s($B$?$H$($P [abc][$BHO-$B0O])$B!#$^$?!"[^a] $B$N$h$&$JI=8=
$B$O!""a" $B$NB0$9$kJ8;z=89g($B$3$N>l9g!"US-ASCII)$B$K$*$$$F "a" $B0J30$G$"$k
$B$3$H$rI=$7$^$9!#7h$7$F4A;z$dJ?2>L>$J$I "a" $B0J30$r$9$Y$FI=$9$o$1$G$O
$B$J$$$3$H$KCm0U$7$F2<$5$$!#
$B%$%s%9%H!<%k$OIaDL$K9T$J$$$^$9!#%$%s%9%H!<%k$N>\:Y$O INSTALL $B$H$$$&
$B%F%-%9%H%U%!%$%k$r8fMw2<$5$$!#$^$?!"
http://www.sra.co.jp/people/t-ishii/PostgreSQL/ $B$G$b4JC1$J%$%s%9%H!<
$B%kJ}K!$r>R2p$7$F$$$^$9!#
initdb/createdb/create database $B$K$*$1$k%(%s%3!<%G%#%s%0$N;XDj$K$D$$$F
initdb $B$G$O0J2<$N%*%W%7%g%s$G%(%s%3!<%G%#%s%0$,;XDj$G$-$^$9!#
-e $B%(%s%3!<%G%#%s%0
-pgencoding $B%(%s%3!<%G%#%s%0
$B$3$3$G;XDj$7$?%(%s%3!<%G%#%s%0$O!"0J8e createdb/create database $B$G%(
$B%s%3!<%G%#%s%0$r>JN,$7$?>l9g$K@_Dj$5$l$k%(%s%3!<%G%#%s%0$K$J$j$^$9!#
-e $B$^$?$O -pgencoding $B%*%W%7%g%s$r>JN,$7$?>l9g$O!"configure $B$G;XDj$7
$B$?%(%s%3!<%G%#%s%0$,:NMQ$5$l$^$9!#
createdb $B$G$O0J2<$N%*%W%7%g%s$G%(%s%3!<%G%#%s%0$,;XDj$G$-$^$9!#
-E $B%(%s%3!<%G%#%s%0
create database $B$G$O0J2<$N%*%W%7%g%s$G%(%s%3!<%G%#%s%0$,;XDj$G$-$^$9!#
CREATE DATABASE dbanme WITH ENCODING = '$B%(%s%3!<%G%#%s%0';
LOCATION $B$rF1;~$K;XDj$9$k>l9g$O0J2<$N$h$&$K$J$j$^$9!#
CREATE DATABASE dbanme WITH LOCATION = 'path' ENCODING = '$B%(%s%3!<%G%#%s%0';
createdb/create database $B$O!"%(%s%3!<%G%#%s%0;XDj$r>JN,$7$?>l9g$O!"initdb
$B$G;XDj$7$?%(%s%3!<%G%#%s%0$,:NMQ$5$l$^$9!#$3$l$O!"initdb $B$,:n@.$9$k
$B%F%s%W%l!<%H%G!<%?%Y!<%9(template1)$B$N encoding $B%"%H%j%S%e!<%H$r7Q>5
$B$9$k$+$i$G$9!#
$B%G!<%?%Y!<%9$N%(%s%3!<%G%#%s%0$O!"psql $B$N \l $B$d!"SQL $BJ8$N
select * from pg_database $B$G;2>H$G$-$^$9!#
datname |datdba|encoding|datpath
-------------+------+--------+-------------
template1 | 1739| 1|template1
postgres | 1739| 0|postgres
euc_jp | 1739| 1|euc_jp
euc_kr | 1739| 3|euc_kr
euc_cn | 1739| 2|euc_cn
unicode | 1739| 5|unicode
mule_internal| 1739| 6|mule_internal
encoding $B%+%i%`$N?tCM$,$=$N%G!<%?%Y!<%9$N%(%s%3!<%G%#%s%0$rI=$7$^$9
($B%(%s%3!<%G%#%s%0ID)$B!#%(%s%3!<%G%#%s%0 ID $B$r%(%s%3!<%G%#%s%0L>$KJQ49
$B$9$k$K$O!"pg_encoding $B%3%^%s%I$r;HMQ$7$^$9!#$?$H$($P!"
$ pg_encoding 1
EUC_JP
$B$N$h$&$K$J$j$^$9!#$J$*!"pg_encoding $B$O?t;z0J30$,M?$($i$l$k$H%(%s%3!<
$B%G%#%s%0L>$H8+Jo$7$F%(%s%3!<%G%#%s%0ID$B$rJV$7$^$9!#
$ pg_encoding EUC_JP
1
$B4D6-JQ?t PGCLIENTENCODING $B$K$D$$$F!'
$B4D6-JQ?t PGCLIENTENCODING $B$,@_Dj$5$l$F$$$J$$>l9g!"libpq $B$O%;%C%7%g%s
$B3+;O;~$K%P%C%/%(%s%IB&$K%(%s%3!<%G%#%s%0$rLd$$9g$o$;!"$=$NCM$r4D6-JQ?t
PGCLIENTENCODING $B$K@_Dj$7$^$9!#
$B4D6-JQ?t PGCLIENTENCODING $B$,@_Dj$5$l$F$$$k>l9g$O$=$NCM$,M%@h$5$l!"%P%C
$B%/%(%s%IB&$H0[$J$k%(%s%3!<%G%#%s%0$,;HMQ$G$-$^$9!#@_Dj2DG=$J%(%s%3!<
$B%G%#%s%0$O!">e5-$K2C$(!"SJIS ($B%7%U%HJIS)$B!"BiG5 $B$=$l$K WIN1250
(Windows$BMQ$N%A%'%38l)$B$,;XDj$G$-$^$9!#
$B$A$J$_$K!"SJIS $B$O JISX0201 $B$N 1$B%P%$%H%+%J!"$$$o$f$k!VH>3Q%+%?
$B%+%J!W$b%5%]!<%H$7$F$$$^$9($B7h$7$F!VH>3Q%+%?%+%J!W$N;HMQ$r$*4+
$B$a$7$F$$$k$o$1$8$c$J$$$G$9$,)$B!#
$B$?$H$($P!"MB=EUC_JP $B$G PostgeSQL $B$,%$%s%9%H!<%k$5$l$F$$$k>l9g!"
postmaster $B$rN)$A>e$2$k$H$-$K4D6-JQ?t PGCLIENTENCODING $B$K SJIS $B$r@_
$BDj$9$k$H!"%U%m%s%H%(%s%I$O SJIS $B%3!<%I$G PostgreSQL $B$K%"%/%;%9$G$-$k$h
$B$&$K$J$j$^$9!#$?$@$7!"%G!<%?%Y!<%9$K3JG<$5$l$k%G!<%?<+BN$O$"$/$^$G
MB $B$G;XDj$7$? EUC_JP $B$N$^$^$G$9!#
$B%U%m%s%H%(%s%IB&$G%;%C%7%g%sKh$K%(%s%3!<%G%#%s%0$rJQ$($k$3$H$b$G$-$^
$B$9!#%;%C%7%g%s3+;O;~$K4D6-JQ?t PGCLIENTENCODING $B$,%;%C%H$5$l$F$$$k$H!"
$B$=$l$,%U%m%s%H%(%s%IB&$N%(%s%3!<%G%#%s%0$K:NMQ$5$l$^$9!#$3$N5!G=$rMx
$BMQ$9$k$H!"$"$k%f!<%6$O EUC_JP $B$G!"JL$J%f!<%6$O SJIS $B$GF1$8%G!<%?%Y!<
$B%9$K%"%/%;%9$9$k$H$$$&$h$&$J$3$H$,$G$-$k$h$&$K$J$j$^$9!#
MB=MULE_INTERNAL $B$G PostgreSQL $B$r%$%s%9%H!<%k$7$F$*$/$H!"IaCJ$O
EUC_JP $B$G%U%m%s%H%(%s%I$rMxMQ$7!"J#?t$NJ8;z=89g$r:.:_$5$;$k$H$-$@$1%/
$B%i%$%"%s%H$r MULE_INTERNAL $B$K@_Dj$9$k$J$I$N;H$$J,$1$,$G$-$FJXMx$G$9!#
$B$?$@!"0lHL$K EUC_JP $B$KHf$Y!"MULE_INTERNAL $B$K$h$k%G!<%?I=8=$O$d$d%9%Z!<
$B%9$r6t$&$N$G!"$=$N$X$s$O9MN8$7$F$*$/I,MW$,$"$j$^$9!#$?$H$($P!"2$B%P%$
$B%H$GI=8=$G$-$k4A;z$O MULE_INTERNAL $B$G$O 3$B%P%$%H$rMW$7$^$9!#
$BCm0U$7$F$*$/I,MW$,$"$k$N$O!"%P%C%/%(%s%IB&$N%(%s%3!<%G%#%s%0$H%U%m%s
$B%H%(%s%IB&$N%(%s%3!<%G%#%s%0$,$$$D$bAj8_JQ49$G$-$k$H$O8B$i$J$$$3$H$G
$B$9!#6KC<$JOC!"%P%C%/%(%s%IB&$, EUC_JP $B$J$N$K!"%U%m%s%H%(%s%IB&$,
EUC_KR $B$@$C$?$i$I$&$J$k$G$7$g$&!#
$B$3$N>l9g PostgreSQL $B$OJQ49$G$-$J$$%3!<%I$r 16$B?JI=8=$KJQ49$7$F$7$^$$
$B$^$9!#$?$H$($P!""(bdae)" $B$N$h$&$K!#$J$*!"$3$N 16$B?JI=8=$O mule
internalcode $B$N%3!<%I$G$"$k$3$H$KCm0U$7$F2<$5$$!#$3$l$O!"D>@\%U%m%s
$B%H%(%s%I <--> $B%P%C%/%(%s%I$N%(%s%3!<%G%#%s%0$rJQ49$9$k$N$G$O$J$/!"0l
$BEYFbItI=8=$G$"$k mule internal code $B$r7PM3$7$F$$$k$?$a$G$9!#
$B%U%m%s%H%(%s%IB&$N%(%s%3!<%G%#%s%0$N@_Dj$O!""set client_encoding" $B%3
$B%^%s%I$G$b2DG=$G$9!#$?$H$($P!"
set client_encoding to 'sjis';
$B$G%U%m%s%H%(%s%IB&$N%(%s%3!<%G%#%s%0$r SJIS $B$K@_Dj$G$-$^$9!#<B:]!"%/
$B%i%$%"%s%H$,%P%C%/%(%s%I$K@\B3$9$k:]$K$O libpq $B$NCf$G "set
client_encoding" $B%3%^%s%I$rH/9T$7$F$$$^$9!#%;%C%7%g%sCf$K
set client_encoding" $B%3%^%s%I$rH/9T$9$l$P!"F0E*$K%(%s%3!<%G%#%s%0$N@ZBX$(
$B$,$G$-$^$9$,!"$=$N:]$K$O4D6-JQ?t PGCLIENTENCODING $B$rF1;~$K%U%m%s%H%(
$B%s%I%"%W%j%1!<%7%g%s$NCf$G@_Dj$7D>$9I,MW$,$"$j$^$9!#(psql $B$K$O8=:_$3
$B$N5!G=$,$J$$$?$a!";v<B>eF0E*$K%U%m%s%H%(%s%IB&$N%(%s%3!<%G%#%s%0$r@_
$BDj$9$k$3$H$,$G$-$^$;$s!#)
$B8=:_@_Dj$5$l$F$$$k%U%m%s%H%(%s%IB&$N%(%s%3!<%G%#%s%0$O
show client_encoding;
$B$G;2>H$G$-$^$9!#$^$?!"
reset client_encoding;
$B$O!"%G%U%)%k%H$N%U%m%s%H%(%s%I%(%s%3!<%G%#%s%0@_Dj$KI|5"$5$;$^$9!#
postmaster$B$rN)$A>e$2$k$H$-$K4D6-JQ?t PGCLIENTENCODING $B$,@_Dj$5$l$F$$
$B$k$H$=$N%(%s%3!<%G%#%s%0$K!"$=$&$G$J$1$l$P%3%s%Q%$%k;~$K;XDj$7$?%P%C
$B%/%(%s%IB&$N%(%s%3!<%G%#%s%0$HF1$8$K$J$j$^$9!#
$B@)8B;v9`!'
SJIS $B$r;HMQ$9$k>l9g!"PostgreSQL $B$N%U%m%s%H%(%s%I$G$^$H$b$KBP1~$7$F$$$k
$B$N$O psql $B$@$1$G$9!#Tcl/Tk$B!"$=$N$[$+$OBP1~$7$F$^$;$s!#
$B<U<-!'
o $B3F<oJ8;z%;%C%H!"%3!<%I7O$K$D$$$F!"F|K\8l PostgreSQL $B%a!<%j%s%0%j%9%H
$B$N%a%s%P$NJ}$+$i%"%I%P%$%9$rD:$-$^$7$?!#$3$3$K46<U$7$^$9!#
$B$^$?!"SJIS $BBP1~$K$D$$$F$O!";T@n@$B$*CcBg$5$s$N%Q%C%A$r;29M$K$5$;$F$$
$B$?$@$-$^$7$?!#
$B;29M!'
Pavel Behal$B;a$K$h$jDs6!$5$l$?WIN1250$B%5%]!<%H$G$9$,!"Windows$B4D6-$G$N
$BMxMQ$N;EJ}$K$D$$$F;29M$K$J$k%I%-%e%a%s%H$,IUB0$7$F$$$k$N$G!"$3$3$KE:
$BIU$7$F$*$-$^$9!#
-------------------------------------------------------------------
Version: 0.91 for PgSQL 6.5
Author: Pavel Behal
Revised by: Tatsuo Ishii
Email: behal@opf.slu.cz
Licence: The Same as PostgreSQL
Sorry for my Eglish and C code, I'm not native :-)
!!!!!!!!!!!!!!!!!!!!!!!!! NO WARRANTY !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Instalation:
------------
1) Change three affected files in source directories
(I don't have time to create proper patch diffs, I don't know how)
[PostgreSQL 6.5.1$B$G$O$3$N%9%F%C%W$OI,MW$"$j$^$;$s!#-- $B@P0f]
2) Compile with enabled locale and multibyte set to LATIN2
3) Setup properly your instalation, do not forget to create locale
variables in your profile (environment). Ex. (may not be exactly true):
LC_ALL=cs_CZ.ISO8859-2
LC_COLLATE=cs_CZ.ISO8859-2
LC_CTYPE=cs_CZ.ISO8859-2
LC_MONETARY=cs_CZ.ISO8859-2
LC_NUMERIC=cs_CZ.ISO8859-2
LC_TIME=cs_CZ.ISO8859-2
4) You have to start the postmaster with locales set!
5) Try it with Czech language, it have to sort
5) Install ODBC driver for PgSQL into your M$ Windows
6) Setup properly your data source. Include this line in your ODBC
configuration dialog in field "Connect Settings:" :
SET CLIENT_ENCODING = 'WIN1250';
7) Now try it again, but in Windows with ODBC.
Description:
------------
- Depends on proper system locales, tested with RH6.0 and Slackware 3.6,
with cs_CZ.iso8859-2 loacle
- Never try to set-up server multibyte database encoding to WIN1250,
always use LATIN2 instead. There is not WIN1250 locale in Unix
- WIN1250 encoding is useable only for M$W ODBC clients. The characters are
on thy fly re-coded, to be displayed and stored back properly
Important:
----------
- it reorders your sort order depending on your LC_... setting, so don't be
confused with regression tests, they don't use locale
- "ch" is corectly sorted only in some newer locales (Ex. RH6.0)
- you have to insert money as '162,50' (with comma in aphostrophes!)
- not tested properly
-------------------------------------------------------------------
$B2~DjMzNr!'
1999/7/11 WIN1250(Windows$BMQ$N%A%'%38l)$B%5%]!<%H$rDI2C$7$^$7$?!#
* WIN1250 $B$,%U%m%s%H%(%s%IB&$N%(%s%3!<%G%#%s%0$H$7$FMxMQ$G$-$k$h
$B$&$K$J$j$^$7$?!#$3$N>l9g!"%P%C%/%(%s%IB&$N%(%s%3!<%G%#%s%0$O
LATIN2 $B$^$?$O MULE_INTERNAL $B$H$7$^$9!#
(contributed by Pavel Behal)
* backend/utils/mb/conv.c$B$K$*$1$k7?$NIT@09g$r=$@5$7$^$7$?!#
(contributed by Tomoaki Nishiyama)
* $B$3$l$i$O6.5.1$B$KH?1G$5$l$^$9!#
1999/3/23 $B%-%j%kJ8;z%5%]!<%HDI2CB>(6.5 $B$KH?1G:Q)
* $B%(%s%3!<%G%#%s%0$H$7$F KOI8(KOI8-R), WIN(CP1251), ALT(CP866) $B$r
$B%5%]!<%H$7$F$$$^$9!#$3$l$i$O!"%U%m%s%H%(%s%I!"%P%C%/%(%s%I!"
$B$I$A$i$N%(%s%3!<%G%#%s%0$H$7$F$b;HMQ2DG=$G$"$j!"%(%s%3!<%G%#%s%0$N
$BAj8_JQ49$,2DG=$G$9!#$^$?!"=>Mh$+$i%5%]!<%H$7$F$$$k ISO 8859-5 $B$b
$BF1MM$K;HMQ2DG=$G$9!#
$B%-%j%kJ8;z%5%]!<%H$O!"Oleg Broytmann <phd@sun.med.ru> $B;a$N
$B%j%/%(%9%H5Z$S6(NO$K$h$j<B8=$7$^$7$?!#$3$l$O!"=>Mh$+$i$"$k
RCODE $B%5%]!<%H$N5!G=$r<h$j9~$`$b$N$G$b$"$j$^$9!#
* MB $B$H locale $B$rF1;~$K;XDj$7$?>l9g$KBgJ8;z!?>.J8;z$rL5;k$7$?
$B@55,I=8=8!:w$,@5>o$KF0:n$7$J$$%P%0$r=$@5
1999/1/26 Big5 $B%5%]!<%HDI2C(6.4.2-patched/6.5 $B$KH?1G:Q)
* Big5 $B$,%U%m%s%H%(%s%IB&$N%(%s%3!<%G%#%s%0$H$7$FMxMQ$G$-$k$h
$B$&$K$J$j$^$7$?!#$3$N>l9g!"%P%C%/%(%s%IB&$N%(%s%3!<%G%#%s%0$O
EUC_TW $B$^$?$O MULE_INTERNAL $B$H$7$^$9!#
* EUC_TW $B$N regression test $B%1!<%9$rDI2C
(contributed by Jonah Kuo <jonahkuo@mail.ttn.com.tw>)
1998/12/16 $BK\%I%-%e%a%s%H=$@5(6.4.2 $B$KH?1G:Q)$B!#
* Makefile.custom $B$G MB=EUC_JP $B$J$I$H@_Dj$9$kJ}K!$O 6.4 $B0J9_
$B%5%]!<%H$5$l$F$$$J$$$N$G:o=|$7$?!#
* $BJ8;z%3!<%I $B"* $B%(%s%3!<%G%#%s%0!"%/%i%$%"%s%H"*%U%m%s%H%(%s%I
$B%5!<%P"*%P%C%/%(%s%I $B$K$=$l$>$l8l6g$r=$@5!#
1998/12/15 6.4 $B8~$1%P%0=$@5%Q%C%A%j%j!<%9(6.4.2 $B$KH?1G:Q)$B!#
* SQL_ASCII $B%5%]!<%H$N%P%0=$@5
1998/11/21 6.4 $B8~$1%P%0=$@5%Q%C%A%j%j!<%9(6.4.2 $B$KH?1G:Q)$B!#
* BINARY CURSOR $B$NLdBj$r=$@5
* pg_dumpall $B$N%P%0=$@5
1998/11/5 6.4 $B%j%j!<%9!#
* pg_database $B$N encoding $B%+%i%`$, MB $B$,M-8z$G$J$$$H$-$K$b
$BDI2C$5$l$k$h$&$K$J$C$?!#$=$N$?$a!"MB $B$,M-8z$G$J$$$H$-$K$O!"
ASCII $B$N%(%s%3!<%G%#%s%0$rI=$9 SQL_ASCII $B$r?7$7$$%(%s%3!<%G%#%s%0
$B$H$7$FDI2C$7$?!#$3$l$K$H$b$J$$!"%(%s%3!<%G%#%s%0L>$KBP1~$9$k
$B%(%s%3!<%G%#%s%0ID$B$, SQL_ASCII $B$r 0 $B$H$9$kHV9f$KJQ99$K$J$C$?!#
1998/7/22 6.4 $B&A8~$1$K%Q%C%A$r%j%j!<%9!#
* initdb/createdb/create database $B$G%P%C%/%(%s%IB&$N
$B%(%s%3!<%G%#%s%0$r@_Dj$-$k5!G=<BAu!#$3$N$?$a!"%7%9%F%`%+%?%m
$B%0$N pg_database $B$K?7$7$$%+%i%` encoding $B$rDI2C(MB$B$,M-8z$J;~$@$1)
* copy $B$, PGCLIENTENCODING $B$KBP1~
* SQL92 $B$N "SET NAMES" $B$r%5%]!<%H(MB$B$,M-8z$J;~$@$1)
* LATIN2-5 $B$r%5%]!<%H
* regression test $B$K unicode $B$N%F%9%H%1!<%9$rDI2C
* MB $B@lMQ$N regression $B%F%9%H%G%#%l%/%H%j test/mb $B$rDI2C
* $B%=!<%9%U%!%$%k$NCV$->l=j$rBgI}8+D>$7!#MB $B4X78$O
include/mb, backend/utils/mb $B$KCV$/$h$&$K$7$?
1998/5/25 $B%P%0=$@5(mb_b3.patch $B$H$7$F pgsql-jp ML $B$K%j%j!<%9!"
$BK\2H$G$O 6.4 snapshot $B$K<h$j9~$^$l$kM=Dj)
1998/5/18 $B5!G=DI2C!?%P%0=$@5(mb_b2.patch $B$H$7$F pgsql-jp ML $B$K%j%j!<%9!"
$BK\2H$G$O 6.4 snapshot $B$K<h$j9~$^$l$kM=Dj)
* $B4D6-JQ?t PGCLIENTENCODING $B$N%5%]!<%H!#%U%m%s%H%(%s%IB&$N
$B%(%s%3!<%G%#%s%0$r;XDj$9$k!#8=:_!"SJIS, EUC_*, MULE_INTERNAL,
LATIN1 $B$,;XDj$G$-$k!#$^$?!"
set client_encoding to 'sjis';
$B$G$b2DG=
* 8bit $BJ8;z$,EO$k$HLdBj$,5/$-$k2U=j$K$G$-$k$@$1BP1~
1998/4/21 $B5!G=DI2C!?%P%0=$@5(mb_b1.patch $B$H$7$F pgsql-jp ML $B$K%j%j!<%9!"
$BK\2H$G$O 6.4 snapshot $B$K<h$j9~$^$l$F$$$k)
* character_length(), position(), substring() $B$N%^%k%A%P%$%H
$BBP1~
* octet_length() $BDI2C $B"* initdb $B$N$d$jD>$7I,MW
* configure $B$N%*%W%7%g%s$K MB $B%5%]!<%HDI2C
(ex. configure --with-mb=EUC_JP)
* EUC_KR $B$N regression test $BDI2C
("Soonmyung. Hong" <hong@lunaris.hanmesoft.co.kr> $B$5$sDs6!)
* EUC_JP $B$N regression test $B$K character_length(), position(),
substring(), octet_length() $BDI2C
* regress.sh $B$N SystemV $B$K$*$1$kHs8_49@-=$@5
* toupper(), tolower() $B$K 8bit $BJ8;z$,EO$k$HMn$A$k$3$H$,
$B$"$k$N$r=$@5
1998/3/25 PostgreSQL 6.3.1 $B%j%j!<%9!"MB PL2 $B$,<h$j9~$^$l$k
1998/3/10 PL2 $B$r%j%j!<%9
* EUC_JP, EUC_CN, MULE_INTERNAL $B$N regression test $B$rDI2C
(EUC_CN $B$N%G!<%?$O he@sra.co.jp $B$5$sDs6!)
* regexp $B$K$*$$$F!"isalpha $B$J$I$K unsigend char $B0J30$NCM$,
$BEO$i$J$$$h$&$K%,!<%I$r$+$1$k
* $B1Q8l$N%I%-%e%a%s%H$rDI2C
* MB $B$rDj5A$7$J$$>l9g$KH/@8$9$k%P%0$r=$@5
1998/3/1 PL1 $B$r%j%j!<%9
$B0J>e!#