mirror of
				https://github.com/postgres/postgres.git
				synced 2025-10-29 22:49:41 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			108 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			108 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ===========
 | |
| 1999 Jul 21
 | |
| ===========
 | |
| 
 | |
|    Josef Balatka, <balatka@email.cz> asked us not to remove RECODE and sent me
 | |
| Czech ISO-8859-2 -> WIN-1250 translation table.
 | |
|    RECODE is no longer contains just Cyrillic RECODE and will stay in 
 | |
| PostgreSQL.
 | |
| 
 | |
|    He also created some bits of documentation, mostly concerning RECODE -
 | |
| see README.Charsets.
 | |
| 
 | |
| 
 | |
| ===========
 | |
| 1999 Apr 14
 | |
| ===========
 | |
| 
 | |
|    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.
 |