mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-27 08:39:28 +08: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);
|
|
|
|
|
|
|