版本 v1.0

从 v1.02 向 v1.02.1 迁移

本文是用于 1.02.1 的新的迁移文件.它包括 'copy' 的改变和一个用于转换旧的 ascii 文件的脚本.
注意: 下面的信息用于帮助那些希望从 postgres95 1.01 和 1.02 向 postgres95 1.02.1 迁移的用户.

如果你刚刚开始使用 postgres95 1.02.1 并且不需要迁移旧的数据库,那么你不需要阅读下面的部分.

要想从旧的 postgres95 版本 1.01 或 1.02 数据库向版本 1.02.1 升级,需要进行下面步骤:
 
    运行新的 1.02.1 postmaster

    向1.01或1.02数据库中增加新的内建函数.方法是在你的1.01或1.02的数据库上运行新的1.02.1服务器然后运行文末的查询.这些工作可以很轻松的通过 psql 来完成.如果你的1.01或1.02数据库叫 "testdb" 并且你已经把本文末尾的命令剪切下来并存入到文件 addfunc.sql 里,那么:

            % psql testdb -f addfunc.sql
    那些从1.02数据库升级的人们在执行文件中这两个语句时会看到警告信息,因为它们已经在1.02中出现了.这些警告不会产生问题.

倾倒/重载过程

如果你试图恢复用原先版本的 pg_dump 或 文本模式的 'copy tablename to stdout'生成的数据,你需要在那些ASCII文件上运行下面的 sed 脚本,然后在恢复回数据库中去.因为原先的格式用'.'作为数据结束符,而现在使用'\.'.同样,现在空字符串用''进行装载,而不是NULL.请参阅 copy 的手册页获取完整的细节描述.
        sed 's/^\.$/\\./g' <in_file >out_file
如果你从一个旧的二进制拷贝或非标准输出拷贝中恢复数据,就不需要做上述转换,因为不存在数据结束符字符问题.
-- 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);

详细修改列表

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 depreciated 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 BSDI 2.1 port
 * added DGUX port