mirror of
				https://github.com/postgres/postgres.git
				synced 2025-10-31 10:30:33 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			95 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| The following notes are for the benefit of users who want to migrate
 | |
| databases from postgres95 1.0 to postgres95 1.01.  
 | |
| 
 | |
| If you are starting afresh with postgres95 1.01 and do not need
 | |
| to migrate old databases, you do not need to read any further.
 | |
| 
 | |
| ----------------------------------------------------------------------
 | |
| 
 | |
| In order to postgres95 version 1.01 with databases created with
 | |
| postgres95 version 1.0, the following steps are required:  
 | |
| 
 | |
| 1) Set the definition of NAMEDATALEN in src/Makefile.global to 16
 | |
|    and OIDNAMELEN to 20.
 | |
| 
 | |
| 2) Decide whether you want to use Host based authentication.  
 | |
| 
 | |
|    A) If you do, you must create a file name "pg_hba" in your top-level data
 | |
|    directory (typically the value of your $PGDATA).  src/libpq/pg_hba
 | |
|    shows an example syntax.
 | |
| 
 | |
|    B) If you do not want host-based authentication, you can comment out
 | |
|    the line
 | |
| 	HBA = 1
 | |
|    in src/Makefile.global
 | |
| 
 | |
|    Note that host-based authentication is turned on by default, and if
 | |
|    you do not take steps A or B above, the out-of-the-box 1.01 will
 | |
|    not allow you to connect to 1.0 databases.
 | |
| 
 | |
| 3) compile and install 1.01, but DO NOT do the initdb step.
 | |
| 
 | |
| 4) before doing anything else, terminate your 1.0 postmaster, and
 | |
|    backup your existing $PGDATA directory.   
 | |
| 
 | |
| 5) set your PGDATA environment variable to your 1.0 databases, but set up
 | |
|    path up so that 1.01 binaries are being used.
 | |
| 
 | |
| 6) modify the file $PGDATA/PG_VERSION from 5.0 to 5.1
 | |
| 
 | |
| 7) start up a new 1.01 postmaster
 | |
| 
 | |
| 5) Add the new built-in functions and operators of 1.01 to 1.0
 | |
|    databases.  This is done by running the new 1.01 server against
 | |
|    your own 1.0 database and applying the queries attached and saving 
 | |
|    in the file 1.0_to_1.01.sql.   This can be done easily through psql.
 | |
|    If your 1.0 database is name "testdb":
 | |
| 
 | |
| 	% psql testdb -f 1.0_to_1.01.sql
 | |
| 
 | |
| ------------------------------------------------------------------------------
 | |
| -- add builtin functions that are new to 1.01
 | |
| 
 | |
| create function int4eqoid (int4, oid) returns bool as 'foo'
 | |
| language 'internal';
 | |
| create function oideqint4 (oid, int4) returns bool as 'foo'
 | |
| language 'internal';
 | |
| create function char2icregexeq (char2, text) returns bool as 'foo'
 | |
| language 'internal';
 | |
| create function char2icregexne (char2, text) returns bool as 'foo'
 | |
| language 'internal';
 | |
| create function char4icregexeq (char4, text) returns bool as 'foo'
 | |
| language 'internal';
 | |
| create function char4icregexne (char4, text) returns bool as 'foo'
 | |
| language 'internal';
 | |
| create function char8icregexeq (char8, text) returns bool as 'foo'
 | |
| language 'internal';
 | |
| create function char8icregexne (char8, text) returns bool as 'foo'
 | |
| language 'internal';
 | |
| create function char16icregexeq (char16, text) returns bool as 'foo'
 | |
| language 'internal';
 | |
| create function char16icregexne (char16, text) returns bool as 'foo'
 | |
| language 'internal';
 | |
| create function texticregexeq (text, text) returns bool as 'foo'
 | |
| language 'internal';
 | |
| create function texticregexne (text, text) returns bool as 'foo'
 | |
| language 'internal';
 | |
| 
 | |
| -- add builtin functions that are new to 1.01
 | |
| 
 | |
| create operator = (leftarg = int4, rightarg = oid, procedure = int4eqoid);
 | |
| create operator = (leftarg = oid, rightarg = int4, procedure = oideqint4);
 | |
| create operator ~* (leftarg = char2, rightarg = text, procedure = char2icregexeq);
 | |
| create operator !~* (leftarg = char2, rightarg = text, procedure = char2icregexne);
 | |
| create operator ~* (leftarg = char4, rightarg = text, procedure = char4icregexeq);
 | |
| create operator !~* (leftarg = char4, rightarg = text, procedure = char4icregexne);
 | |
| create operator ~* (leftarg = char8, rightarg = text, procedure = char8icregexeq);
 | |
| create operator !~* (leftarg = char8, rightarg = text, procedure = char8icregexne);
 | |
| create operator ~* (leftarg = char16, rightarg = text, procedure = char16icregexeq);
 | |
| create operator !~* (leftarg = char16, rightarg = text, procedure = char16icregexne);
 | |
| create operator ~* (leftarg = text, rightarg = text, procedure = texticregexeq);
 | |
| create operator !~* (leftarg = text, rightarg = text, procedure = texticregexne);
 | |
| 
 | |
| 
 | |
| 
 |