<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # E.2\. 版本 9.3 > **發布日期:** 2013-09-09 ## E.2.1\. 概述 PostgreSQL 9.3中主要的改進包括: * 添加[物化視圖](#calibre_link-109) * 讓簡單的視圖[可自動更新](#calibre_link-1820) * 為`JSON`數據類型添加許多特性,包括[操作符和函數](#calibre_link-1760), 從`JSON`值中提取元素 * 為`FROM`子句子查詢和函數調用實現了SQL標準的 [`LATERAL`](#calibre_link-970)選項 * 允許[外部數據封裝器](#calibre_link-2) 支持在外部表上書寫(插入/更新/刪除) * 添加一個[Postgres外部數據封裝器](#calibre_link-65), 允許訪問其他Postgres服務器 * 添加對[事件觸發器](#calibre_link-580)的支持 * 添加選擇能力到[checksum](#calibre_link-1547) 數據頁和報告損壞 * 阻止非鍵字段行更新阻塞外鍵檢查 * 大大的減少System V [共享內存](#calibre_link-1338)的需求 下面的章節是對以上條例更加詳細的解釋。 ## E.2.2\. 遷移到版本 9.3 對于那些想要從任何以前的版本中遷移數據的人來說,需要使用 [pg_dumpall](#calibre_link-439)或 [pg_upgrade](#calibre_link-638)轉儲/恢復。 版本9.3包含一些可能影響與以前版本兼容性的修改。觀察下列的不兼容性: ### E.2.2.1\. 服務器設置 * 重命名`replication_timeout`為 [`wal_sender_timeout`](#calibre_link-2268) (Amit Kapila) 這些設置控制[WAL](#calibre_link-79)發送超時。 * 要求超級用戶權限設置[`commit_delay`](#calibre_link-1621), 因為它現在可以潛在的延遲其他會話 (Simon Riggs) * 允許內存中排序使用它們分配的所有內存 (Jeff Janes) 基于以前的行為設置[`work_mem`](#calibre_link-1374) 的用戶可能需要重新訪問該設置。 ### E.2.2.2\. 其他 * 如果一個元組在被更新或刪除之前早已被一個`BEFORE`觸發器更新或刪除了, 則拋出一個錯誤 (Kevin Grittner) 以前,最初的更新默默的跳過了,導致邏輯上的不一致性,因為觸發器可能基于計劃更新傳播數據到其他地方。 現在拋出了一個錯誤,阻止不一致的結果被提交。如果這個改變影響了你的應用, 那么最好的解決方法通常是移動數據傳播動作到一個`AFTER`觸發器。 如果一個查詢中調用了一個不穩定的函數修改了稍后該查詢本身修改的行,也會拋出這個錯誤。 這樣的情況以前導致默默的跳過更新。 * 修改多行字段[`ON UPDATE SET NULL/SET DEFAULT`](#calibre_link-7) 外鍵動作,影響該約束的所有字段,不只是那些在`UPDATE`中修改了的字段 (Tom Lane) 以前,我們將只設置這些對應于`UPDATE`修改過的被引用字段的引用字段。 這是SQL-92要求的,但是最近的SQL標準版本指定了新的行為。 * 如果[`search_path`](#calibre_link-738)改變了, 則強制緩存的計劃重新規劃 (Tom Lane) 以前,如果查詢用一個新的`search_path`設置重新執行, 那么早已在當前的會話中生成的緩存的計劃是不會重做的,導致意外的行為。 * 修復[`to_number()`](#calibre_link-2204), 正確的處理一個句點用作分隔符 (Tom Lane) 以前,一個句點被看做是一個小數點,即使本地說它不是并且使用`D` 格式代碼聲明本地特定的小數點的使用。如果也使用了`FM`格式, 那么這會導致錯誤的答案。 * 修復`STRICT`非設置返回函數,讓在它們的參數中的設置返回函數正確的返回空行 (Tom Lane) 傳遞到嚴格函數的空值應該導致一個空的輸出,但是相反的,輸出行徹底被壓制。 * 在一個連續的流中存儲[WAL](#calibre_link-79), 而不是每4GB就跳過最后16MB段 (Heikki Linnakangas) 以前,由于這個跳過,以`FF`結束名字的WAL文件是不使用的。 如果你有WAL備份或恢復腳本考慮到這種行為,將需要調整它們。 * 在[`pg_constraint.confmatchtype`](#calibre_link-579)中, 存儲缺省的外鍵匹配類型(non-`FULL`, non-`PARTIAL`) 為`s`,代表"簡單的" (Tom Lane) 以前這種情況通過`u`表示,代表"未指定"。 ## E.2.3\. 修改列表 下面你將找到PostgreSQL 9.3和以前的主版本之間詳細的變化。 ### E.2.3.1\. 服務器 #### E.2.3.1.1\. 鎖定 * 阻止非鍵字段行更新阻塞外鍵檢查 (álvaro Herrera, Noah Misch, Andres Freund, Alexander Shulgin, Marti Raudsepp, Alexander Shulgin) 這個修改提高了并發性,并減少了更新的表包含在外鍵約束中時死鎖的可能性。 `UPDATE`并不改變任何現在在行上采用新的`NO KEY UPDATE` 鎖模式的外鍵中引用的字段,雖然外鍵約束使用新的`KEY SHARE`鎖模式, 這與`NO KEY UPDATE`并不沖突。所以這里沒有阻塞,除非修改了外鍵字段。 * 添加配置變量[`lock_timeout`](#calibre_link-2269), 允許限制一個會話將等待多長時間去請求任何一個鎖 (Zoltán B?sz?rményi) #### E.2.3.1.2\. 索引 * 為范圍數據類型添加[SP-GiST](#calibre_link-1810)支持 (Alexander Korotkov) * 允許不記錄[GiST](#calibre_link-1003)索引 (Jeevan Chalke) * 提高GiST索引插入的性能,通過有多個同樣好的選擇時隨機化選擇頁面來實現 (Heikki Linnakangas) * 改善哈希索引操作的并發性 (Robert Haas) #### E.2.3.1.3\. 優化程序 * 為[范圍類型](#calibre_link-1153)收集并使用上界、下界和范圍長度的直方圖 (Alexander Korotkov) * 為索引訪問改善優化器的成本估算 (Tom Lane) * 為通過散列聚集實現`DISTINCT`改善優化器的哈希表尺寸估計 (Tom Lane) * 抑制非操作符結果并限制規劃節點 (Kyotaro Horiguchi, Amit Kapila, Tom Lane) * 當規劃器只關心總的開銷時,通過沒有保持規劃在基本的便宜啟動成本上減少規劃器開銷 (Tom Lane) #### E.2.3.1.4\. 一般性能 * 添加[`COPY FREEZE`](#calibre_link-777)選項, 避免稍后標記元組為凍結的開銷 (Simon Riggs, Jeff Davis) * 改善[`NUMERIC`](#calibre_link-695)計算的性能 (Kyotaro Horiguchi) * 改善等待[`commit_delay`](#calibre_link-1621) 的會話的同步 (Peter Geoghegan) 這大大的提高了`commit_delay`的有效性。 * 通過不要截斷還未接觸任何臨時表的事務中的臨時表,提高[`CREATE TEMPORARY TABLE ... ON COMMIT DELETE ROWS`](#calibre_link-7)選項的性能 (Heikki Linnakangas) * 讓清理在刪除過期的元組之后重新檢查可見性 (Pavan Deolasee) 這提高了頁面被標記為所有可見的可能性。 * 添加每資源所有者鎖緩存 (Jeff Janes) 這加速了持有多個鎖的多語句事務中語句完成時的鎖統計; 這對于pg_dump尤其有用。 * 避免在一個創建新的關系的事務提交時掃描整個關系緩存 (Jeff Janes) 這加速了在連續的小事務中創建許多表的會話,比如運行一個pg_restore 。 * 提高刪除許多關系的事務的性能 (Tomas Vondra) #### E.2.3.1.5\. 監視 * 添加可選的能力到[checksum](#calibre_link-1547) 數據頁并報告損壞 (Simon Riggs, Jeff Davis, Greg Smith, Ants Aasma) checksum選項可以在[initdb](#calibre_link-542)期間設置。 * 分離[統計收集器](#calibre_link-1288)的數據文件到獨立的全局和每數據庫文件 (Tomas Vondra) 這減少了統計數據追蹤的I/O需求。 * 修復統計收集器,以便在系統時鐘倒退的情況下正確的操作 (Tom Lane) 以前,統計收集器會停止,直到時間再次到達最后記錄的時間。 * 當我們想要在這里停止記錄時,發出一個告知性的消息到主進程標準錯誤 (Tom Lane) 這會幫助用戶減少在主進程啟動期間只記錄標準錯誤的常見配置中,在哪里查看日志輸出的混淆。 #### E.2.3.1.6\. 認證 * 當發生認證失敗時,記錄相關的[`pg_hba.conf`](#calibre_link-656)行, 簡化意外失敗的調試 (Magnus Hagander) * 改進[LDAP](#calibre_link-1052)錯誤報告和文檔 (Peter Eisentraut) * 在URL格式中添加對指定LDAP認證參數的支持,每RFC 4516 (Peter Eisentraut) * 修改[`ssl_ciphers`](#calibre_link-1386)參數, 以`DEFAULT`啟動,而不是以`ALL`啟動, 然后刪除不安全的密碼 (Magnus Hagander) 這會產生一個更合適的SSL密碼設置。 * 分析并加載[`pg_ident.conf`](#calibre_link-1258)一次, 而不是在每個連接中 (Amit Kapila) 這類似于`pg_hba.conf`的處理。 #### E.2.3.1.7\. 服務器設置 * 大大的減少了System V [共享內存](#calibre_link-1338)的需求 (Robert Haas) 在類Unix的系統上,`mmap()`現在用于大多數PostgreSQL 的共享內存。對于大多數用戶,這將消除任何為共享內存調整內核參數的需要。 * 允許主進程監聽多個Unix域套接字 (Honza Horák) 配置參數`unix_socket_directory`被 [`unix_socket_directories`](#calibre_link-655) 取代,它接受一個路徑列表。 * 允許配置文件的路徑被處理 (Magnus Hagander, Greg Smith, Selena Deckelmann) 這樣一個路徑在服務器配置文件中用 [`include_dir`](#calibre_link-1405)指定。 * 為[`shared_buffers`](#calibre_link-1370) 增加最大[initdb](#calibre_link-542)配置值到128MB (Robert Haas) 這是initdb打算在[`postgresql.conf`](#calibre_link-1402) 中設置的最大值;以前的最大值是32MB。 * 在主進程退出時,刪除[外部PID文件](#calibre_link-2270), 如果有 (Peter Eisentraut) ### E.2.3.2\. 復制和恢復 * 允許流復制備用[遵循時間線切換](#calibre_link-1024) (Heikki Linnakangas) 這允許流備用服務器從一個新晉升為主要地位的伺服接受WAL數據。以前, 其他備用會請求重新同步以開始跟隨新的主機。 * 添加SQL函數[`pg_is_in_backup()`](#calibre_link-1794) 和[`pg_backup_start_time()`](#calibre_link-1794) (Gilles Darold) 這些函數報告基礎備份的狀態。 * 提高[`synchronous_commit`](#calibre_link-1216) 禁用時流日志切換的性能 (Andres Freund) * 允許更快的晉升流備用為主服務器 (Simon Riggs, Kyotaro Horiguchi) * 添加最后檢查點的重做位置到 [pg_controldata](#calibre_link-541) 的輸出 (Fujii Masao) 這個信息對于確定恢復需要哪個WAL文件是有幫助的。 * 允許像[pg_receivexlog](#calibre_link-464) 這樣的工具用不同的架構在計算機上運行 (Heikki Linnakangas) WAL文件仍然只能以原先相同的架構在服務器上重放;但是他們現在可以以任意架構在機器上傳輸和存儲, 因為流復制協議現在是與機器無關的。 * 讓[pg_basebackup](#calibre_link-471) `--write-recovery-conf`輸出一個最小的`recovery.conf`文件 (Zoltán B?sz?rményi, Magnus Hagander) 這簡化了設置一個備用服務器。 * 允許[pg_receivexlog](#calibre_link-464) 和[pg_basebackup](#calibre_link-471) `--xlog-method`處理流時間線切換 (Heikki Linnakangas) * 添加[`wal_receiver_timeout`](#calibre_link-2271) 參數控制WAL接收器的超時 (Amit Kapila) 這允許更快速的檢測連接失敗。 * 改變[WAL](#calibre_link-79)記錄格式, 以允許跨頁面分離記錄頭 (Heikki Linnakangas) 新的格式更緊湊,并且書寫更有效。 ### E.2.3.3\. 查詢 * 為`FROM`子句子查詢和函數調用實現SQL標準的 [`LATERAL`](#calibre_link-970)選項 (Tom Lane) 這個特性允許`FROM`中的子查詢和函數從`FROM`子句中的其他表中引用字段。 `LATERAL`關鍵字對于函數來說是可選的。 * 添加對輸送[`COPY`](#calibre_link-777)和 [psql](#calibre_link-23) `\copy` 數據到/從一個外部程序的支持 (Etsuro Fujita) * 允許規則中的一個多行[`VALUES`](#calibre_link-106) 子句引用`OLD`/`NEW` (Tom Lane) ### E.2.3.4\. 對象操作 * 添加對[事件觸發器](#calibre_link-580)的支持 (Dimitri Fontaine, Robert Haas, álvaro Herrera) 這允許DDL命令運行時,以啟用事件的語言書寫的服務器端的函數被調用。 * 允許[外部數據封裝器](#calibre_link-2) 支持在外部表上寫入(插入/更新/刪除) (KaiGai Kohei) * 添加[`CREATE SCHEMA ... IF NOT EXISTS`](#calibre_link-41) 子句 (Fabrízio de Royes Mello) * 讓[`REASSIGN OWNED`](#calibre_link-618) 也修改共享對象的所有權 (álvaro Herrera) * 如果給定的初始值字符串對于事務數據類型來說不是有效的輸入, 那么讓[`CREATE AGGREGATE`](#calibre_link-537) 投訴 (Tom Lane) * 抑制[`CREATE TABLE`](#calibre_link-7) 關于隱式索引和序列創建的消息 (Robert Haas) 這些消息現在在`DEBUG1`冗長模式中出現,所以它們缺省將不顯示。 * 當一個不存在的模式在表名中指定時,允許 [`DROP TABLE IF EXISTS`](#calibre_link-98)成功 (Bruce Momjian) 以前,如果該模式不存在,它拋出一個錯誤。 * 提供帶有[約束違反細節](#calibre_link-2272) 的客戶端作為單獨的字段 (Pavel Stehule) 這允許客戶端檢索表、字段、數據類型或約束名錯誤細節。以前這樣的信息必須從錯誤字符串中提取。 客戶端庫支持需要訪問這些字段。 #### E.2.3.4.1\. `ALTER` * 在[`ALTER TYPE ... ADD VALUE`](#calibre_link-649) 中支持`IF NOT EXISTS`選項 (Andrew Dunstan) 這對于有條件的添加值到枚舉類型是有用的。 * 添加[`ALTER ROLE ALL SET`](#calibre_link-17) 為所有用戶建立設置 (Peter Eisentraut) 這允許設置應用到所有數據庫中的所有用戶。 [`ALTER DATABASE SET`](#calibre_link-1431) 早已允許在單個數據庫中為所有用戶添加設置。`postgresql.conf` 也有類似作用。 * 為[`ALTER RULE ... RENAME`](#calibre_link-474) 添加支持 (Ali Dar) #### E.2.3.4.2\. [`VIEWs`](#calibre_link-850) * 添加[物化視圖](#calibre_link-109) (Kevin Grittner) 不像普通視圖,基礎表是讀取每個訪問的,物化視圖在創建或刷新時創建物理表。 訪問物化視圖然后從它的物理表中讀取。 現在還沒有任何增量刷新物化視圖或通過基礎表訪問自動訪問它們的便利。 * 讓簡單視圖[自動可更新](#calibre_link-1820) (Dean Rasheed) 從一個基礎表中引用一些或所有字段的簡單視圖現在缺省是可更新的。 更復雜的視圖可以使用[`INSTEAD OF`](#calibre_link-459) 觸發器或[`INSTEAD`](#calibre_link-12)規則使其可更新。 * 添加[`CREATE RECURSIVE VIEW`](#calibre_link-473)語法 (Peter Eisentraut) 內部的,這些翻譯為`CREATE VIEW ... WITH RECURSIVE ...`。 * 改善視圖/規則打印代碼,以處理引用的表重命名或字段重命名、添加或刪除了的情況 (Tom Lane) 表和字段重命名會產生的情況是:如果我們只是替代新的名稱為一個規則或視圖的原始文本, 那么結果是有歧義的。這個修改修復了規則轉儲代碼,當需要保存原來的語義時, 插入手動制作的表和字段別名。 ### E.2.3.5\. 數據類型 * 增加[大對象](#calibre_link-1568)的最大尺寸從2GB到4TB (Nozomi Anzai, Yugo Nagata) 這個修改包括添加64位大對象訪問功能,在服務器中和libpq中。 * 允許文本的[時區名稱](#calibre_link-792),比如, "America/Chicago",在ISO格式的`timestamptz` 輸入的"T"字段中 (Bruce Momjian) #### E.2.3.5.1\. [`JSON`](#calibre_link-1753) * 添加[操作符和函數](#calibre_link-1760)從`JSON` 值中提取元素 (Andrew Dunstan) * 允許`JSON`值被[轉換為記錄](#calibre_link-2230) (Andrew Dunstan) * 添加[函數](#calibre_link-2230)轉換標量、記錄和`hstore` 值為`JSON` (Andrew Dunstan) ### E.2.3.6\. 函數 * 添加[`array_remove()`](#calibre_link-2233) 和[`array_replace()`](#calibre_link-2233) 函數 (Marco Nenciarini, Gabriele Bartolini) * 允許[`concat()`](#calibre_link-2069) 和[`format()`](#calibre_link-1813) 正確的擴展`VARIADIC`標簽的參數 (Pavel Stehule) * 改進[`format()`](#calibre_link-1813), 提供字段寬度和左/右對齊選項 (Pavel Stehule) * 讓[`to_char()`](#calibre_link-2204), [`to_date()`](#calibre_link-2204), 和[`to_timestamp()`](#calibre_link-2204) 正確的處理負的世紀值(BC) (Bruce Momjian) 以前,該行為不是錯誤就是與正的/AD處理不一致,比如, 格式標記"IYYY-IW-DY"。 * 讓[`to_date()`](#calibre_link-2204) 和[`to_timestamp()`](#calibre_link-2204) 在混合ISO和Gregorian周/天命名時返回正確的結果 (Bruce Momjian) * 在每個`SELECT`目標列表項和`FROM`項之后, 讓[`pg_get_viewdef()`](#calibre_link-2243) 缺省開始一個新行 (Marko Tiikkaja) 這減少了視圖打印中的線段長度,例如在[pg_dump](#calibre_link-437) 的輸出中。 * 修復`map_sql_value_to_xml_value()`,以與基礎類型相同的打印方式, 打印域類型的值 (Pavel Stehule) 對于某些內建類型,比如`boolean`,有特殊的格式規則; 這些規則現在也應用到這些類型上的域。 ### E.2.3.7\. 服務器端的語言 #### E.2.3.7.1\. [PL/pgSQL](#calibre_link-857)服務器端語言 * 允許PL/pgSQL使用帶有復合類型表達式的`RETURN` (Asif Rehman) 以前,在一個返回復合類型的函數中,`RETURN`只能引用一個復合類型的變量。 * 允許PL/pgSQL作為單獨的字段存取[約束違反細節](#calibre_link-2273) (Pavel Stehule) * 允許PL/pgSQL訪問[`COPY`](#calibre_link-777) 處理的行數 (Pavel Stehule) PL/pgSQL函數中執行的`COPY`現在更新通過 [`GET DIAGNOSTICS x = ROW_COUNT`](#calibre_link-1575) 恢復的值。 * 允許未保留的關鍵字用作PL/pgSQL中的標識符 (Tom Lane) 在PL/pgSQL語法中的某些地方,關鍵字必須加引號用作標識符,即使它們名義上是未保留的。 #### E.2.3.7.2\. [PL/Python](#calibre_link-882)服務器端語言 * 添加PL/Python結果對象字符串處理器 (Peter Eisentraut) 這允許`plpy.debug(rv)`輸出合理的東西。 * 讓PL/Python轉化OID值為一個適當的Python數值類型 (Peter Eisentraut) * 處理和內部SPI錯誤一樣明確發生(用PL/Python的`RAISE`) 的[SPI](#calibre_link-893)錯誤 (Oskari Saarenmaa and Jan Urbanski) ### E.2.3.8\. 服務器編程接口([SPI](#calibre_link-893)) * 阻止SPI元組表在子事務退出期間泄露 (Tom Lane) 在任何失敗的子事務的結尾,內核SPI代碼現在釋放任何在該子事務期間創建的SPI元組表。 這避免了對使用SPI代碼的需要,保持在錯誤恢復代碼中追蹤這樣的元組表和手動釋放它們。 未能這樣做會在PL/pgSQL和可能其他SPI客戶端中導致一些事物壽命內存泄露問題。 [`SPI_freetuptable()`](#calibre_link-1744) 現在保護自己免受多次釋放請求,所以任何現有代碼需要小心清理, 不應該被這個修改破壞。 * 允許SPI函數訪問被[`COPY`](#calibre_link-777) 處理的行數 (Pavel Stehule) ### E.2.3.9\. 客戶端應用 * 添加命令行工具[pg_isready](#calibre_link-456), 檢查服務器是否準備好了接受連接 (Phil Sorber) * 為[pg_restore](#calibre_link-440), [clusterdb](#calibre_link-1612), [reindexdb](#calibre_link-1029), 和[vacuumdb](#calibre_link-754) 支持多個`--table`參數 (Josh Kupershmidt) 這類似于[pg_dump](#calibre_link-437)的`--table` 選項的工作方式。 * 添加`--dbname`選項到 [pg_dumpall](#calibre_link-439), [pg_basebackup](#calibre_link-471), 和[pg_receivexlog](#calibre_link-464), 允許指定一個連接字符串 (Amit Kapila) * 添加libpq函數[`PQconninfo()`](#calibre_link-2274), 返回連接信息 (Zoltán B?sz?rményi, Magnus Hagander) #### E.2.3.9.1\. [psql](#calibre_link-23) * 調整函數開銷設置,這樣psql選項卡實現和模式搜索更有效 (Tom Lane) * 提高psql的選項卡實現覆蓋(Jeff Janes, Dean Rasheed, Peter Eisentraut, Magnus Hagander) * 允許psql `--single-transaction` 模式在從標準輸入中讀取時工作 (Fabien Coelho, Robert Haas) 以前這個選項只在從一個文件中讀取時工作。 * 當連接到一個老的服務器時,刪除psql警告 (Peter Eisentraut) 當連接到一個比psql的主版本更新的服務器時,仍然發出一個警告。 ##### E.2.3.9.1.1\. [反斜杠命令](#calibre_link-1082) * 添加psql命令`\watch`,重復的執行一個SQL命令 (Will Leinweber) * 添加psql命令`\gset`, 在psql變量中存儲查詢結果 (Pavel Stehule) * 添加SSL信息到psql的`\conninfo`命令 (Alastair Turner) * 添加"Security"字段到psql的`\df+`輸出 (Jon Erdman) * 允許psql命令`\l`接受一個數據庫名字模式 (Peter Eisentraut) * 在psql中,如果沒有活動的連接,則不允許`\connect` 使用缺省 (Bruce Momjian) 如果服務器崩潰可能會出現這種情況。 * 在用psql的`\g` `_file_` SQL命令執行失敗之后正確的重置狀態 (Tom Lane) 以前,來自隨后的SQL命令的輸出會意外的繼續進行同一個文件。 ##### E.2.3.9.1.2\. 輸出 * 添加一個`latex-longtable`輸出格式到psql (Bruce Momjian) 這個格式允許表跨越多個頁面。 * 添加`border=3`輸出模式到psql `latex`格式 (Bruce Momjian) * 在psql的僅元組和擴展輸出模式中,不再為零行發出"(No rows)" (Peter Eisentraut) * 在psql的未對齊、擴展輸出模式中,不再為零行輸出一個空行 (Peter Eisentraut) #### E.2.3.9.2\. [pg_dump](#calibre_link-437) * 添加pg_dump `--jobs`選項并行轉儲表 (Joachim Wieland) * 讓pg_dump輸出函數有一個更加可預見的順序 (Joel Jacobson) * 修復pg_dump發出的tar文件,與POSIX一致 (Brian Weaver, Tom Lane) * 添加`--dbname`選項到pg_dump, 與其他客戶端命令一致 (Heikki Linnakangas) 最后提供的數據庫名可能沒有標志。 #### E.2.3.9.3\. [initdb](#calibre_link-542) * 讓initdb同步最近創建的數據目錄 (Jeff Davis) 這確保了在initdb之后很快系統崩潰情況下的數據完整性。 可以使用`--nosync`禁用此功能。 * 添加initdb `--sync-only`選項同步數據目錄到持久存儲 (Bruce Momjian) 這是通過[pg_upgrade](#calibre_link-638)使用的。 * 在文件系統的掛載點上放置數據目錄時,讓initdb發出一個警告 (Bruce Momjian) ### E.2.3.10\. 源代碼 * 添加基礎設施以允許插件[后端工作進程](#calibre_link-898) (álvaro Herrera) * 創建一個集中的超時API (Zoltán B?sz?rményi) * 創建libpgcommon并刪除這里的`pg_malloc()`和其他函數 (álvaro Herrera, Andres Freund) 這允許libpgport只用于可移植性相關的代碼。 * 為嵌入在較大結構內的列表連接添加支持 (Andres Freund) * 為所有信號使用`SA_RESTART`,包括`SIGALRM` (Tom Lane) * 確保在翻譯`errcontext()`消息時使用了正確的文本域 (Heikki Linnakangas) * 標準化命名客戶端側的內存分配函數 (Tom Lane) * 如果某些編譯時常量條件不符合,那么為"靜態斷言" 提供支持將會在編譯時失敗 (Andres Freund, Tom Lane) * 在客戶端側代碼中支持`Assert()` (Andrew Dunstan) * 添加修飾以通知C編譯器一些`ereport()`和`elog()`調用不返回 (Peter Eisentraut, Andres Freund, Tom Lane, Heikki Linnakangas) * 允許選項通過[`PG_REGRESS_DIFF_OPTS`](#calibre_link-1300) 傳遞到回歸測試輸出比較工具中 (Peter Eisentraut) * 為[`CREATE INDEX CONCURRENTLY`](#calibre_link-83) 添加隔離測試 (Abhijit Menon-Sen) * 刪除類型定義`int2`/`int4`,因為他們更好的表現為 `int16`/`int32` (Peter Eisentraut) * 修復Mac OS X上的[install-strip](#calibre_link-2275) (Peter Eisentraut) * 刪除[configure](#calibre_link-1088)標志`--disable-shared`, 因為不再支持它了 (Bruce Momjian) * 在Perl中重寫pgindent (Andrew Dunstan) * 提供Emacs宏設置Perl格式匹配PostgreSQL的perltidy設置 (Peter Eisentraut) * 運行工具檢查關鍵字列表,查看何時后端語法發生了改變 (Tom Lane) * 改變`UESCAPE` lex的方式,大大的減少了詞法分析程序表的大小 (Heikki Linnakangas) * 集中flex和bison make規則 (Peter Eisentraut) 這對于pgxs作者是有用的。 * 修改許多內部后端函數,返回對象`OID`而不是空 (Dimitri Fontaine) 這對于事件觸發器是有用的。 * 為事務回調構造pre-commit/pre-prepare/pre-subcommit事件 (Tom Lane) 使用事務回調的可加載模塊可能需要修改,以處理這些新的事件類型。 * 添加函數[`pg_identify_object()`](#calibre_link-2243), 生產一個機器可讀的數據庫對象的描述 (álvaro Herrera) * 添加在`ALTER`對象之后的服務器掛鉤 (KaiGai Kohei) * 實現一個通用二進制堆并將它用于合并附加操作 (Abhijit Menon-Sen) * 提供一個工具在更新`src/timezone/data`文件時,幫助檢測時區縮寫改變 (Tom Lane) * 為libpq和ecpg庫添加pkg-config支持 (Peter Eisentraut) * 刪除`src/tool/backend`,因為該內容在PostgreSQL wiki上 (Bruce Momjian) * 分離[WAL](#calibre_link-79)讀取作為一個獨立的設施 (Heikki Linnakangas, Andres Freund) * 使用64位整數表示[WAL](#calibre_link-79)位置(`XLogRecPtr`), 替代兩個32位的整數 (Heikki Linnakangas) 通常,需要讀取WAL格式的工具將需要調整。 * 允許[PL/Python](#calibre_link-882)支持平臺特定的包含路徑 (Peter Eisentraut) * 允許OS X上的[PL/Python](#calibre_link-882) 建立Python的定制版本 (Peter Eisentraut) ### E.2.3.11\. 附加的模塊 * 添加一個[Postgres外部數據封裝器](#calibre_link-65) 貢獻模塊,以允許訪問其他Postgres服務器 (Shigeru Hanada) 這個外部數據封裝器支持寫。 * 添加[pg_xlogdump](#calibre_link-1755)貢獻程序 (Andres Freund) * 添加對在[pg_trgm](#calibre_link-396)中索引正則表達式搜索的支持 (Alexander Korotkov) * 改善[pg_trgm](#calibre_link-396)對多字節字符的處理 (Tom Lane) 在一個沒有wcstombs()或towlower()庫函數的平臺上,這會導致pg_trgm 索引內容中非ASCII數據的不兼容的改變。在這樣的情況下,`REINDEX` 這些索引以確保正確的搜索結果。 * 添加一個[pgstattuple](#calibre_link-395)函數,報告GIN 索引等待插入的列表的大小 (Fujii Masao) * 讓[oid2name](#calibre_link-630), [pgbench](#calibre_link-629), 和[vacuumlo](#calibre_link-631)設置 `fallback_application_name` (Amit Kapila) * 改善[pg_test_timing](#calibre_link-1203)的輸出 (Bruce Momjian) * 改善[pg_test_fsync](#calibre_link-1619) 的輸出 (Peter Geoghegan) * 創建一個專用的外部數據封裝器,帶有它自己的選項驗證器函數, [dblink](#calibre_link-63) (Shigeru Hanada) 當使用這個FDW定義一個dblink連接的目標時,取代使用連接選項的硬連線列表, 咨詢底層的libpq庫查看支持哪個連接選項。 #### E.2.3.11.1\. [pg_upgrade](#calibre_link-638) * 允許pg_upgrade并行轉儲和恢復 (Bruce Momjian, Andrew Dunstan) 這允許數據庫的并行模式轉儲/恢復,也允許每個表空間并行拷貝/連接數據文件。 使用`--jobs`選項指定并行的級別。 * 讓pg_upgrade在當前目錄中創建Unix域套接字 (Bruce Momjian, Tom Lane) 這減少了在升級期間某個人意外連接的可能性。 * 讓pg_upgrade `--check`模式正確的檢測非缺省套接字目錄的位置 (Bruce Momjian, Tom Lane) * 為擁有許多表的數據庫提高pg_upgrade的性能 (Bruce Momjian) * 通過顯示執行的命令改進pg_upgrade的日志 (álvaro Herrera) * 改進拷貝/連接期間pg_upgrade的狀態顯示 (Bruce Momjian) #### E.2.3.11.2\. [pgbench](#calibre_link-629) * 添加`--foreign-keys`選項到pgbench (Jeff Janes) 這添加了外鍵約束到pgbench創建的標準表,用于外鍵性能測試。 * 允許pgbench集合性能統計和每`--aggregate-interval` 秒產生輸出 (Tomas Vondra) * 添加pgbench `--sampling-rate`選項, 控制事務日志的百分比 (Tomas Vondra) * 減少并改進pgbench的初始化模式的狀態消息輸出 (Robert Haas, Peter Eisentraut) * 添加pgbench `-q`模式,每5秒打印一行輸出 (Tomas Vondra) * 在初始化期間輸出pgbench經過和預估的剩余時間 (Tomas Vondra) * 允許pgbench使用更大的比例系數,當請求的比例系數超過20000時, 改變相關的字段從`integer`到`bigint` (Greg Smith) ### E.2.3.12\. 文檔 * 允許創建EPUB格式文檔 (Peter Eisentraut) * 更新FreeBSD內核配置文檔 (Brad Davis) * 改進[`WINDOW`函數](#calibre_link-1330)文檔 (Bruce Momjian, Florian Pflug) * 添加[使用說明](#calibre_link-420), 在Mac OS X上建立文檔工具鏈 (Peter Eisentraut) * 改進[`commit_delay`](#calibre_link-1621) 文檔 (Peter Geoghegan)
                  <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>

                              哎呀哎呀视频在线观看