E.307. 版本 1.02
发布日期: 1996-08-01
E.307.1. 从版本 1.02 迁移到版本 1.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.02.1 的新的内建函数和操作符。 方法是在你的 1.01 或 1.02 的数据库上运行新的 1.02.1 服务器然后应用文件末尾的查询。 这些工作可以很轻松的通过 psql 来完成。如果你的 1.01 或 1.02 数据库叫 testdb 并且你已经把文件末尾的命令剪切下来并存入到文件 addfunc.sql 里,那么:
% psql testdb -f addfunc.sql
那些从 1.02 数据库升级的人们在执行文件中最后两个语句时会看到警告消息, 因为它们已经在 1.02 中出现了。 这些警告不会产生问题。
E.307.2. 转储/重装过程
如果你试图重装 pg_dump 或文本模式,copy tablename to stdout会在原先的版本中生成, 你将需要在加载到数据库之前在 ASCII 文件上运行下面的 sed 脚本。 因为原先的格式用'.'作为数据结束符,而现在使用'\.'。同样,现在空字符串用''进行装载, 而不是 NULL。请参阅 copy 的手册页获取完整的细节描述。
sed 's/^\.$/\\./g' <in_file >out_file
如果你从一个旧的二进制拷贝或非标准输出拷贝中恢复数据, 就不需要做上述转换,因为不存在数据结束符字符问题。
-- agc添加的下列的行反应不区分大小写 -- 正则表达式搜索 varchar (in 1.02), 和 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.307.3. 修改列表
源代码管理和开发 * 世界各地的志愿者团队 * 源代码树现在在 CVS 在 ftp.ki.net 增强 * psql (和底层的 libpq 库)现在对格式化输出有了更多的选项,包括 HTML * pg_dump 现在输出模式和/或数据,带有许多提高完善的修复。 * psql 在管理 shell 脚本中用来替代监控器。监控器将在下一个版本中停用。 * 日期/时间函数增强 * NULL 插入/更新/比较 修复/增强 * TCL/TK 库和 shell 修复以和 tck7.4/tk4.0 和 tcl7.5/tk4.1 一起工作 Bug 修补(多得说不完) * 索引 * 存储管理 * 在解除参考之前检查 NULL 指针 * makefile 修复 新增端口 * 添加了 SolarisX86 端口 * 添加了 BSD/OS 2.1 端口 * 添加了 DG/UX 端口