<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # E.240\. 版本 1.01 > **發布日期:** 1996-02-23 ## E.240.1\. 從版本 1.0 遷移到版本 1.01 下面信息是給那些希望將數據庫從Postgres95 1.0 向 Postgres95 1.01 遷移的用戶的一些有用信息。 如果你是剛剛安裝完成 Postgres95 1.01 并且沒有需要遷移的舊數據庫, 那么你不需要閱讀下面部分。 如果要把 Postgres95 版本 1.0 的數據庫向 Postgres95 版本 1.01 遷移,需要進行下面的步驟: 1. 把文件 `src/Makefile.global` 里的變量 `NAMEDATALEN` 定義為16, `OIDNAMELEN` 定義為 20。 2. 決定自己是否需要以主機為基礎的認證(HBA)。 1. 如果你需要這么做,你必須在頂級數據目錄(通常是你的環境變量 `$PGDATA` 的值) 里創建一個名為 `pg_hba` 的文件。 我們在例子語法里用 `src/libpq/pg_hba` 代表。 2. 如果你不需要這樣以主機為基礎的認證,你可以把 `src/Makefile.global` 里的下面這行注釋掉 ``` HBA = 1 ``` 要注意缺省時以主機為基礎的認證(HBA)是打開的, 而且如果你不做上面所說的步驟A或B中的其中一步,其他主機上(out-of-the-box) 的1.01版本將不允許你與1.0的數據庫聯接。 3. 編譯和安裝 1.01,但是不要執行 `initdb` 步驟。 4. 在進行下一步之前,終止 1.0 的 postmaster 進程,然后備份你現有的 `$PGDATA` 目錄。 5. 把你的 `PGDATA` 環境變量設置為你的 1.0 的庫(的位置), 但是把路徑設置成 1.01 的可執行文件路徑。 6. 把文件 `$PGDATA`/PG_VERSION 從 5.0 修改成 5.1 7. 運行新的 1.01 的 postmaster。 8. 把 1.01 的新的內建的函數和操作符追加到 1.0 的數據庫中去。 這一步是通過在你的 1.0 的庫上運行 1.01 的服務器,并且運行附加的查詢并保存到文件 1.0_to_1.01.sql 中。 如果你的 1.0 數據庫名為`testdb`,那么我們可以通過`psql` 很容易完整升級工作: ``` % psql testdb -f 1.0_to_1.01.sql ``` 然后執行下面命令(可以從下面剪切和拷貝): ``` -- add builtin functions that are new to 1.01 create function int4eqoid (int4, oid) returns bool as 'foo' language 'internal'; create function oideqint4 (oid, int4) returns bool as 'foo' language 'internal'; create function char2icregexeq (char2, text) returns bool as 'foo' language 'internal'; create function char2icregexne (char2, text) returns bool as 'foo' language 'internal'; create function char4icregexeq (char4, text) returns bool as 'foo' language 'internal'; create function char4icregexne (char4, text) returns bool as 'foo' language 'internal'; create function char8icregexeq (char8, text) returns bool as 'foo' language 'internal'; create function char8icregexne (char8, text) returns bool as 'foo' language 'internal'; create function char16icregexeq (char16, text) returns bool as 'foo' language 'internal'; create function char16icregexne (char16, text) returns bool as 'foo' language 'internal'; create function texticregexeq (text, text) returns bool as 'foo' language 'internal'; create function texticregexne (text, text) returns bool as 'foo' language 'internal'; -- add builtin functions that are new to 1.01 create operator = (leftarg = int4, rightarg = oid, procedure = int4eqoid); create operator = (leftarg = oid, rightarg = int4, procedure = oideqint4); create operator ~* (leftarg = char2, rightarg = text, procedure = char2icregexeq); create operator !~* (leftarg = char2, rightarg = text, procedure = char2icregexne); create operator ~* (leftarg = char4, rightarg = text, procedure = char4icregexeq); create operator !~* (leftarg = char4, rightarg = text, procedure = char4icregexne); create operator ~* (leftarg = char8, rightarg = text, procedure = char8icregexeq); create operator !~* (leftarg = char8, rightarg = text, procedure = char8icregexne); create operator ~* (leftarg = char16, rightarg = text, procedure = char16icregexeq); create operator !~* (leftarg = char16, rightarg = text, procedure = char16icregexne); create operator ~* (leftarg = text, rightarg = text, procedure = texticregexeq); create operator !~* (leftarg = text, rightarg = text, procedure = texticregexne); ``` ## E.240.2\. 修改列表 ``` 不兼容性: * 1.01 向后兼容 1.0 數據庫,提供了用戶指導步驟,在 MIGRATION_from_1.0_to_1.01 文件中概述。 如果沒有采取這些步驟,1.01 是不與 1.0 數據庫兼容的。 增強: * 添加了 PQdisplayTuples() 到 libpq 并且為了使用它更改了監控器和 psql * 添加了 NeXT 端口 (需要 SysVIPC 實現) * 添加了 CAST .. AS ... 語法 * 添加了 ASC 和 DESC 關鍵字 * 添加了 'internal' 作為 CREATE FUNCTION 內部函數的可能語言,CREATE FUNCTION 內部函數是 C 函數, 已經靜態的連接到了 Postgres 后端。 * 為系統標識符添加了一個新的類型 "name" (表名,屬性名等)。這個替換老的 char16 類型。 通過在 src/Makefile.global 中的 NAMEDATALEN #define 設置。 * 一個可讀的參考手冊描述查詢語言。 * 添加了基于主機的訪問控制。一個配置文件($PGDATA/pg_hba)用來保存配置數據。 如果基于主機的訪問控制不再需要了,注釋掉 src/Makefile.global 中的 HBA=1。 * 更改正則表達式處理為統一的使用 Henry Spencer 的正則表達式代碼,不管是什么平臺。 正則表達式代碼包含在發布中。 * 為大小寫不敏感的正則表達式添加了函數和操作符。操作符是 ~* 和 !~*。 * pg_dump 為了更好的性能使用 COPY 而不是 SELECT 循環 Bug 修復: * 修復了一個優化器 bug ,當函數調用在 WHERE 子句中用于比較時會引起內核轉儲 * 更改所有 getuid 的使用為 geteuid ,這樣就使用了有效的 uid * psql 在使用 -C 發生錯誤時返回非零的狀態 * 應用了公共補丁 1-14 ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看