↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

不受支持的版本: 7.0 / 6.4
历史版本PostgreSQL 6.4 已于 2003 年 10 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本手册首页。

35.11. 版本 1.02

35.11.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. 启动新的 1.02.1 postmaster

  2. 将 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 中。这 无需担心。

35.11.2. 转储/重载程序

如果你试图重新装载由旧版本生成的 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);

35.11.3. 详细变更列表

源代码维护与开发
* 全球志愿者团队
 * 源代码树现在在 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 移植
 * 新增 DG/UX 移植

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。