pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
1996-08-01
这是 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.02.1 新增的内建函数和操作符添加到 1.01 或 1.02 数据库中。方法是用新的 1.02.1 服务器运行你自己的 1.01 或 1.02 数据库,并应用本文件末尾 附带的查询。这可以通过 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
如果你装载的是较旧的二进制 copy 或非 stdout 的 copy,则没有 数据结束字符,因此无需转换。
-- 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);
源代码维护与开发 * 全球志愿者团队 * 源代码树现在在 ftp.ki.net 的 CVS 中 增强 * psql(及底层 libpq 库)现在有更多输出格式化选项, 包括 HTML * pg_dump 现在可以输出模式和/或数据,并有许多修复 以提高完整性。 * 管理 shell 脚本中用 psql 代替 monitor。 monitor 将在下一个发行版中废弃。 * 日期/时间函数得到增强 * NULL 插入/更新/比较修复/增强 * TCL/TK 库和 shell 修复为同时支持 tck7.4/tk4.0 和 tcl7.5/tk4.1 缺陷修复(多到几乎无法列举) * 索引 * 存储管理 * 解引用前检查 NULL 指针 * Makefile 修复 新移植 * 新增 SolarisX86 移植 * 新增 BSD/OS 2.1 移植 * 新增 DGUX 移植
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。