postgresql/doc
Bruce Momjian 6cd67c931a Cleaups:
< * Allow GRANT/REVOKE permissions to be given to all schema objects with one
> * Allow GRANT/REVOKE permissions to be applied to all schema objects with one
60c60
<   specifications.  This is because new databases are created by copying
>   specifications.  This is because new databases are created by copying
63c63
<   directory would create a new database with tables that had incorrect
>   directory would create a new database with tables that had incorrect
72c72
<
>
85c85
<   By not showing commented-out variables, we discourage people from
>   By not showing commented-out variables, we discourage people from
91c91
< * Allow point-in-time recovery to archive partially filled write-ahead
> * Allow point-in-time recovery to archive partially filled write-ahead
102c102
<   Currently all schemas are owned by the super-user because they are
>   Currently all schemas are owned by the super-user because they are
128c128
< * Allow INET subnet tests with non-constants to be indexed
> * Allow INET subnet tests using non-constants to be indexed
143,144c143,144
< * Allow to_char to print localized month names
< * Allow functions to have a search path specified at creation time
> * Allow to_char() to print localized month names
> * Allow functions to have a schema search path specified at creation time
146c146
< * Add GUC variable to allow output of interval values in ISO8601 format
> * Add a GUC variable to allow output of interval values in ISO8601 format
154,155c154,155
< * Prevent inet cast to cidr if the unmasked bits are not zero, or
<   zero bits
> * Prevent INET cast to CIDR if the unmasked bits are not zero, or
>   zero the bits
158c158
< 	o Allow nulls in arrays
> 	o Allow NULLs in arrays
160,161c160,161
< 	o Delay resolution of array expression type so assignment coercion
< 	  can be performed on empty array expressions
> 	o Delay resolution of array expression's data type so assignment
> 	  coercion can be performed on empty array expressions
218,219c218,219
<   key, foreign key  [inheritance]
< * UNIQUE INDEX on base column not honored on inserts/updates from
>   key, foreign key
> * UNIQUE INDEX on base column not honored on INSERTs/UPDATEs from
221c221
<   (dup) should fail [inheritance]
>   (dup) should fail
246c246
< * Fetch heap pages matching index entries in sequential order [performance]
> * Fetch heap pages matching index entries in sequential order
307c307
<   functionality in DELETE.  It's been agreed that the keyword should
>   functionality in DELETE.  It's been agreed that the keyword should
318c318
< * Allow PREPARE to automatically determine parameter types based on the SQL
> * Allow PREPARE to automatically determine parameter types based on the SQL
340,342d339
< * Allow CREATE TABLE foo (f1 INT CHECK (f1 > 0) CHECK (f1 < 10)) to work
<   by searching for non-conflicting constraint names, and prefix with
<   table name?
347c344
<   new database.
>   a new database.
350,351d346
< * Ignore temporary tables from other sessions when processing
<   inheritance?
354,355c349,351
< * Add a session mode to warn about non-standard SQL usage in queries
< * Add MERGE command that does UPDATE/DELETE, or on failure, INSERT (rules, triggers?)
> * Add a GUC variable to warn about non-standard SQL usage in queries
> * Add MERGE command that does UPDATE/DELETE, or on failure, INSERT (rules,
>   triggers?)
357,359c353,356
< * Add NOVICE output level for helpful messages like automatic sequence/index creation
< * Add COMMENT ON for all cluster global objects (users, groups,
<   databases and tablespaces)
> * Add NOVICE output level for helpful messages like automatic sequence/index
>   creation
> * Add COMMENT ON for all cluster global objects (users, groups, databases
>   and tablespaces)
363c360
<   When enabled, this would allow errors in multi-statement transactions
>   When enabled, this would allow errors in multi-statement transactions
417c414
< 	o Allow COPY to optionally include column headings as the first line
> 	o Allow COPY to optionally include column headings in the first line
450c447
<
>
462c459
< 	o Handle references to temporary tables that are created, destroyed,
> 	o Handle references to temporary tables that are created, destroyed,
464c461
<
>
469d465
< 	o Improve PL/PgSQL exception handling using savepoints
488c484
<
>
503d498
<
518c513
< 	o Add pg_dumpall custom format dumps.
> 	o Add pg_dumpall custom format dumps.
520c515
< 	  This is probably best done by combining pg_dump and pg_dumpall
> 	  This is probably best done by combining pg_dump and pg_dumpall
532d526
< 	o Improve error handling (?)
555c549
<   Adding shared locks requires recording the table/rows numbers in a
>   Adding shared locks requires recording the table/rows numbers in a
643c637
<   Posix_fadvise() can control both sequential/random file caching and
>   Posix_fadvise() can control both sequential/random file caching and
703c697
<   from distributted.net, http://www1.distributed.net/source,
>   from distributted.net, http://www1.distributed.net/source,
729c723
< * Add connection pooling [pool]
> * Add connection pooling
755d748
<
759c752
<
>
768c761
<   so an abrupt operating system restart might lose a few seconds of
>   so an abrupt operating system restart might lose a few seconds of
785c778
< * Add utility to compute accurate random_page_cost value
> * Create utility to compute accurate random_page_cost value
787,789d779
< * Allow sorting, temp files, temp tables to use multiple work directories
<
<   This allows the I/O load to be spread across multiple disk drives.
795a786
>
808,809c799,800
<
< * Use mmap() rather than SYSV shared memory or to write WAL files (?) [mmap]
>
> * Use mmap() rather than SYSV shared memory or to write WAL files (?)
812,813c803,804
<   portability issues. Anonymous mmap (or mmap to /dev/zero) is required
<   to prevent I/O overhead.
>   portability issues. Anonymous mmap (or mmap to /dev/zero) is required
>   to prevent I/O overhead.
817,819c808,810
<   Doing I/O to large tables would consume a lot of address space or
<   require frequent mapping/unmapping.  Extending the file also causes
<   mapping problems that might require mapping only individual pages,
>   Doing I/O to large tables would consume a lot of address space or
>   require frequent mapping/unmapping.  Extending the file also causes
>   mapping problems that might require mapping only individual pages,
821c812
<   way to _prevent_ I/O to disk from the dirty shared buffers so changes
>   way to _prevent_ I/O to disk from the dirty shared buffers so changes
826c817
<   tuple overhead
>   per-tuple overhead
829,831c820,822
<   This would involve using multiple threads or processes to do optimization,
<   sorting, or execution of single query.  The major advantage of such a
<   feature would be to allow multiple CPUs to work together to process a
>   This would involve using multiple threads or processes to do optimization,
>   sorting, or execution of single query.  The major advantage of such a
>   feature would be to allow multiple CPUs to work together to process a
834c825
< * Research the use of larger pages sizes
> * Research the use of larger page sizes
842a834
> * Move some /contrib modules out to their own project sites
845d836
< * Improve access-permissions check on data directory in Cygwin (Tom)
847,848c838
< * Clarify use of 'application' and 'command' tags in SGML docs
< * Better document ability to build only certain interfaces (Marc)
> * Improve documentation to build only interfaces (Marc)
852,853d841
< * Research interaction of setitimer() and sleep() used by statement_timeout
< * Rename /scripts directory because they are all C programs now
856,857d843
< * Allow binaries to be statically linked so they are more easily relocated
< * Move some /contrib modules out to their own project sites
862c848
< 	o Remove per-backend parameter file and move into shared memory?
> 	o Remove per-backend parameter file and move into shared memory
877,878c863,864
< 	o Update clients to use data types, typmod, schema.table.column names of
< 	  result sets using new query protocol
> 	o Update clients to use data types, typmod, schema.table.column names
> 	  of result sets using new query protocol
900d885
< * Kris is Kris Jurka
910c895
< * Simon is Simon Riggs
> * Simon is Simon Riggs <simon@2ndquadrant.com>
913d897
< * Teodor is
2004-11-11 03:59:14 +00:00
..
src Add character set declaration to HTML files, so they have a chance to 2004-11-10 23:01:47 +00:00
TODO.detail Remove performance TODO.detail. In TODO. 2004-11-10 02:48:59 +00:00
bug.template Label CVS tip as 8.0devel instead of 7.5devel. Adjust various comments 2004-08-04 21:34:35 +00:00
FAQ Add index mention: 2004-09-01 03:28:15 +00:00
FAQ_AIX Update AIX resultmap for horology tests, per Andreas. 2002-11-12 20:02:32 +00:00
FAQ_brazilian Update Brazilian FAQ. 2004-09-30 03:50:34 +00:00
FAQ_CYGWIN Update heading of Cygwin FAQ to be Cygwin-specific. 2004-10-15 16:18:35 +00:00
FAQ_czech Repair name. 2003-12-16 09:47:55 +00:00
FAQ_DEV Update wording. 2004-10-15 16:27:07 +00:00
FAQ_farsi Update Farsi FAQ in ASCII. 2004-10-02 08:19:43 +00:00
FAQ_french Add French FAQ. 2004-07-15 15:25:25 +00:00
FAQ_german Update German FAQ. 2004-10-27 02:01:14 +00:00
FAQ_HPUX FAQ_HPUX updates from Shinji Teragaito. 2004-09-02 17:46:24 +00:00
FAQ_hungarian Hungarian FAQ is text, not HTML, so remove it. 2003-02-18 17:20:37 +00:00
FAQ_IRIX Revise platform FAQs. 2002-11-11 20:04:05 +00:00
FAQ_japanese Update Russian FAQ. 2004-10-26 17:28:27 +00:00
FAQ_MINGW Update mingw faq. 2004-10-14 22:30:30 +00:00
FAQ_polish Update Polish FAQ, from Marcin Mazurek. 2004-03-05 19:29:23 +00:00
FAQ_QNX4 Replace the virtual_host and tcpip_socket parameters with a unified 2004-03-23 01:23:48 +00:00
FAQ_russian Update Russian FAQ. 2004-10-26 17:28:27 +00:00
FAQ_SCO Label CVS tip as 8.0devel instead of 7.5devel. Adjust various comments 2004-08-04 21:34:35 +00:00
FAQ_Solaris Update Solaris FAQ to mention -fast. 2003-10-09 17:11:13 +00:00
FAQ_turkish Update Turkish FAQ. 2004-07-29 16:30:32 +00:00
KNOWN_BUGS Add files to point to TODO list. 1999-07-01 05:31:22 +00:00
Makefile $Header: -> $PostgreSQL Changes ... 2003-11-29 19:52:15 +00:00
MISSING_FEATURES Add files to point to TODO list. 1999-07-01 05:31:22 +00:00
README.mb.big5 Add a README file for multi-byte. This file is contributed by 2001-01-09 09:54:11 +00:00
README.mb.jp Update multibyte Japanese document 2002-10-21 05:14:06 +00:00
TODO Cleaups: 2004-11-11 03:59:14 +00:00

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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