mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	Attached is new README.locale. Should go into .../doc. Includes
instructions on how to install and use Multibyte support. Primarily
oriented toward Russian (Cyrillic) users.
Oleg.
----
    Oleg Broytmann     http://members.xoom.com/phd2/     phd2@earthling.net
           Programmers don't die, they just GOSUB without RETURN.
		
	
		
			
				
	
	
		
			95 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
===========
 | 
						|
14 Apr 1999
 | 
						|
===========
 | 
						|
 | 
						|
   Tatsuo Ishii <t-ishii@sra.co.jp> updated Multibyte support extending it
 | 
						|
to Cyrillic language. Now PostgreSQL supports KOI8-R, WIN-1251, ISO8859-5
 | 
						|
and CP866 (ALT) encodings.
 | 
						|
 | 
						|
   Short instruction on using this feature follows. Longer discussion of
 | 
						|
Multibyte support is in README.mb.
 | 
						|
 | 
						|
   WARNING! Now with Multibyte support Cyrillic RECODE declared obsolete
 | 
						|
and will be removed from Postgres. If you are using RECODE consider
 | 
						|
switching to Multibyte support.
 | 
						|
 | 
						|
   Instructions on how to prepare Postgres for Cyrillic Multibyte support.
 | 
						|
   ----------------------------------------------------------------------
 | 
						|
 | 
						|
   First, you need to backup all your databases. I recommend to backup the
 | 
						|
entire Postgres directory, including binaries and libraries - thus you can
 | 
						|
easily restore if something goes wrong.
 | 
						|
 | 
						|
   Dump you data: pg_dumpall > dump.db
 | 
						|
 | 
						|
   Stop postmaster.
 | 
						|
 | 
						|
   Configure, compile and install Postgres. (I'll mostly talk about KOI8-R
 | 
						|
encoding, this is just to make examples a little more clear; you can use
 | 
						|
any supported encoding.)
 | 
						|
 | 
						|
   cd src
 | 
						|
   ./configure --enable-locale --with-mb=KOI8
 | 
						|
   make
 | 
						|
   make install
 | 
						|
 | 
						|
   Make sure you've backed up your databases. Doublecheck your backup. I
 | 
						|
really mean it - make regular backups and test your backups sometimes by
 | 
						|
fake restore.
 | 
						|
 | 
						|
   Remove your data directory (better, rename or move it).
 | 
						|
 | 
						|
   Run initdb saying your primary encoding: initdb -e KOI8. If you omit
 | 
						|
encoding, primary encoding from configure will be taken.
 | 
						|
 | 
						|
   Start postmaster.
 | 
						|
 | 
						|
   Create databases: createdb -e KOI8. Again, you can omit encoding -
 | 
						|
default encoding will be used. You are not forced to use the same encoding
 | 
						|
for all your databases - you can create different databases with different
 | 
						|
encodings.
 | 
						|
 | 
						|
   Load your data from the dump you've created: psql < dump.db
 | 
						|
 | 
						|
   That's all! Now you are ready to enjoy the full power of Multibyte
 | 
						|
support.
 | 
						|
 | 
						|
   To use Multibyte support you do not need to do something special - just
 | 
						|
execute your queries. If client program does not set encoding, it will get
 | 
						|
the data in database encoding. But client may ask Postgres to do automatic
 | 
						|
server-to-client and client-to-server conversions. There are 2 (two) ways
 | 
						|
client program declares its encoding:
 | 
						|
   1) client explicitly executes the query SET CLIENT_ENCODING TO 'win';
 | 
						|
   2) client started with environment variable set. Examples -
 | 
						|
using sh syntax:
 | 
						|
   PGCLIENTENCODING='win'; export PGCLIENTENCODING
 | 
						|
using csh syntax:
 | 
						|
   setenv PGCLIENTENCODING 'win'
 | 
						|
 | 
						|
   Setting PGCLIENTENCODING even if you use same client encding as the
 | 
						|
database would omit an overhead of asking the database encoding while
 | 
						|
initiating the connection, so it is good idea to set it in any case.
 | 
						|
 | 
						|
   Now you may run test suite and see Multibyte support in action. Go to
 | 
						|
.../src/test/locale and run
 | 
						|
   make clean all test-koi2win
 | 
						|
 | 
						|
 | 
						|
===========
 | 
						|
1998 Nov 20
 | 
						|
===========
 | 
						|
 | 
						|
   I extended locale support, originally written by Oleg Bartunov
 | 
						|
<oleg@sai.msu.su>. Now ORDER BY (if PostgreSQL configured with
 | 
						|
--enable-locale) uses strcoll() for all text fields: char(n), varchar(n),
 | 
						|
text.
 | 
						|
 | 
						|
   I included test suite .../src/test/locale. I didn't include this in
 | 
						|
the regression test because not so much people require locale support. Read
 | 
						|
.../src/test/locale/README for details on the test suite.
 | 
						|
 | 
						|
   Many thanks to Oleg Bartunov (oleg@sai.msu.su) and Thomas G. Lockhart
 | 
						|
(lockhart@alumni.caltech.edu) for hints, tips, help and discussion.
 | 
						|
 | 
						|
Oleg.
 |