## E.373. Release 1.02

Release date: 1996-08-01

### E.373.1. Migration from version 1.02 to version 1.02.1

Here is a new migration file for 1.02.1. It includes the 'copy' change and a script to convert old ASCII files.

### Note

The following notes are for the benefit of users who want to migrate databases from Postgres95 1.01 and 1.02 to Postgres95 1.02.1.

If you are starting afresh with Postgres95 1.02.1 and do not need to migrate old databases, you do not need to read any further.

In order to upgrade older Postgres95 version 1.01 or 1.02 databases to version 1.02.1, the following steps are required:

1. Start up a new 1.02.1 postmaster

2. Add the new built-in functions and operators of 1.02.1 to 1.01 or 1.02 databases. This is done by running the new 1.02.1 server against your own 1.01 or 1.02 database and applying the queries attached at the end of the file. This can be done easily through `psql`. If your 1.01 or 1.02 database is named `testdb` and you have cut the commands from the end of this file and saved them in `addfunc.sql`:

       % psql testdb -f addfunc.sql

   Those upgrading 1.02 databases will get a warning when executing the last two statements in the file because they are already present in 1.02. This is not a cause for concern.

### E.373.2. Dump/Reload Procedure

If you are trying to reload a pg_dump or text-mode, `copy tablename to stdout` generated with a previous version, you will need to run the attached `sed` script on the ASCII file before loading it into the database. The old format used '.' as end-of-data, while '\.' is now the end-of-data marker. Also, empty strings are now loaded in as '' rather than NULL. See the copy manual page for full details.

    sed 's/^\.$/\\./g' <in_file >out_file

If you are loading an older binary copy or non-stdout copy, there is no end-of-data character, and hence no conversion necessary.

    -- following lines added by agc to reflect the case-insensitive
    -- regexp searching for varchar (in 1.02), and bpchar (in 1.02.1)
    create operator ~* (leftarg = bpchar, rightarg = text, procedure = texticregexeq);
    create operator !~* (leftarg = bpchar, rightarg = text, procedure = texticregexne);
    create operator ~* (leftarg = varchar, rightarg = text, procedure = texticregexeq);
    create operator !~* (leftarg = varchar, rightarg = text, procedure = texticregexne);

### E.373.3. Changes

    Source code maintenance and development
     * worldwide team of volunteers
     * the source tree now in CVS at ftp.ki.net

    Enhancements
     * psql (and underlying libpq library) now has many more options for
       formatting output, including HTML
     * pg_dump now output the schema and/or the data, with many fixes to
       enhance completeness.
     * psql used in place of monitor in administration shell scripts.
       monitor to be deprecated in next release.
     * date/time functions enhanced
     * NULL insert/update/comparison fixed/enhanced
     * TCL/TK lib and shell fixed to work with both tck7.4/tk4.0 and tcl7.5/tk4.1

    Bug Fixes (almost too numerous to mention)
     * indexes
     * storage management
     * check for NULL pointer before dereferencing
     * Makefile fixes

    New Ports
     * added SolarisX86 port
     * added BSD/OS 2.1 port
     * added DG/UX port