mirror of
https://git.postgresql.org/git/postgresql.git
synced 2026-02-21 22:07:01 +08:00
< A dash (-) marks changes that will appear in the upcoming 7.3 release. > A dash (-) marks changes that will appear in the upcoming 7.4 release. 38d37 < * -Change DEBUG startup tag to LOG (Bruce) 40,51d38 < * -Add pg_backend_pid() function to backend < * -Allow logging of query durations < < < Permissions < =========== < < * -Improve control over user privileges, including table creation < * -Allow user/group names to be specified directly in pg_hba.conf (Bruce) < * -Add ~/.pgpass to store passwords with user/host/password combinations < * -Allow permissions for functions (Peter E) < * -Allow object creation to be disabled for specific users 58,60d44 < * -Make it easier to create a database owned by someone who can't createdb, < perhaps CREATE DATABASE dbname WITH OWNER = "user" (Gavin) < * -Make equals sign optional in CREATE DATABASE WITH param = 'val' 65,66d48 < * -Prevent SIGHUP and 'pg_ctl reload' from changing command line < specified parameters to postgresql.conf defaults (Peter E) 69,70d50 < * -Reserve last few process slots for super-user if max_connections reached < * -Add GUC parameter to print queries that generate errors 79d58 < * -Add domain capability (Rod Taylor) 82,84d60 < * -SELECT cash_out(2) crashes because of opaque < * -Declare typein/out functions in pg_proc with a special "C string" data type < * -Functions returning sets do not totally work 89d64 < * -Add GUC parameter for DATESTYLE 91,93d65 < * -Allow bytea to handle LIKE with non-TEXT patterns < * -to_char(0,'FM999.99') returns a period, to_char(1,'FM999.99') doesn't (Karel) < * -Add floor(float8) and other missing functions 97d68 < o -Store binary-compatible type information in the system 104d74 < o -Ensure we have array-eq operators for every built-in array type 139,140d108 < * -Remove brackets as multi-statement rule grouping, must use parens (Bruce) < * -Prevent aggregates from being used in rule WHERE clauses 154d121 < * -Allow UPDATE/DELETE on inherited table 166d132 < * -Add deleted bit to index tuples to reduce heap access 176d141 < * -Test hash index performance and discourage usage 182d146 < * -Add SIMILAR TO to allow character classes, 'pg_[a-c]%' 184d147 < * -Remove LIMIT #,# and force use LIMIT and OFFSET clauses in 7.3 (Bruce) 186,187d148 < * -Disallow TRUNCATE on tables that are involved in referential constraints < * -Add OR REPLACE clauses to non-FUNCTION object creation 190d150 < * -Prevent create/drop scripts from allowing extra args (Bruce) 201,205d160 < o -Add ALTER TABLE DROP COLUMN feature < o -Add ALTER TABLE DROP non-CHECK CONSTRAINT < o -ALTER TABLE ADD PRIMARY KEY (Tom) < o -ALTER TABLE ADD UNIQUE (Tom) < o -ALTER TABLE ALTER COLUMN SET/DROP NOT NULL (Christopher) 210d164 < o -Have ALTER TABLE OWNER change all dependant objects like indexes 214,216d167 < o -Cluster all tables at once using pg_index.indisclustered set during < previous CLUSTER < o -Prevent loss of indexes, permissions, inheritance 221d171 < o -Allow specification of column names 224d173 < o -Change syntax to WITH DELIMITER, (keep old syntax around?) 228d176 < o -Generate failure on short COPY lines rather than pad NULLs 242,243d189 < o -Allow INSERT INTO my_table VALUES (a, b, c, DEFAULT, x, y, z, ...) < o -Disallow missing columns in INSERT ... (col) VALUES, per ANSI 248,249d193 < o -Add command to display locks < o -Add SET or BEGIN timeout parameter to cancel query 251d194 < o -Remove SET KSQO option now that OR processing is improved (Bruce) 254,256d196 < o -Add SHOW command to see locale < o -Allow SHOW to output as a query result, like EXPLAIN < o -Abort all SET changes made in an aborted transaction 264d203 < o -Fix PL/PgSQL to handle quoted mixed-case identifiers 287,291d225 < * -Have pg_dump use LEFT OUTER JOIN in multi-table SELECTs < or multiple SELECTS to avoid bad system catalog entries < * -Have pg_dump -C dump database location and encoding information < * -Allow psql \d to show foreign keys < * -Allow psql \d to show temporary table structure (Tom) 294d227 < * -Have pg_dump use ADD PRIMARY KEY after COPY, for performance (Neil) 302d234 < o -Updateable resultSet 307d238 < o -Implement cancel() method on Statement 309d239 < o -Add support for CallableStatements 311d240 < o -Compile under jdk 1.4 334d262 < * -Allow oid to act as a foreign key 337,338d264 < * -Allow user to control trigger firing order (Tom) < * -Add ALTER TRIGGER ... RENAME 341d266 < * -Fix foreign key constraints to not error on intermediate db states (Stephan) 350,359d274 < * -Add pg_depend table for dependency recording; use sysrelid, oid, < depend_sysrelid, depend_oid, name < * -Auto-destroy sequence on DROP of table with SERIAL; perhaps a separate < SERIAL type < * -Prevent column dropping if column is used by foreign key < * -Propagate column or table renaming to foreign key constraints < * -Automatically drop constraints/functions when object is dropped < * -Make foreign key constraints clearer in dump file < * -Make other constraints clearer in dump file < * -Make foreign keys easier to identify 367d281 < * -Allow autocommit so always in a transaction block 377d290 < * -Add SQL92 schemas (Tom) 400d312 < * -Cache most recent query plan(s) (Neil) [prepare] 439d350 < * -Cache system catalog information in per-database files (Tom) 450,451d360 < * -Reorder postgresql.conf WAL items in order of importance (Bruce) < * -Remove wal_files postgresql.conf option because WAL files are now recycled 465,466d373 < * -Improve dynamic memory allocation by introducing tuple-context memory < allocation (Tom) 468d374 < * -Nested FULL OUTER JOINs don't work (Tom) 470,472d375 < * -Add new pg_proc cachable settings to specify whether function can be < evaluated only once or once per query < * -Change FIXED_CHAR_SEL to 0.20 from 0.04 to give better selectivity (Bruce) 494,496d396 < * -Add Intimate Shared Memory(ISM) for Solaris < * -Use faster flex flags for performance improvement (Peter E) < * -Add BSD-licensed qsort() for Solaris 503,507d402 < * -Fix problems with libpq non-blocking/async code < * -Make sure all block numbers are unsigned to increase maximum table size < * -Merge LockMethodCtl and LockMethodTable into one shared structure (Bruce) < * -HOLDER/HOLDERTAB rename to PROCLOCK/PROCLOCKTAG (Bruce) < * -Remove LockMethodTable.prio field, not used (Bruce) 512,513d406 < * -Make one version of simple_prompt() in code (Bruce, Tom) < * -Compile in syslog functionaility by default (Tatsuo) 517d409 < * -Report failure to find readline or zlib at end of configure run 519,520d410 < * -Increase identifier length (NAMEDATALEN) if small performance hit, < * -Increase maximum number of function parameters if little wasted space 529,530d418 < * -Fix glibc's mktime() to handle pre-1970's dates < * -Move /contrib/retep to gborg.postgresql.org
PostgreSQL 7.3 multi-byte (MB) support README 2002/10/21 $B:n@.(B
$B@P0fC#IW(B
ishii@postgresql.org
$B"#$O$8$a$K(B
PostgreSQL $B$K$*$1$k%^%k%A%P%$%H%5%]!<%H$O0J2<$N$h$&$JFCD'$r;}$C$F$$$^$9!%(B
1. $B%^%k%A%P%$%HJ8;z$H$7$F!$F|K\8l!$Cf9q8l$J$I$N3F9q$N(B EUC$B!$(BUnicode$B!$(B
mule internal code, ISO-8859-* $B$,%G!<%?%Y!<%9:n@.;~$KA*Br2DG=!%(B
$B%G!<%?%Y!<%9$K$O$3$N%(%s%3!<%G%#%s%0$N$^$^3JG<$5$l$^$9!%(B
2. $B%F!<%V%kL>$K%^%k%A%P%$%HJ8;z$,;HMQ2DG=(B
3. $B%+%i%`L>$K%^%k%A%P%$%HJ8;z$,;HMQ2DG=(B
4. $B%G!<%?$=$N$b$N$K$b%^%k%A%P%$%HJ8;z$,;HMQ2DG=(B
5. $B%^%k%A%P%$%HJ8;z$N@55,I=8=8!:w$,;HMQ2DG=(B
6. $B%^%k%A%P%$%HJ8;z$N(B LIKE $B8!:w$,;HMQ2DG=(B
7. character_length(), position(), substring() $B$J$I$NJ8;zNs4X?t$G(B
$B$N%^%k%A%P%$%H%5%]!<%H(B
8. $B%U%m%s%H%(%s%IB&$N%(%s%3!<%G%#%s%0$,%P%C%/%(%s%IB&$H0[$k>l9g$K!$(B
$B<+F0E*$K%(%s%3!<%G%#%s%0JQ49$r9T$J$$$^$9!%(B
9. $B%f!<%6Dj5A$N%(%s%3!<%G%#%s%0JQ49$r:n@.2DG=!%(B
$B%^%k%A%P%$%H%5%]!<%H$,07$&$3$H$N$G$-$k%(%s%3!<%G%#%s%0$O0J2<$K$J$j$^(B
$B$9!%(B
SQL_ASCII ASCII
EUC_JP $BF|K\8l(B EUC
EUC_CN GB $B$r%Y!<%9$K$7$?CfJ8(BEUC$B!%(Bcode set 2 $B$O(B
SS2+2$B%P%$%H%3!<%I(B = 3$B%P%$%HI=8=$G$9!%(B
EUC_KR $B4Z9q8l(B EUC$B!%(B
JOHAB $B%O%s%0%k%Y!<%9$N4Z9q8l(BEUC.
EUC_TW $BBfOQ$N(B EUC$B!%(Bcode set 2 $B$O(B
SS2+$BLLHV9f(B+2$B%P%$%H%3!<%I(B = 4$B%P%$%HI=8=$G$9!%(B
UNICODE UTF-8$B!%$?$@$7%5%]!<%H$9$k$N$O(B UCS-2 $B$NHO0O!$(B
$B$9$J$o$A(B 0xffff $B$^$G$G$9!%(B
MULE_INTERNAL mule $B$NFbIt%3!<%I!%$?$@$7!$(BType N $B$NITDjD9J8;z$O(B
$B%5%]!<%H$7$F$$$^$;$s!%(B
LATIN1 $B$+$i(B LATIN10$B$^$G(B
ISO_8859_1 $B$+$i(B 16$B$^$G(B
$B%-%j%kJ8;z(B KOI8(KOI8-R), WIN(CP1251), ALT(CP866)$B$r%5%]!<%H(B
$B$7$F$$$^$9!%$b$A$m$s(B ISO 8859-5 $B$b;HMQ2DG=$G$9!%(B
$B$3$N>l9g!$(B"LATIN5" $B$H$7$F;XDj$7$F2<$5$$!%(B
WIN1256 $B%"%i%V=t9q8l(BWindows$BMQ%(%s%3!<%G%#%s%0(B.
TCVN $B%Y%H%J%`8l(B."ABC"$B$d(B"VSCII"$B$b;HMQ2DG=(B.
WIN874 $B%?%$8l(B.
$B%U%m%s%H%(%s%IB&$G$O$5$i$K0J2<$N%(%s%3!<%G%#%s%0$,;HMQ$G$-$^$9!%(B
SJIS $B%7%U%H(BJIS(MS932$B$H$[$\8_49(B)
BIG5 $BBfOQ$d9a9A$G;HMQ$5$l$F$$$kCf9q8l!%(BEUC_TW$B$H8_49(B
$B@-$,$"$j$^$9!%(B
GBK Windows-936
UHC Windows-949
WIN1250 Windows-1250
GB18030 GB18030
$B"#F|K\8l$r;HMQ$9$k$3$H$N$G$-$k%(%s%3!<%G%#%s%0(B
$BA*Br$NL\0B$H$7$F$O!$1Q8l$HF|K\8l$7$+;H$o$J$$>l9g$O(B EUC_JP($BF1MM$K!$Cf(B
$B9q8l$7$+;H$o$J$$>l9g$O(B EUC_CN... $B$J$I$H$J$j$^$9(B)$B!$$=$NB>$N8@8l$b;H$$$?(B
$B$$>l9g$O(B UNICODE $B$b$7$/$O(B MULE_INTERNAL $B$H$J$k$G$7$g$&!%(B
$BCm0U!'(BMULE_INTERNAL $B$rA*$V$H!$$?$/$5$s$NJ8;z=89g$KBP1~$G$-$FJXMx$G$9(B
$B$,!$@55,I=8=$GJ#?t$NJ8;z=89g$K$^$?$,$k$h$&$JHO0O;XDj(B($B$?$H$($P!$(B[a-$BHO(B]
$B$H$+!$(B[abc$BHO0O(B]$B$N$h$&$J(B)$B$O;H$($^$;$s!%J#?t$NHO0O;XDj$G0[$J$kJ8;z=89g(B
$B$r;H$&$N$O9=$$$^$;$s(B($B$?$H$($P(B [abc][$BHO(B-$B0O(B])$B!%$^$?!$(B[^a] $B$N$h$&$JI=8=(B
$B$O!$(B"a" $B$NB0$9$kJ8;z=89g(B($B$3$N>l9g!$(BUS-ASCII)$B$K$*$$$F(B "a" $B0J30$G$"$k(B
$B$3$H$rI=$7$^$9!%7h$7$F4A;z$dJ?2>L>$J$I(B "a" $B0J30$r$9$Y$FI=$9$o$1$G$O(B
$B$J$$$3$H$KCm0U$7$F2<$5$$!%(B
$B"#%$%s%9%H!<%k(B
PostgreSQL 7.3$B$+$i$O(Bconfigure$B$N%*%W%7%g%s;XDj$NM-L5$K4X$o$i$:!$%^%k(B
$B%A%P%$%H%5%]!<%H$,M-8z$K$J$C$F$$$^$9$N$G!$FC$K(Bconifgure$B;~$K%^%k%A%P(B
$B%$%HMQ$NFCJL$J%*%W%7%g%s$r;XDj$9$kI,MW$O$"$j$^$;$s!%(B
$B"#(Binitdb/createdb/create database $B$K$*$1$k%(%s%3!<%G%#%s%0$N;XDj$K$D$$$F(B
initdb $B$G$O0J2<$N%*%W%7%g%s$G%(%s%3!<%G%#%s%0$,;XDj$G$-$^$9!%(B
-E $B%(%s%3!<%G%#%s%0(B
--encoding=$B%(%s%3!<%G%#%s%0(B
$B$3$3$G;XDj$7$?%(%s%3!<%G%#%s%0$O!$0J8e(B createdb/create database $B$G%((B
$B%s%3!<%G%#%s%0$r>JN,$7$?>l9g$K@_Dj$5$l$k%(%s%3!<%G%#%s%0$K$J$j$^$9!%(B
-E $B$^$?$O(B --encoding $B%*%W%7%g%s$r>JN,$7$?>l9g$O!$%(%s%3!<%G%#%s%0$H(B
$B$7$F(BSQL_ASCII$B$,:NMQ$5$l$F$7$^$&$N$G!$F|K\8l$r%G%U%)%k%H$G;HMQ$9$k>l(B
$B9g$O!$(B
-E EUC_JP
$B$"$k$$$O(B
--encoding=EUC_JP
$B$H$7$FI,$:L@<(E*$K%(%s%3!<%G%#%s%0$r;XDj$7$F$/$@$5$$!%(B
$B$J$*!$(BPostgreSQL 7.3$B0J9_%m%1!<%k%5%]!<%H$,I,$:M-8z$K$J$C$F$$$^$9$,!$(B
$B$3$l$OF|K\8l$J$I$r;HMQ$9$k:]$K$O2?$N%a%C%j%H$b$J$$$P$+$j$G$J$/!$>c32(B
$B$N860x$K$J$C$?$j!$(BLIKE$B8!:w$d@55,I=8=8!:w$G%$%s%G%C%/%9$,M-8z$K$J$i$J(B
$B$$$J$I$NLdBj$r0z$-5/$3$9$N$G!$L58z$K$7$F$*$/$3$H$r$*$9$9$a$7$^$9!%%m(B
$B%1!<%k%5%]!<%H$rL58z$K$9$k$?$a$K$O!$(B
--no-locale
$B%*%W%7%g%s$r;XDj$7$^$9!%(B
createdb $B$G$O0J2<$N%*%W%7%g%s$G%(%s%3!<%G%#%s%0$,;XDj$G$-$^$9!%(B
-E $B%(%s%3!<%G%#%s%0(B
--encoding=$B%(%s%3!<%G%#%s%0(B
create database $B$G$O0J2<$N%*%W%7%g%s$G%(%s%3!<%G%#%s%0$,;XDj$G$-$^$9!%(B
CREATE DATABASE dbanme WITH ENCODING = '$B%(%s%3!<%G%#%s%0(B';
LOCATION $B$rF1;~$K;XDj$9$k>l9g$O0J2<$N$h$&$K$J$j$^$9!%(B
CREATE DATABASE dbanme WITH LOCATION = 'path' ENCODING = '$B%(%s%3!<%G%#%s%0(B';
createdb/create database $B$G$O!$%(%s%3!<%G%#%s%0;XDj$r>JN,$7$?>l9g$O!$(Binitdb
$B$G;XDj$7$?%(%s%3!<%G%#%s%0$,:NMQ$5$l$^$9!%$3$l$O!$(Binitdb $B$,:n@.$9$k(B
$B%F%s%W%l!<%H%G!<%?%Y!<%9(B(template1)$B$N(B encoding $B%"%H%j%S%e!<%H$r7Q>5(B
$B$9$k$+$i$G$9!%(B
$B%G!<%?%Y!<%9$N%(%s%3!<%G%#%s%0$O!$(Bpsql -l$B!$(Bpsql $B$N(B \l $B$G;2>H$G$-$^$9!%(B
$ psql -l
List of databases
Database | Owner | Encoding
---------------+---------+---------------
euc_cn | t-ishii | EUC_CN
euc_jp | t-ishii | EUC_JP
euc_kr | t-ishii | EUC_KR
euc_tw | t-ishii | EUC_TW
mule_internal | t-ishii | MULE_INTERNAL
regression | t-ishii | SQL_ASCII
template1 | t-ishii | EUC_JP
test | t-ishii | EUC_JP
unicode | t-ishii | UNICODE
(9 rows)
$B"#J8;z7?$N%G!<%?7?$K$D$$$F(B
7.2$B$G$O!$(BCHAR(n)$B$H(BVARCHAR(n)$B$N(B n $B$OJ8;z?t$r0UL#$7$^$9!%(Bn $B$,%P%$%H?t$r(B
$B0UL#$9$k(B 7.1 $B0JA0$H$O0[$J$j$^$9$N$G$4Cm0U2<$5$$!%(B
$BNc$r<($7$^$9!%(B
7.2$B$G$O!$(BCHAR(1)$B$K(B"$B$"(B"$B$r3JG<$G$-$^$9$,!$(B7.1$B0JA0$G$O3JG<$G$-$^$;$s$3(B
$B$l$O!$(B"$B$"(B"$B$r3JG<$9$k$?$a$K>/$J$/$H$b(B2$B%P%$%H0J>e$rMW$9$k$+$i$G$9!%(B
$B5U$K!$(B"a" $B$O(B1$B%P%$%H$7$+>CHq$7$J$$$?$a!$(B7.1$B$G$b(B CHAR(1) $B$K3JG<$G$-$^(B
$B$9!%(B
$B$J$*!$(B7.2$B$G$O!$(B7.1$B$^$G$H0[$J$j!$(BCHAR(n)$B$K3JG<$G$-$J$$(B n $BJ8;z$h$jBg$-(B
$B$$J8;zNs$O(B n $BJ8;z$G@Z$j<N$F$i$l$k$N$G$O$J$/!$%(%i!<$K$J$k$3$H$K$4Cm(B
$B0U2<$5$$!%$3$l$O!$%^%k%A%P%$%HBP1~$NM-L5$K4X$o$i$:!$J8;zNs$N07$$$,(B
SQL$BI8=`$K1h$&$h$&$KJQ$C$?$+$i$G$9!%(B
$B"#%U%m%s%H%(%s%I$H%P%C%/%(%s%I$N<+F0%(%s%3!<%G%#%s%0JQ49$K$D$$$F(B
$B%P%C%/%(%s%I(B($B%G!<%?%Y!<%9(B)$B$H(B psql $B$J$I$N%U%m%s%H%(%s%I$N%(%s%3!<%G%#(B
$B%s%0$O0lCW$7$F$$$k$N$,86B'$G$9$,!$$$$/$D$+$N%(%s%3!<%G%#%s%0$K$D$$$F(B
$B$O%P%C%/%(%s%I$H%U%m%s%H%(%s%I$N4V$G0[$J$k$b$N$r;HMQ$9$k$3$H$,$G$-$^(B
$B$9!%$3$N>l9g!$<+F0E*$K%P%C%/%(%s%I$G%(%s%3!<%G%#%s%0JQ49$,9T$o$l$^$9!%(B
$B%P%C%/%(%s%I$N%(%s%3!<%G%#%s%0(B $B5vMF$5$l$k%U%m%s%H%(%s%I$N(B
$B%(%s%3!<%G%#%s%0(B
----------------------------------------------------------------
EUC_JP EUC_JP, SJIS, UNICODE
EUC_TW EUC_TW, BIG5, UNICODE
EUC_CN EUC_CN, UNICODE
EUC_KR EUC_KR, UNICODE
JOHAB JOHAB, UNICODE
LATIN1,3,4 LATIN1,3,4, UNICODE
LATIN2 LATIN2, WIN1250, UNICODE
LATIN5 LATIN5, WIN, ALT, UNICODE
LATIN6,7,8,9,10 LATIN6,7,8,9,10, UNICODE
ISO_8859_5,6,7,8 ISO_8859_5,6,7,8, UNICODE
WIN1256 WIN1256, UNICODE
TCVN TCVN, UNICODE
WIN874 WIN874, UNICODE
MULE_INTERNAL EUC_JP, SJIS, EUC_KR, EUC_CN,
EUC_TW, BIG5, LATIN1$B$+$i(B5,
WIN, ALT, WIN1250
UNICODE EUC_JP, SJIS, EUC_KR, UHC,
EUC_CN, GBK, EUC_TW, BIG5,
LATIN1$B$+$i(B10, ISO_8859_5$B$+$i(B8,
WIN, ALT, WIN1250, WIN1256,
TCVN, WIN874, JOHAB
----------------------------------------------------------------
$B%P%C%/%(%s%I$H%U%m%s%H%(%s%I$N%(%s%3!<%G%#%s%0$,0[$J$k>l9g!$$=$N$3$H(B
$B$r%P%C%/%(%s%I$KEA$($kI,MW$,$"$j$^$9!%$=$N$?$a$NJ}K!$,$$$/$D$+$"$j$^(B
$B$9!%(B
o psql $B$N(B \encoding $B%3%^%s%I$r;H$&J}K!(B
psql$B$G$O!$(B\encoding$B%3%^%s%I$r;H$C$FF0E*$K%U%m%s%H%(%s%IB&$NJ8;z%3!<(B
$B%I$r@ZBX$($k$3$H$,$G$-$^$9!%Nc(B:
\encoding SJIS
o libpq $B$N4X?t(B PQsetClientEncoding $B$r;H$&J}K!(B
7.0 $B$+$i?7$7$$(B libpq $B4X?t(B PQsetClientEncoding $B$,DI2C$5$l$F$$$^$9!%(B
PQsetClientEncoding(PGconn *conn, const char *encoding)
$B$3$N4X?t$r;H$($P!$%3%M%/%7%g%sKh$K%(%s%3!<%G%#%s%0$r@ZBX$($k$3$H$,$G(B
$B$-$^$9!%8=:_$N%(%s%3!<%G%#%s%0$NLd$$9g$o$;$O(B
int PQclientEncoding(const PGconn *conn)
$B$G$9!%(B
o postgresql.conf $B$G@_Dj$9$kJ}K!(B
$B%U%m%s%H%(%s%I$N%G%U%)%k%H%(%s%3!<%G%#%s%0$r;XDj$9$k$K$O!$(B
postgresql.conf $B$N(B client_encoding $B$r;XDj$7$^$9!%;XDjNc(B:
client_encoding = SJIS
o $B4D6-JQ?t(B PGCLIENTENCODING $B$r;H$&J}K!(B
(1) postmaster $B5/F0;~$K4D6-JQ?t$r@_Dj$9$kJ}K!(B
$B4D6-JQ?t(B PGCLIENTENCODING $B$r@_Dj$9$k$3$H$K$h$j!$(B postgresql.conf $B$G(B
$B%(%s%3!<%G%#%s%0$r;XDj$9$k$N$HF1$88z2L$,F@$i$l$^$9!%$?$@$7!$$3$l$ONr(B
$B;KE*7P0^$+$i;D$5$l$F$$$k5!G=$G!$:#8e$O$3$N5!G=$rMxMQ$7$J$$$3$H$r$*$9(B
$B$9$a$7$^$9!%@_DjNc(B:
export PGCLIENTENCODING=SJIS postmaster -S
(2) $B%/%i%$%"%s%H!$%U%m%s%H%(%s%IKh$K%(%s%3!<%G%#%s%0$r@_Dj$7$?$$>l9g(B
$B$=$N%U%m%s%H%(%s%I(B($B$?$H$($P(B psql)$B$r5/F0$9$kA0$K4D6-JQ?t(B
PGCLIENTENCODING $B$r@_Dj$7$^$9!%(B
o set client_encoding $B%3%^%s%I$r;H$&J}K!(B
SET CLIENT_ENCODING SQL$B%3%^%s%I$r;H$C$FF0E*$K%U%m%s%H%(%s%I$N%(%s%3!<(B
$B%G%#%s%0$rJQ99$G$-$^$9!%Nc(B:
SET CLIENT_ENCODING TO SJIS;
$B"#8=:_@_Dj$5$l$F$$$k%U%m%s%H%(%s%IB&$N%(%s%3!<%G%#%s%0$rD4$Y$k(B
$B8=:_@_Dj$5$l$F$$$k%U%m%s%H%(%s%IB&$N%(%s%3!<%G%#%s%0$O(B
show client_encoding;
$B$G;2>H$G$-$^$9(B($B>.J8;z$GI=<($5$l$^$9(B)$B!%(B
$B"#%G%U%)%k%H$N%(%s%3!<%G%#%s%0$X$NI|5"(B
SQL$B%3%^%s%I(B:
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!%(B
postmaster$B$rN)$A>e$2$k$H$-$K(B postgresql.conf $B$N(B client_encoding $B$d4D(B
$B6-JQ?t(B PGCLIENTENCODING $B$,@_Dj$5$l$F$$$k$H$=$N%(%s%3!<%G%#%s%0$K!$$=(B
$B$&$G$J$1$l$P%G!<%?%Y!<%9$N%(%s%3!<%G%#%s%0$HF1$8$K$J$j$^$9!%(B
$B"#L@<(E*$J%(%s%3!<%G%#%s%0JQ49(B
7.2$B$G$O!$(Bconvert$B$H$$$&4X?t$r;H$$!$L@<(E*$J%(%s%3!<%G%#%s%0JQ49$,$G$-(B
$B$^$9!%(B
convert(string text, [src_encoding name,] dest_encoding name)
$B$3$3$G(Bsrc_encoding$B$O(Btext$B$N%(%s%3!<%G%#%s%0L>$G$9!%>JN,$9$k$H!$%G!<%?(B
$B%Y!<%9%(%s%3!<%G%#%s%0L>$HF1$8$G$"$k$H8+$J$5$l$^$9!%(Bdest_encoding$B$O!$(B
$BJQ498e$N%(%s%3!<%G%#%s%0L>$G$9!%(B
$BNc$r<($7$^$9!%(B
SELECT convert(text, EUC_JP) FROM unicode_tbl;
$B$O!$(BUnicode$B$N%F!<%V%k(Bunicode_tbl$B$N(Btext$BNs$r(BEUC_JP$B$KJQ49$7$FJV$7$^$9!%(B
7.3$B$G$O$5$i$K(BSQL$BI8=`$N(BCONVERT$B4X?t$,;H$($^$9!%(BSQL$BI8=`$N(BCONVERT$B$O(B
PostgreSQL$B$N(BCONVERT$B$H5!G=$O$[$H$s$IF1$8$G$9$,!$8F$S=P$77A<0$,0[$j$^(B
$B$9!%(B
SELECT convert(text using euc_jp_to_utf_8) FROM unicode_tbl;
"using" $B$N8e$N0z?t$O!V%3%s%P!<%8%g%sL>!W$G$9!%$3$NNc$G$O!$(BEUC_JP $B$+(B
$B$i(B UTF-8 $B$KJQ49$9$k%3%s%P!<%8%g%s$r;XDj$7$F$$$^$9!%Dj5A:Q$N%3%s%P!<(B
$B%8%g%s$K$D$$$F$O!$%f!<%6!<%:%,%$%I$N(B "String Functions and
Operators" $B$NI=(B"Built-in Conversions" $B$r8+$F$/$@$5$$!%(B
$B"#%(%s%3!<%G%#%s%0JQ49ITG=$N>l9g$N=hM}(B
$B%P%C%/%(%s%IB&$N%(%s%3!<%G%#%s%0$H%U%m%s%H%(%s%IB&$N%(%s%3!<%G%#%s%0(B
$B$,$$$D$bAj8_JQ49$G$-$k$H$O8B$j$^$;$s!%6KC<$JOC!$%P%C%/%(%s%IB&$,(B
EUC_JP $B$J$N$K!$%U%m%s%H%(%s%IB&$,(B EUC_KR $B$@$C$?$i$I$&$J$k$G$7$g$&!%(B
$B$3$N>l9g(B PostgreSQL $B$OJQ49$G$-$J$$%3!<%I$r(B 16$B?JI=8=$KJQ49$7$^$9!%(B
$B$?$H$($P!$(B"(bdae)" $B$N$h$&$K!%$J$*!$$3$N(B 16$B?JI=8=$O(B mule
internal code $B$N%3!<%I$G$"$k$3$H$KCm0U$7$F2<$5$$!%$3$l$O!$D>@\%U%m%s(B
$B%H%(%s%I(B <--> $B%P%C%/%(%s%I$N%(%s%3!<%G%#%s%0$rJQ49$9$k$N$G$O$J$/!$0l(B
$BEYFbItI=8=$G$"$k(B mule internal code $B$r7PM3$7$F$$$k$?$a$G$9!%(B
$B$J$*!$(BUnicode$B$H$=$l0J30$N%(%s%3!<%G%#%s%0$NJQ49$@$1$ONc30$G!$(BNOTICE
$B%a%C%;!<%8$,I=<($5$l!$JQ49ITG=$NJ8;z$OL5;k$5$l$^$9!%(B
$B"#%G%U%)%k%H%3%s%P!<%8%g%s(B
$B%G%U%)%k%H%3%s%P!<%8%g%s$O!$%P%C%/%(%s%I$H%U%m%s%H%(%s%I$H$N4V$N%(%s(B
$B%3!<%G%#%s%0$N<+F0JQ49$K;H$o$l$kFCJL$J%3%s%P!<%8%g%s$G$9!%%G%U%)%k%H(B
$B%3%s%P!<%8%g%s$O3F!9$N(B{$B%9%-!<%^!$%=!<%9%(%s%3!<%G%#%s%0!$%G%9%F%#%M!<(B
$B%7%g%s%(%s%3!<%G%#%s%0(B}$B$NAH$_9g$o$;$K$*$$$F!$$?$@0l8D$@$1B8:_$7$^$9!%(B
$B>e5-$G@bL@$7$?AH$_9~$_:Q$N%3%s%P!<%8%g%s$O!$(Bpg_catalog$B%9%-!<%^$K$*$$(B
$B$FDj5A$5$l$F$*$j!$%9%-!<%^%5!<%A%Q%9$N@_Dj$K4X$o$i$:I,$:MxMQ$G$-$k%3(B
$B%s%P!<%8%g%s$K$J$C$F$$$^$9!%(B
$B5U$K8@$&$H!$(B pg_catalog $B0J30$N%9%-!<%^$K%G%U%)%k%H%3%s%P!<%8%g%s$r:n(B
$B@.$9$k$3$H$K$h$j!$%G%U%)%k%H%3%s%P!<%8%g%s$r<+M3$KA*Br$9$k$3$H$b$G$-(B
$B$k$o$1$G$9!%$?$H$($P(B SJIS $B$H$NJQ49$K$*$$$F!$(BPostgreSQL $B$,MQ0U$7$F$$(B
$B$k(B MS932$B8_49(B $B$NJQ49$G$O$J$/!$(BJIS $B5,3J$N%7%U%H%8%9$KAjEv$9$kJQ49$r9T(B
$B$&$h$&$J%3%s%P!<%8%g%s$r:n@.$9$k$3$H$b2DG=$G$9!%(B
$B"#%f!<%6Dj5A%3%s%P!<%8%g%s$N:n@.(B
PostgreSQL 7.3$B0J9_!$%f!<%6Dj5A$N%3%s%P!<%8%g%s$r:n@.$G$-$k$h$&$K$J$C(B
$B$F$$$^$9!%%3%s%P!<%8%g%s$NDj5A$O(B CREATE CONVERSION $B$H$$$&(B SQL $B%3%^%s(B
$B%I$r;H$C$F9T$$$^$9!%(B
CREATE [DEFAULT] CONVERSION conversion_name
FOR source_encoding
TO dest_encoding FROM funcname
$B>\:Y$O%j%U%!%l%s%9%^%K%e%"%k$r$4Mw2<$5$$!%(B
$B"#(BSJIS$B%f!<%6Dj5AJ8;z$X$NBP1~(B
7.0 $B$+$i(B SJIS$B%f!<%6Dj5AJ8;z(B (UDC) $B$KBP1~$7$F$$$^$9!%(BUDC $B$r$I$&07$&$+(B
$B$H8@$&$3$H$K$D$$$FCf>r$5$s(B(nak@email.com)$B$+$iLdBjDs5/$H>\:Y$J2r@b$r(B
$BD:$-$^$7$?$N$G!$;29M$N$?$a$K$3$N%I%-%e%a%s%H$N:G8e$KIU$1$F$*$-$^$9!%(B
$B$^$?!$$3$NLdBj$K$D$$$F$O!$(BPostgreSQL$BF|K\8l%a!<%j%s%0%j%9%H$N(B
[pgsql-jp 12288] (1999/12/17$BIU(B)$B$H(B [pgsql-jp 12486] (2000/1/5$BIU(B) $B$+$i(B
$B;O$^$k%9%l%C%I$G5DO@$r8+$k$3$H$,$G$-$^$9(B($B%a!<%k$N%"!<%+%$%V$O(B
http://www.sra.co.jp/people/t-ishii/PostgreSQL/ $B$G;2>H$G$-$^$9(B)$B!%(B
$B$3$3$G$O!$$=$l$i$N5DO@$r$U$^$(!$4JC1$K2r@b$7$^$9!%(B
PostgreSQL$B$G$O!$F|K\8l$r;HMQ$9$k:]$K%P%C%/%(%s%IB&$N%(%s%3!<%G%#%s%0(B
$B$r(B EUC_JP $B$^$?$O(B MULE_INTERNAL or Unicode $B$K$9$kI,MW$,$"$j$^$9!%(B
MULE_INTERNAL $B$O(B EUC_JP $B$KJ8;z=89g$rI=$9%3!<%I$rIU$1$?$b$N$J$N$G!$K\(B
$B<AE*$KF1$8$G$9!%$^$?!$(BUnicode <---> SJIS $BJQ49$O8=:_$N$H$3$m%5%]!<%H(B
$B$5$l$F$$$^$;$s$N$GL5;k$7$^$9!%$7$?$,$C$F!$$3$3$G$O(B EUC_JP $B$H(B SJIS $B$N(B
$BAj8_JQ49$N$_$r9M$($^$9!%(B
$BM=HwCN<1(B
$B0l8}$K(B EUC_JP $B$H$$$C$F$b!$<B:]$K$OCf?H$OJ#?t$NJ8;z=89g$+$i@.$jN)$C$F(B
$B$$$^$9!%(B
G0: JIS ROMAN (ASCII $B$H$[$\F1$8(B)
G1: JIS X 0208 (JIS $B4A;z(B)
G2: JIS X 0201 (1$B%P%$%H%+%J(B)
G3: JIS X 0212 (JIS $BJd=u4A;z(B)
$B0lJ}(B SJIS $B$O$3$N$&$A4pK\E*$K(B G0, G1, G2 $B$r%5%]!<%H$7$F$*$j!$(BG3 $B$O%5(B
$B%]!<%H$7$F$$$^$;$s!%$7$?$,$C$F!$(BSJIS $B$O(B EUC_JP $B$NItJ,=89g$H$_$J$9$3(B
$B$H$,$G$-!$<B:](B PostgreSQL 6.5 $B$^$G$O$3$N9M$($G<BAu$5$l$F$$$^$7$?!%(B
$B$H$3$m$,!$(BWindows PC $B$N(B SJIS $B$N@$3&$G$O!$>e5-(B JIS $B5,3J$GDj5A$5$l$F$$(B
$B$J$$J8;z%3!<%I$,0lItMxMQ$5$l$F$*$j!$$3$NItJ,(B (UDC) $B$O=>Mh(B PostgreSQL
$B$G$OA4$/9MN8$5$l$F$$$^$;$s$G$7$?!%<B:](B UDC $B$r4^$`(B SJIS $B$r(B EUC_JP $B$K(B
$BJQ49$9$k$H$-$KIT@5$JJQ49$,9T$o$l$F$$$^$7$?!%$=$3$G(B PostgreSQL 7.0 $B$G(B
$B$O!$$^$:$3$NLdBj$r2r7h$9$k$3$H$K$7$^$7$?!%(B
$B$^$?!$(BUDC $B$NMxMQJ}$K$D$$$F$OI8=`5,3J$N$h$&$J$b$N$O$"$j$^$;$s$,!$<B$O(B
$B6H3&CDBN$G$N<h$j7h$a$,$"$j!$$$$o$f$k%G%U%!%/%H%9%?%s%@!<%I$J$i$PB8:_(B
$B$9$k$3$H$,J,$+$j$^$7$?!%$=$3$G$3$l$K$D$$$F$b$G$-$k$@$1%5%]!<%H$9$k$3(B
$B$H$K$7$^$7$?!%(B
PostgreSQL 7.0 $B$G$N(B UDC $BBP1~$N<BAu(B
(1) $B%f!<%6Dj5AJ8;zNN0h$O(B JIS $B$N%f!<%6Dj5AJ8;zNN0h$K%^%C%T%s%0$9$k!%(B
SJIS $B$H(B EUC_JP $B$G(B1$BBP(B1$B$NBP1~$K$J$j$^$9!%(B
- SJIS $B%f!<%6Dj5AJ8;zNN0h(B A ($B2>>N(B)
95$B!A(B104 $B6h(B $B"+"*(B $BF|K\8l(B EUC / G1 (JIS X 0208) 85$B!A(B95 $B6h(B
- SJIS $B%f!<%6Dj5AJ8;zNN0h(B B ($B2>>N(B)
105$B!A(B114 $B6h(B $B"+"*(B $BF|K\8l(B EUC / G3 (JIS X 0212) 85$B!A(B95 $B6h(B
(2) IBM $B3HD%J8;zNN0h(B (SJIS 115$B!A(B120 $B6h(B)
$BJQ49%F!<%V%k$K$h$C$F(B G1 (JIS X 0208)$B$H!$(BG3 (JIS X 0212)$B$KJQ49$5$l$^(B
$B$9!%$J$*!$$3$NJQ49$K$*$$$F$O!$(BSJIS --> EUC_JP $B$GJQ49$7!$:F$S(B EUC_JP --
> SJIS $B$KJQ49$9$k$H85$N(B SJIS $B$KLa$i$J$$$3$H$,$"$j$^$9!%$^$?!$(BEUC_JP --
> SJIS $B$NJQ49$G$O!$$9$Y$F$NJ8;z$rJQ49$G$-$k$o$1$G$O$J$$$N$G!$$=$N>l(B
$B9g$OJQ49ITG=J8;z$H$7$F!V".!W$KCV$-49$($^$9!%(B
*$B6H3&CDBN$N<h$j7h$a$G$O!$JQ49ITG=J8;z$O!V<BAu0MB8!W$H$J$C$F$$$^$9$,!$(B
Solaris $B$r$O$8$a!$B?$/$N%7%9%F%`$,!V".!W$rJQ49ITG=J8;z$K:NMQ$7$F$$$^(B
$B$9!%(BPostgreSQL$B$b$3$l$K9g$o$;$^$7$?!%(B
(3) NEC $BA*Dj(B IBM $B3HD%J8;zNN0h(B (SJIS 89$B!A(B92 $B6h(B)
PostgreSQL 7.0$B$G$O$9$Y$FJQ49ITG=J8;z!V".!W$KCV$-49$($i$l$^$9!%(B
PostgreSQL 7.0.1$B0J9_$G$O!$0lC6(B IBM $B3HD%J8;zNN0h$KJQ49$5$l$?8e!$(BG1
(JIS X 0208)$B$H!$(BG3 (JIS X 0212)$B$KJQ49$5$l$^$9!%(B
$B<U<-!'(B
o $BFA2H(B@$B;06(1?M"%5!<%S%9$5$s$+$i!$(BNEC $BA*Dj(B IBM $B4A;zBP1~%Q%C%A$rDs6!$7(B
$B$F$$$?$@$-$^$7$?!%(B
o $B3F<oJ8;z%;%C%H!$%3!<%I7O$K$D$$$F!$F|K\8l(B PostgreSQL $B%a!<%j%s%0%j%9%H(B
$B$N%a%s%P$NJ}$+$i%"%I%P%$%9$rD:$-$^$7$?!%$3$3$K46<U$7$^$9!%(B
$B$^$?!$(BSJIS $BBP1~$K$D$$$F$O!$;T@n(B@$B$*CcBg$5$s$N%Q%C%A$r;29M$K$5$;$F$$(B
$B$?$@$-$^$7$?!%(B
o SJIS$B%f!<%6Dj5AJ8;z(B (UDC) $B$r$I$&07$&$+$H8@$&$3$H$K$D$$$FCf>r$5$s(B
(nak@email.com)$B$+$iLdBjDs5/$H>\:Y$J2r@b$rD:$-$^$7$?!%(B
$B"#(BUnicode$B$H$=$l0J30$N%(%s%3!<%G%#%s%0$H$NAj8_JQ49$K$D$$$F(B
PostgreSQL 7.1$B$+$i(BUnicode$B$H$=$l0J30$N%(%s%3!<%G%#%s%0$H$NAj8_JQ49$,(B
$B2DG=$K$J$j$^$7$?!%$3$NJQ49$O$4$/0lIt$NJ8;z%3!<%I(B(ISO 8859-1)$B$r$N$>$-!$(B
$B%m%8%C%/$K$h$kJQ49$,$G$-$J$$$?$a!$JQ49$N:]$K$O%F!<%V%k$,I,MW$K$J$j$^(B
$B$9!%(BPostgreSQL$B$N<BAu$G$O!$(BUnicode$BJQ49%F!<%V%k$O(B Unicode organization
$B$,Ds6!$9$k$b$N$r;HMQ!$$3$l$r(BPerl$B%W%m%0%i%`$G(BC$B8@8l$N%F!<%V%k$KJQ49$7(B
$B$F:n@.$7$F$$$^$9(B(Perl$B%W%m%0%i%`$O(BNARITA Tomio$B;a:n@.$N(Blv$B%P!<%8%g%s(B
4.3.6 $B$KIUB0$9$k$b$N$r2~B$$N>e!$MxMQ$7$F$$$^$9(B)$B!%(BUnicode
organization$B$NDs6!$9$kJQ49%F!<%V%k$O:FG[I[$,5v2D$5$l$F$$$J$$$?$a!$(B
PostgreSQL$B$N%=!<%9%3!<%I$K$O4^$^$l$F$$$^$;$s!%0J2<!$;HMQ$7$?JQ49%F!<(B
$B%V%k$rNs5s$7$^$9!%(B
$B%(%s%3!<%G%#%s%0(B $BJQ49%F!<%V%k(B
============================================================
ISO 8859-1 $B$J$7(B
ISO 8859-2 8859-2.TXT
ISO 8859-3 8859-3.TXT
ISO 8859-4 8859-4.TXT
ISO 8859-5 8859-5.TXT
ISO 8859-6 8859-6.TXT
ISO 8859-7 8859-7.TXT
ISO 8859-8 8859-8.TXT
ISO 8859-9 8859-9.TXT
ISO 8859-10 8859-10.TXT
ISO 8859-13 8859-13.TXT
ISO 8859-14 8859-14.TXT
ISO 8859-15 8859-15.TXT
ISO 8859-16 8859-16.TXT
EUC_JP JIS0201.TXT, JIS0208.TXT, JIS0212.TXT,
CP932.TXT, sjis.map
SJIS CP932.TXT
EUC_CN GB2312.TXT
GBK CP936.TXT
EUC_KR KSX1001.TXT
UHC CP949.TXT
JOHAB JOHAB.TXT
EUC_TW CNS11643.TXT
Big5 BIG5.TXT
WIN1256 CP1256.TXT
TCVN CP1258.TXT
WIN874 CP874.TXT
============================================================
$B<U<-!'(B
o $BFA2H(B@$B;06(1?M"%5!<%S%9$5$s$+$i!$(BCP932.TXT$B$h$j@8@.$7$?(BSJIS$BMQ$NJQ49%F!<(B
$B%V%k$rDs6!$7$F$$$?$@$-$^$7$?!%$3$l$K$h$j!$(BIBM $B3HD%J8;zNN0h(B (SJIS
115$B!A(B120 $B6h(B), NEC $BA*Dj(B IBM $B3HD%J8;zNN0h(B (SJIS 89$B!A(B92 $B6h(B)$B$KBP1~$9$k(B
$B$3$H$,$G$-$k$h$&$K$J$j$^$7$?!%(B
$B;29M(B1$B!'(B
Pavel Behal$B;a$K$h$jDs6!$5$l$?(BWIN1250$B%5%]!<%H$G$9$,!$(BWindows$B4D6-$G$N(B
$BMxMQ$N;EJ}$K$D$$$F;29M$K$J$k%I%-%e%a%s%H$,IUB0$7$F$$$k$N$G!$$3$3$KE:(B
$BIU$7$F$*$-$^$9!%(B
-------------------------------------------------------------------
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-- $B@P0f(B]
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
-------------------------------------------------------------------
$B;29M(B2$B!'(BSJIS$B%f!<%6Dj5AJ8;z(B (UDC) $B$r$I$&07$&$+$H8@$&$3$H$K$D$$$FCf>r$5$s(B
(nak@email.com)$B$+$i$$$?$@$$$?LdBjDs5/$H2r@b$G$9!%(B
-------------------------- $B0zMQ3+;O(B ----------------------------------
---
1. SJIS $B%3!<%I$NHO0O(B
1 $B%P%$%HL\(B 0x81 - 0x9F$B!$(B0xE0 - 0xFC
2 $B%P%$%HL\(B 0x40 - 0x7E$B!$(B0x80 - 0xFC
$B$$$o$f$k!V30;zNN0h!W$NHO0O(B:
- X0208 $B6&DL<+M3NN0h(B
|--------------------
| 85 $B6h(B 0xEB40 $B!A(B
|...
|--------------------
| 89 $B6h(B 0xED40 $B!A(B ; 89$B!A(B92 $B6h$O(B
|... ; $B!V(BNEC $BA*Dj(B IBM $B3HD%J8;zNN0h!W(B
|-------------------- ; $B$H8F$P$l$k(B
| 93 $B6h(B 0xEF40 $B!A(B
| 94 $B6h(B 0xEF9F $B!A(B 0xEFFC
- $B%f!<%6Dj5AJ8;zNN0h(B
|--------------------
| 95 $B6h(B 0xF040 $B!A(B ; 95$B!A(B104 $B6h(B
|... ; $B!V%f!<%6Dj5AJ8;zNN0h(B A$B!W(B($B2>>N(B)
|--------------------
|105 $B6h(B 0xF540 $B!A(B ; 105$B!A(B114 $B6h(B
|... ; $B!V%f!<%6Dj5AJ8;zNN0h(B B$B!W(B($B2>>N(B)
|--------------------
|115 $B6h(B 0xFA40 $B!A(B ; 115$B!A(B120 $B6h$O0lHL$K(B
|... ; $B!V(BIBM $B3HD%J8;zNN0h!W(B
|120 $B6h(B ... ; $B$H8F$P$l$k(B
|--------------------
---
2. i-mode $BC<Kv$,;H$C$F$$$k?^7AJ8;z%3!<%I$NHO0O(B
0xF89F - 0xF8FC (112 $B6h(B)
0xF940 - 0xF949 (113 $B6h(B)
0xF972 - 0xF97E (113 $B6h(B)
0xF980 - 0xF990 (113 $B6h(B)
0xF9B0 (114 $B6h(B)
---
3. $B0lHLE*$J(B EUC $BF|K\8l%3!<%I$NDj5A(B
G0 : [0x21-0x7E] ; $B$$$o$f$k(B JIS ROMAN
G1 : [0xA1-0xFE] [0xA1-0xFE] ; JIS X 0208
G2 : 0x8E [0xA1-0xDF] ; JIS X 0201 $B%+%J(B
G3 : 0x8F [0xA1-0xFE] [0x21-0x7E] ; JIS X 0212 $BJd=u4A;z(B
---
[$BLdBjE@(B]
SJIS 95$B!A(B120 $B6h$O(B JIS X0208 $B$K3:Ev$9$kNN0h$,B8:_$7$J$$(B
$B$?$a!$$3$NNN0h$N(B EUC - SJIS $BJ8;z%3!<%IJQ49$O3F%Y%s%@$K(B
$B$h$C$F0[$J$k$N$G$O$J$$$+!$$H$$$&$N$,@P0fMM$+$i$N$4;XE&(B
$B$G$7$?!%(B
---
[$B5DO@(B]
$BD4::$N7k2L!$(BSJIS 95$B!A(B120 $B6h$r(B EUC $B$KJQ49$9$k$?$a$NI8=`E*$J(B
$B%k!<%k$,$J$$$o$1$G$O$J$$!$$H$$$&$3$H$,$o$+$j$^$7$?!%>\:Y$O(B
$B8e=R$N;29M;qNA$r$4Mw$$$?$@$/$H$7$F!$$3$3$G$O$=$N%k!<%k$r(B
$B4JC1$K$4@bL@$$$?$7$^$9!%(B
- SJIS $B%f!<%6Dj5AJ8;zNN0h(B A ($B2>>N(B)
95$B!A(B104 $B6h(B $B"+"*(B $BF|K\8l(B EUC / G1 85$B!A(B95 $B6h(B
$B$?$H$($P(B SJIS $B$N(B (95, 1) = 0xF040 $B$O(B
EUC $B$N(B 0xF5A1 $B$K$J$j$^$9!%(B
- SJIS $B%f!<%6Dj5AJ8;zNN0h(B B ($B2>>N(B)
105$B!A(B114 $B6h(B $B"+"*(B $BF|K\8l(B EUC / G3 85$B!A(B95 $B6h(B
$B$?$H$($P(B SJIS $B$N(B (105, 1) = 0xF540 $B$O(B
EUC $B$N(B 0x8FF5A1 $B$K$J$j$^$9!%(B
- IBM $B3HD%J8;zNN0h(B
115$B!A(B120 $B6h(B
JIS X 0208 ($BF|K\8l(B EUC / G1)$B!$(BJIS X 0212
($BF|K\8l(B EUC / G3) $B$K3:Ev$9$kJ8;z$,$"$k>l9g(B
$B$O$=$NJ8;z$K%^%C%T%s%0!%$=$&$G$J$$>l9g$O(B
$BF|K\8l(B EUC / G3 83$B!A(B84 $B6h$r!$6hE@%3!<%I$N>e0L(B
$B$+$i=g$K3d$jEv$F$F$$$/(B ($BJQ49%F!<%V%kJ}<0(B)
$B$3$N;EMM$O!$9-$/;H$o$l$F$$$k(B SJIS $B$H(B EUC $B$N%^%C%T%s%0$,%Y%s%@$K(B
$B$h$C$F0[$J$k$?$a!$Aj8_1?MQ$N:]$KLdBj$K$J$C$F$$$k$3$H$+$i!$(B1996
$BG/$K(B OSF $BF|K\%Y%s%@6(5D2q$,8!F$:n@.$7$?Js9p=q$,%Y!<%9$K$J$C$F$$(B
$B$k$h$&$G$9!%(B
Solaris $B$N%I%-%e%a%s%H$K$O!V(BTOG $BF|K\%Y%s%@6(5D2q?d>)(B EUC$B!&%7%U%H(B
JIS $B%3!<%IJQ49;EMM!W$K$b$H$E$/$H=q$$$F$"$j!$(BSolaris 2.6 $B$+$iF3F~(B
$B$7$F$$$k$N$@$=$&$G!$;d$+$i8+$l$P;v<B>e$NI8=`$H9M$($F$bIT<+A3$G$O(B
$B$J$$$H46$8$^$9!%(B
$B$J$*!$>/$J$/$H$b(B 1996 $BG/Ev;~$K$*$$$F$O!$(BOracle $B$d(B Sybase $B$O(B
SJIS $B$N%f!<%6Dj5A(B/$B%Y%s%@Dj5AJ8;zNN0h$r(B EUC $B$KJQ49$9$k:]!$H=JLIT(B
$B2DG=J8;z$H$7$F07$C$F$$$k$i$7$$$H$$$&$3$H$bJdB-$7$F$*$-$^$9!%(B
---
[$B;29M;qNA(B]
// URL $B$,D9$$$N$G!$ESCf$G@Z$l$J$$$H$$$$$N$G$9$,(B...
-$B!VF|K\8l(B EUC$B!&%7%U%H(B JIS $B%3!<%IJQ49;EMM$H%3!<%I7O<BBVD4::!W(B
1966, OSF $BF|K\%Y%s%@6(5D2q(B
http://www.opengroup.or.jp/jvc/cde/sjis-euc.html
-$B!VJ8;z%3!<%IJQ495,B'!W(B
Solaris 7$B!$(BJFP $B%f!<%6!<%:%,%$%I(B
http://docs.sun.com/ab2/coll.139.3/JFPUG/@Ab2PageView/11683?Ab2Lang=ja&Ab2Enc=euc-jp
-$B!VF|K\8lJ8;z%3!<%I!W(B
Solaris 7$B!$(BJFP $B%f!<%6!<%:%,%$%I(B
http://docs.sun.com/ab2/coll.139.3/JFPUG/@Ab2PageView/879;td=5?Ab2Lang=ja&Ab2Enc=euc-jp
// $BFf$N!V(B1$B!A(B20 $B6h!W$N5-=R$O$3$3$+$i$-$F$$$^$9!%(B
---
-------------------------- $B0zMQ$3$3$^$G(B ---------------------------------
$B2~DjMzNr!'(B
2002/10/21
* $B%^%k%A%P%$%HBP1~$,%*%W%7%g%s$G$O$J$/!$8GDj$GI,$:AH$_9~$^$l$k(B
$B$h$&$K$J$j$^$7$?!%(B
* CREATE CONVERSION/DROP CONVERSION$B$NDI2C!%$3$l$K$H$b$J$$!$%((B
$B%s%3!<%G%#%s%0JQ494X?t$,%m!<%@%V%k4X?t$K$J$j!$%P%C%/%(%s%I$N(B
$B%m!<%I%b%8%e!<%k%5%$%:$,(B7.2$B$h$j$b>.$5$/$J$C$F$$$^$9!%$^$?!$(B
SQL$BI8=`$N(BCONVERT$B4X?t$rDI2C$7$^$7$?!%(B
* $B$$$/$D$+%(%s%3!<%G%#%s%0$,DI2C$5$l$F$$$^$9!%(B
* $B0J>e!$(B7.3$B$KH?1G$5$l$^$9!%(B
2001/10/01
* CONVERT$B$NDI2C!%(Blpad/rpad/trim/btrim/ltrim/rtrim/translate$B$N(B
$B%^%k%A%P%$%HBP1~DI2C!%(Bchar/varchar$B$G%P%$%H?t$G$O$J$/!$J8;z?t(B
$B$G%5%$%:$rDj5A$9$k$h$&$KJQ99!%0J>e!$(B7.2$B$KH?1G$5$l$^$9!%(B
2001/2/15
* $BFA2H(B@$B;06(1?M"%5!<%S%9$5$s$+$i!$(BCP932.TXT$B$h$j@8@.$7$?(BSJIS$BMQ$N(B
$BJQ49%F!<%V%k$rDs6!$7$F$$$?$@$-$^$7$?!%(B7.1$B$KH?1G$5$l$^$9!%(B
2001/1/6
* UNICODE$B$HB>$N%(%s%3!<%G%#%s%0$H$NAj8_JQ495!G=$rDI2C!%(B
* 7.1$B$KH?1G$5$l$^$9!%(B
2000/5/20
* NEC $BA*Dj(B IBM $B4A;zBP1~$rDI2C$7$^$7$?!%$3$l$O(B $BFA2H(B@$B;06(1?M"%5!<%S%9(B
$B$5$s$+$i$N(B contribute $B$G$9!%(B
* $B$3$l$i$O!$(B7.0.1 $B$KH?1G$5$l$^$9!%(B
2000/3/22
* PQsetClientEncoding, PQclientEncoding $B$r(Blibpq $B4X?t$KDI2C!$(B
$B%3%M%/%7%g%sKh$K%(%s%3!<%G%#%s%0$rJQ992DG=$K!%(B
* SJIS $B%f!<%6Dj5AJ8;z(B (UDC) $B$X$NBP1~(B
* ./configure --with-mb=EUC_JP $B$+$i(B
./configure --enable-multibyte=EUC_JP $B$KJQ99(B
* SQL_ASCII $B$N(B regression test $BDI2C(B
* $B$3$l$i$O(B 7.0 $B$KH?1G$5$l$^$9!%(B
1999/7/11 WIN1250(Windows$BMQ$N%A%'%38l(B)$B%5%]!<%H$rDI2C$7$^$7$?!%(B
* WIN1250 $B$,%U%m%s%H%(%s%IB&$N%(%s%3!<%G%#%s%0$H$7$FMxMQ$G$-$k$h(B
$B$&$K$J$j$^$7$?!%$3$N>l9g!$%P%C%/%(%s%IB&$N%(%s%3!<%G%#%s%0$O(B
LATIN2 $B$^$?$O(B MULE_INTERNAL $B$H$7$^$9!%(B
(contributed by Pavel Behal)
* backend/utils/mb/conv.c$B$K$*$1$k7?$NIT@09g$r=$@5$7$^$7$?!%(B
(contributed by Tomoaki Nishiyama)
* $B$3$l$i$O(B6.5.1$B$KH?1G$5$l$^$9!%(B
1999/3/23 $B%-%j%kJ8;z%5%]!<%HDI2CB>(B(6.5 $B$KH?1G:Q(B)
* $B%(%s%3!<%G%#%s%0$H$7$F(B KOI8(KOI8-R), WIN(CP1251), ALT(CP866) $B$r(B
$B%5%]!<%H$7$F$$$^$9!%$3$l$i$O!$%U%m%s%H%(%s%I!$%P%C%/%(%s%I!$(B
$B$I$A$i$N%(%s%3!<%G%#%s%0$H$7$F$b;HMQ2DG=$G$"$j!$%(%s%3!<%G%#%s%0$N(B
$BAj8_JQ49$,2DG=$G$9!%$^$?!$=>Mh$+$i%5%]!<%H$7$F$$$k(B ISO 8859-5 $B$b(B
$BF1MM$K;HMQ2DG=$G$9!%(B
$B%-%j%kJ8;z%5%]!<%H$O!$(BOleg Broytmann <phd@sun.med.ru> $B;a$N(B
$B%j%/%(%9%H5Z$S6(NO$K$h$j<B8=$7$^$7$?!%$3$l$O!$=>Mh$+$i$"$k(B
RCODE $B%5%]!<%H$N5!G=$r<h$j9~$`$b$N$G$b$"$j$^$9!%(B
* MB $B$H(B locale $B$rF1;~$K;XDj$7$?>l9g$KBgJ8;z!?>.J8;z$rL5;k$7$?(B
$B@55,I=8=8!:w$,@5>o$KF0:n$7$J$$%P%0$r=$@5(B
1999/1/26 Big5 $B%5%]!<%HDI2C(B(6.4.2-patched/6.5 $B$KH?1G:Q(B)
* Big5 $B$,%U%m%s%H%(%s%IB&$N%(%s%3!<%G%#%s%0$H$7$FMxMQ$G$-$k$h(B
$B$&$K$J$j$^$7$?!%$3$N>l9g!$%P%C%/%(%s%IB&$N%(%s%3!<%G%#%s%0$O(B
EUC_TW $B$^$?$O(B MULE_INTERNAL $B$H$7$^$9!%(B
* EUC_TW $B$N(B regression test $B%1!<%9$rDI2C(B
(contributed by Jonah Kuo <jonahkuo@mail.ttn.com.tw>)
1998/12/16 $BK\%I%-%e%a%s%H=$@5(B(6.4.2 $B$KH?1G:Q(B)$B!%(B
* Makefile.custom $B$G(B MB=EUC_JP $B$J$I$H@_Dj$9$kJ}K!$O(B 6.4 $B0J9_(B
$B%5%]!<%H$5$l$F$$$J$$$N$G:o=|$7$?!%(B
* $BJ8;z%3!<%I(B $B"*(B $B%(%s%3!<%G%#%s%0!$%/%i%$%"%s%H"*%U%m%s%H%(%s%I(B
$B%5!<%P"*%P%C%/%(%s%I(B $B$K$=$l$>$l8l6g$r=$@5!%(B
1998/12/15 6.4 $B8~$1%P%0=$@5%Q%C%A%j%j!<%9(B(6.4.2 $B$KH?1G:Q(B)$B!%(B
* SQL_ASCII $B%5%]!<%H$N%P%0=$@5(B
1998/11/21 6.4 $B8~$1%P%0=$@5%Q%C%A%j%j!<%9(B(6.4.2 $B$KH?1G:Q(B)$B!%(B
* BINARY CURSOR $B$NLdBj$r=$@5(B
* pg_dumpall $B$N%P%0=$@5(B
1998/11/5 6.4 $B%j%j!<%9!%(B
* pg_database $B$N(B encoding $B%+%i%`$,(B MB $B$,M-8z$G$J$$$H$-$K$b(B
$BDI2C$5$l$k$h$&$K$J$C$?!%$=$N$?$a!$(BMB $B$,M-8z$G$J$$$H$-$K$O!$(B
ASCII $B$N%(%s%3!<%G%#%s%0$rI=$9(B SQL_ASCII $B$r?7$7$$%(%s%3!<%G%#%s%0(B
$B$H$7$FDI2C$7$?!%$3$l$K$H$b$J$$!$%(%s%3!<%G%#%s%0L>$KBP1~$9$k(B
$B%(%s%3!<%G%#%s%0(BID$B$,(B SQL_ASCII $B$r(B 0 $B$H$9$kHV9f$KJQ99$K$J$C$?!%(B
1998/7/22 6.4 $B&A8~$1$K%Q%C%A$r%j%j!<%9!%(B
* initdb/createdb/create database $B$G%P%C%/%(%s%IB&$N(B
$B%(%s%3!<%G%#%s%0$r@_Dj$-$k5!G=<BAu!%$3$N$?$a!$%7%9%F%`%+%?%m(B
$B%0$N(B pg_database $B$K?7$7$$%+%i%`(B encoding $B$rDI2C(B(MB$B$,M-8z$J;~$@$1(B)
* copy $B$,(B PGCLIENTENCODING $B$KBP1~(B
* SQL92 $B$N(B "SET NAMES" $B$r%5%]!<%H(B(MB$B$,M-8z$J;~$@$1(B)
* LATIN2-5 $B$r%5%]!<%H(B
* regression test $B$K(B unicode $B$N%F%9%H%1!<%9$rDI2C(B
* MB $B@lMQ$N(B regression $B%F%9%H%G%#%l%/%H%j(B test/mb $B$rDI2C(B
* $B%=!<%9%U%!%$%k$NCV$->l=j$rBgI}8+D>$7!%(BMB $B4X78$O(B
include/mb, backend/utils/mb $B$KCV$/$h$&$K$7$?(B
1998/5/25 $B%P%0=$@5(B(mb_b3.patch $B$H$7$F(B pgsql-jp ML $B$K%j%j!<%9!$(B
$BK\2H$G$O(B 6.4 snapshot $B$K<h$j9~$^$l$kM=Dj(B)
1998/5/18 $B5!G=DI2C!?%P%0=$@5(B(mb_b2.patch $B$H$7$F(B pgsql-jp ML $B$K%j%j!<%9!$(B
$BK\2H$G$O(B 6.4 snapshot $B$K<h$j9~$^$l$kM=Dj(B)
* $B4D6-JQ?t(B PGCLIENTENCODING $B$N%5%]!<%H!%%U%m%s%H%(%s%IB&$N(B
$B%(%s%3!<%G%#%s%0$r;XDj$9$k!%8=:_!$(BSJIS, EUC_*, MULE_INTERNAL,
LATIN1 $B$,;XDj$G$-$k!%$^$?!$(B
set client_encoding to 'sjis';
$B$G$b2DG=(B
* 8bit $BJ8;z$,EO$k$HLdBj$,5/$-$k2U=j$K$G$-$k$@$1BP1~(B
1998/4/21 $B5!G=DI2C!?%P%0=$@5(B(mb_b1.patch $B$H$7$F(B pgsql-jp ML $B$K%j%j!<%9!$(B
$BK\2H$G$O(B 6.4 snapshot $B$K<h$j9~$^$l$F$$$k(B)
* character_length(), position(), substring() $B$N%^%k%A%P%$%H(B
$BBP1~(B
* octet_length() $BDI2C(B $B"*(B initdb $B$N$d$jD>$7I,MW(B
* configure $B$N%*%W%7%g%s$K(B MB $B%5%]!<%HDI2C(B
(ex. configure --with-mb=EUC_JP)
* EUC_KR $B$N(B regression test $BDI2C(B
("Soonmyung. Hong" <hong@lunaris.hanmesoft.co.kr> $B$5$sDs6!(B)
* EUC_JP $B$N(B regression test $B$K(B character_length(), position(),
substring(), octet_length() $BDI2C(B
* regress.sh $B$N(B SystemV $B$K$*$1$kHs8_49@-=$@5(B
* toupper(), tolower() $B$K(B 8bit $BJ8;z$,EO$k$HMn$A$k$3$H$,(B
$B$"$k$N$r=$@5(B
1998/3/25 PostgreSQL 6.3.1 $B%j%j!<%9!$(BMB PL2 $B$,<h$j9~$^$l$k(B
1998/3/10 PL2 $B$r%j%j!<%9(B
* EUC_JP, EUC_CN, MULE_INTERNAL $B$N(B regression test $B$rDI2C(B
(EUC_CN $B$N%G!<%?$O(B he@sra.co.jp $B$5$sDs6!(B)
* regexp $B$K$*$$$F!$(Bisalpha $B$J$I$K(B unsigend char $B0J30$NCM$,(B
$BEO$i$J$$$h$&$K%,!<%I$r$+$1$k(B
* $B1Q8l$N%I%-%e%a%s%H$rDI2C(B
* MB $B$rDj5A$7$J$$>l9g$KH/@8$9$k%P%0$r=$@5(B
1998/3/1 PL1 $B$r%j%j!<%9(B
$B0J>e!%(B