企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# E.239\. 版本 1.02 > **发布日期:** 1996-08-01 ## E.239.1\. 从版本 1.02 迁移到版本 1.02.1 本文是用于 1.02.1 的新的迁移文件。它包括 'copy' 的改变和一个用于转换旧的 ASCII 文件的脚本。 > **Note:** 下面的信息用于帮助那些希望从 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.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.239.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.239.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 端口 ```