E.36. 版本 1.02

發布日期: 1996-08-01

E.36.1. 從 v1.02 遷移到 v1.02.1

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. 運行新的 1.02.1 postmaster

  2. 向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中出現了. 這些警告不會產生問題.

E.36.2. 傾倒/恢復過程

如果你試圖恢復用原先版本的 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);

E.36.3. 修改列表

源代碼管理和開發
 * worldwide team of volunteers
 * the source tree now in CVS at ftp.ki.net

增強
 * 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

修補(多得說不完)
 * indexes
 * storage management
 * check for NULL pointer before dereferencing
 * Makefile fixes

新移植
 * added SolarisX86 port
 * added BSD/OS 2.1 port
 * added DG/UX port