萬聖節快樂!
pg_statement_rollback v1.3,一個添加伺服器端事務並在語句級別回滾的擴展,已發布。
https://archives.postgresql.org/pgsql-jobs/2021-10/
Planet PostgreSQL: https://planet.postgresql.org/
PostgreSQL 每週新聞由 David Fetter 本週為您帶來
請在太平洋標準時間/太平洋夏令時間 (PST8PDT) 星期日下午 3:00 前將新聞和公告提交至 david@fetter.org。
Michaël Paquier 推送
添加複製命令 READ_REPLICATION_SLOT。 目前該命令支援實體槽,並傳回槽的類型、其 restart_lsn 及其 restart_tli。 這對於即將推出的與 pg_receivewal 相關的補丁程式很有用,允許該工具從槽的位置串流,而不是後端刷新的最後一個 WAL 位置(由 IDENTIFY_SYSTEM 報告),如果在封存目錄中發現為空,這在切換到使用相同槽的不同封存位置以避免 WAL 區段封存中的漏洞的情況下將是一個優勢。 作者:Ronan Dunklau 審閱者:Kyotaro Horiguchi, Michael Paquier, Bharath Rupireddy 討論:https://postgr.es/m/18708360.4lzOvYHigE@aivenronan https://git.postgresql.org/pg/commitdiff/b4ada4e19fd7bedb433e46516ccd0ca4213d2719
允許 pg_receivewal 從槽的 restart LSN 串流。 在此補丁程式之前,執行 pg_receivewal 時,如果在本機目錄(WAL 區段寫入的位置)中找到任何內容,串流起點將是封存的目前位置,如果沒有封存,pg_receivewal 將回復到目前的 WAL 刷新位置,如 IDENTIFY_SYSTEM 命令的結果所示。 如果由於某種原因 pg_receivewal 中的 WAL 檔案被移動,最好嘗試從我們離開的地方重新啟動,這是複製槽的 restart_lsn,而不是直接跳到目前的刷新位置,以避免 WAL 備份中的漏洞。 此提交變更 pg_receivewal 以使用以下方法序列來決定啟動串流 LSN: - 掃描本機封存。 - 使用槽的 restart_lsn,如果後端支援且定義了槽。 - 回復到由 IDENTIFY_SYSTEM 報告的目前刷新 LSN。 為了與舊版伺服器版本保持相容性,我們僅在後端版本至少為 15 時才嘗試使用 READ_REPLICATION_SLOT,如果命令不受支援,則回復到從目前刷新 LSN 串流的舊行為。 新增了一些 TAP 測試以涵蓋此功能。 作者:Ronan Dunklau 審閱者:Kyotaro Horiguchi, Michael Paquier, Bharath Rupireddy 討論:https://postgr.es/m/18708360.4lzOvYHigE@aivenronan https://git.postgresql.org/pg/commitdiff/f61e1dd2cee6b1a1da75c2bb0ca3bc72f18748c1
修正在 READ_REPLICATION_SLOT 的 TAP 測試中過於寬鬆的 regex 模式。 當槽不存在時,檢查 NULL 輸出的情況過於寬鬆,因為它通過了查詢產生的任何輸出。 這修正了比對模式,使其成為應有的模式,僅比對 "||"。 b4ada4e 中的疏忽。 https://git.postgresql.org/pg/commitdiff/0db343dc13bc8657976c39ddbf7e0c7db8b2efff
doc:修復 pg_receivewal 頁面中的文法錯誤。 由 f61e1dd 引入。 作者:Kyotaro Horiguchi 討論:https://postgr.es/m/20211026.112304.1962954080884317968.horikyota.ntt@gmail.com https://git.postgresql.org/pg/commitdiff/8af09daf5629e9b85f37cc23983819b8ccd11b43
為從範本資料庫複製共用依賴項添加測試。 正如 98ec35b 所證明的,代碼的這個區域從未有任何覆蓋範圍。 此提交添加了一個新的 TAP 測試,其中包含一個範本資料庫,該資料庫包括複製到新資料庫的一小組共用依賴項。 該測試添加到 createdb 中,我們從未在那裡測試過 -T 是否產生帶有 TEMPLATE 的查詢。 審閱者:Tom Lane 討論:https://postgr.es/m/YXDTl+PfSnqmbbkE@paquier.xyz https://git.postgresql.org/pg/commitdiff/70bfc5ae537c8bfeed4849b7d9f814de89a155fe
doc:修復 sepgsql 頁面中指向 SELinux 使用者指南的連結。 報告者:Anton Voloshin 討論:https://postgr.es/m/15a86d4e-a237-1acd-18a2-fd69730f1ab9@postgrespro.ru Backpatch-through:10 https://git.postgresql.org/pg/commitdiff/cc1853b30048307d93f8aa30f4d64f88b527f04d
為 archive_cleanup_command 和 recovery_end_command 添加 TAP 測試。 這增加了檢查兩個命令的執行的測試。 恢復測試 002_archiving.pl 非常適合這一點,因為升級已經在那裡觸發了兩次,即使這些命令中的任何一個失敗,它們也不會影響恢復或升級。 使用 "echo" 命令產生的檔案檢查命令是否成功,該檔案應該能夠在所有 buildfarm 環境中工作,甚至包括 Msys(但我們很快就會知道)。 命令失敗使用指向不存在路徑的 "echo" 命令進行測試,掃描後端日誌以確保失敗發生。 兩者都依賴於後端從資料夾的根目錄觸發命令,使其邏輯更加穩健。 感謝 Neha Sharma 在 Windows 上進行的額外測試。 作者:Amul Sul、Michael Paquier 審閱者:Andres Freund、Euler Taveira 討論:https://postgr.es/m/CAAJ_b95R_c4T5moq30qsybSU=eDzDHm=4SPiAWaiMWc2OW7=1Q@mail.gmail.com https://git.postgresql.org/pg/commitdiff/46dea2419ee7895a4eb3d048317682e6f18a17e1
加速 pg_receivewal 的 TAP 測試。 此提交使用一些簡單的想法來減少 pg_receivewal 寫入的資料量,從而將這些測試的速度提高了 25~30%: - 使用 1MB 的區段大小。 雖然減少了 pg_receivewal 為新區段歸零的資料量,但這提高了具有非預設區段大小的代碼覆蓋率。 - 在涉及槽的 restart_lsn 的最後一個測試中,產生一個檢查點以推進 redo LSN 和由建立的槽保留的 WAL,從而減少了需要封存的區段數量。 這佔據了大部分增益。 - 最小化插入到虛擬表中的資料量。 審閱者:Ronan Dunklau 討論:https://postgr.es/m/YXqYKAdVEqmyTltK@paquier.xyz https://git.postgresql.org/pg/commitdiff/d680992af5406245f769b697fbb4e130e6220664
Heikki Linnakangas 推送
Robert Haas 推送
StartupXLOG: 在 XLogReportParameters 之後呼叫 CleanupAfterArchiveRecovery。 這樣可以更好地將相關操作組合在一起,因為我們需要在通常允許 WAL 寫入之前,以及由單個不間斷的程式碼段寫入的所有 WAL 記錄。由於 CleanupAfterArchiveRecovery() 僅 (1) 執行 recovery_end_command, (2) 移除非父 xlog 檔案, 以及 (3) 封存任何最終的部分片段,因此應該是安全的,因為所有這些都與 XLogReportParameters() 寫入的 WAL 記錄幾乎沒有關係。 Amul Sul,根據我的建議。 討論: http://postgr.es/m/CAAJ_b97fysj6sRSQEfOHj-y8Jfd5uPqOgO74qast89B4WfD+TA@mail.gmail.com https://git.postgresql.org/pg/commitdiff/a75dbf7f9ee6ff0c0e2ab4b224b04fc50c4e6577
StartupXLOG: 不要重複禁用/啟用本地 xlog 插入。 在通常允許 WAL 之前,在啟動過程中運行的所有用於寫入 WAL 記錄的程式碼現在都是連續的,因此沒有理由關閉寫入本地 WAL 的設施,然後連續三次重新打開它。 不幸的是,這需要在檢查點程式碼中進行一些小小的調整,該程式碼需要單獨啟用 WAL 寫入才能寫入檢查點記錄。 因為如果我們處於單用戶模式,該程式碼可能與 StartupXLOG() 在同一進程中運行,因此我們必須保存/恢復 LocalXLogInsertAllowed 標誌的狀態。 希望我們能夠在進一步的重構中消除這個缺陷,但無論如何它都不太糟糕。 Amul Sul,由我修改。 討論: http://postgr.es/m/CAAJ_b97fysj6sRSQEfOHj-y8Jfd5uPqOgO74qast89B4WfD+TA@mail.gmail.com https://git.postgresql.org/pg/commitdiff/18e0913a420349d373cfd8e45b91b4777501fb74
從 CreateReplicationSlot 中移除無用的程式碼。 根據註釋,我們在這裡初始化 sendTimeLineIsHistoric 和 sendTimeLine 是為了 WalSndSegmentOpen 的好處。 然而,唯一可能發生的方式是 logical_read_xlog_page 呼叫 WALRead。 並且由於 logical_read_xlog_page 在內部初始化相同的全域變數,因此我們也不需要在這裡這樣做。 這些初始化自複製槽在 commit 858ec11858a914d4c380971985709b6d6b7dd6fc 中引入以來就一直存在。 當時它們肯定也是無用的,因為當時邏輯解碼還不存在,並且物理複製在槽建立時不檢查任何 WAL。 我沒有檢查所有中間版本,但我懷疑沒有任何時間點這段程式碼做過任何有用的事情。 為了減少未來的混淆,移除該程式碼。 由於沒有功能缺陷,因此沒有向後移植。 討論: http://postgr.es/m/CA+TgmobSWzacEs+r6C-7DrOPDHoDar4i9gzxB3SCBr5qjnLmVQ@mail.gmail.com https://git.postgresql.org/pg/commitdiff/902a2c280012557b85c7e0fce3f6f0e355cb2d69
新增 enable_timeout_every() 以重複觸發相同的逾時。 當您只想觸發一次逾時時,仍然可以使用 enable_timeout_at() 和 enable_timeout_after()。 由我提供修補程式,根據 Tom Lane 的建議。 討論: http://postgr.es/m/2992585.1632938816@sss.pgh.pa.us 討論: http://postgr.es/m/CA+TgmoYqSF5sCNrgTom9r3Nh=at4WmYFD=gsV-omStZ60S0ZUQ@mail.gmail.com https://git.postgresql.org/pg/commitdiff/732e6677a667c03b1551a855e3216644b0f125ec
報告耗時長的啟動操作的進度。 用戶有時會擔心啟動伺服器時,伺服器發出一些訊息,然後長時間不再發出任何訊息。 通常,發生的情況是系統需要很長時間才能應用 WAL,或者需要很長時間才能重置未記錄的關係,或者需要很長時間才能 fsync 資料目錄,但很難判斷是哪種情況。 為了修正這個問題,新增一個新的 'log_startup_progress_interval' 設定,預設為 10 秒。 當已知可能長時間運行的操作花費的時間超過此時間時,我們將在每次此間隔過去時記錄狀態更新。 為了避免不必要的日誌喋喋不休,在待機模式下不要記錄有關 WAL 重播的任何訊息。 Nitin Jadhav 和 Robert Haas,由 Amul Sul、Bharath Rupireddy、Justin Pryzby、Michael Paquier 和 Álvaro Herrera 審閱。 討論: https://postgr.es/m/CA+TgmoaHQrgDFOBwgY16XCoMtXxsrVGFB2jNCvb7-ubuEe1MGg@mail.gmail.com 討論: https://postgr.es/m/CAMm1aWaHF7VE69572_OLQ+MgpT5RUiUDgF1x5RrtkJBLdpRj3Q@mail.gmail.com https://git.postgresql.org/pg/commitdiff/9ce346eabf350a130bba46be3f8c50ba28506969
初始化變數以安撫編譯器。 根據 Nathan Bossart。 討論: http://postgr.es/m/FECEE7FC-CB74-45A9-BB24-89FEE52A9585@amazon.com https://git.postgresql.org/pg/commitdiff/a030a0c5ccb113ccd09d0f0b82f1edb5e49ed607
在提取用於基礎備份的 WAL 時,報告具有合理 TLI 的錯誤。 之前的程式碼使用 ThisTimeLineID,這裡甚至不需要初始化它,儘管實際上通常會初始化它,因為 pg_basebackup 在呼叫 BASE_BACKUP 之前會發出 IDENTIFY_SYSTEM,並且這會作為副作用初始化 ThisTimeLineID。 但這並不是很好,不僅因為我們不應該依賴這樣的副作用,而且因為 TLI 可能在此期間發生變化。 幸運的是,我們可以方便地存取更有意義的 TLI 值,因此請改用這些值。 由於此邏輯的編碼方式,使用可能不正確的 TLI 的後果不比稍微令人困惑的錯誤訊息更嚴重,我不想在這裡冒任何風險,因此至少目前沒有向後移植。 由我提供修補程式,由 Kyotaro Horiguchi 和 Michael Paquier 審閱 討論: http://postgr.es/m/CA+TgmoZRNWGWYDX9RgTXMG6_nwSdB=PB-PPRUbvMUTGfmL2sHQ@mail.gmail.com https://git.postgresql.org/pg/commitdiff/2f5c4397c39dea49c5608ba583868e26d767fc32
修正啟動進度報告中的競爭條件。 Commit 9ce346eabf350a130bba46be3f8c50ba28506969 新增了啟動進度報告,但 begin_startup_progress_phase 存在競爭條件:前一階段的逾時可能會在我們重新排定下一階段的中斷之前觸發。 為了避免競爭,請停用逾時、清除標誌,然後重新啟用逾時。 由我提供修補程式,由 Nitin Jadhav 審閱。 討論: https://postgr.es/m/CA+TgmoYq38i6iAzfRLVxA6Cm+wMCf4WM8wC3o_a+X_JvWC8bJg@mail.gmail.com https://git.postgresql.org/pg/commitdiff/5ccceb2946d4104804f8dca67515b602f5e78cdd
Thomas Munro 推送
Daniel Gustafsson 推送了更新
確保在使用前將槽(slots)歸零。先前的編碼依賴於槽的記憶體在其他地方被歸零,雖然在這種情況下是成立的,但這不是一個保證成立的契約。顯式清除 tts_isnull 陣列,以確保槽從已知的狀態開始填寫。回溯修補到 v14,catalog multi-inserts 從該版本開始引入。審閱者:Michael Paquier michael@paquier.xyz 討論:https://postgr.es/m/CAJ7c6TP0AowkUgNL6zcAK-s5HYsVHVBRWfu69FRubPpfwZGM9A@mail.gmail.com 回溯修補到:14 https://git.postgresql.org/pg/commitdiff/e63ce9e8d6ac8dced20592c4134004640f9f5644
修復 src/test/ssl 目標的 VPATH 建置。Commit b4c4a00ea 將 sslfiles 目標的要點重構到一個獨立的 makefile 中,以便覆蓋 Makefile.global 中的設定。然而,此檔案的調用沒有包含 VPATH 建置的絕對路徑,導致 "make clean" 失敗。透過提供新 makefile 的路徑來修正此問題。報告者:Andres Freund andres@anarazel.de 討論:https://postgr.es/m/20211026174152.jjcagswnbhxu7uqz@alap3.anarazel.de https://git.postgresql.org/pg/commitdiff/349cd8c582a1e666c9c804850cf5b532b86cd1b4
修正註解中的錯字。作者:Peter Smith smithpb2250@gmail.com 討論:https://postgr.es/m/CAHut+PsN_gmKu-KfeEb9NDARoTPbs4AN4PPu=6LZXFZRJ13SEw@mail.gmail.com https://git.postgresql.org/pg/commitdiff/8af57ad81578f825ac8c46840c841833db205106
Fujii Masao 推送了更新
Jeff Davis 推送了更新
允許對 pg_log_backend_memory_contexts() 授予 GRANT 權限。移除超級使用者檢查,允許任何被授予 pg_log_backend_memory_contexts() 權限的使用者記錄任何後端的記憶體上下文。請注意,這可能允許一個有權限的非超級使用者記錄超級使用者後端的記憶體上下文,但如討論中所述,這似乎不是問題。審閱者:Nathan Bossart, Bharath Rupireddy, Michael Paquier, Kyotaro Horiguchi, Andres Freund 討論:https://postgr.es/m/e5cf6684d17c8d1ef4904ae248605ccd6da03e72.camel@j-davis.com https://git.postgresql.org/pg/commitdiff/f0b051e322d530a340e62f2ae16d99acdbcb3d05
將記憶體視圖授予 pg_read_all_stats。授予角色 pg_read_all_stats 對視圖 pg_backend_memory_contexts 和 pg_shmem_allocations 的權限。同時授予這些視圖所依賴的底層函數的權限。作者:Bharath Rupireddy bharath.rupireddyforpostgres@gmail.com 審閱者:Nathan Bossart bossartn@amazon.com 討論:https://postgr.es/m/CALj2ACWAZo3Ar_EVsn2Zf9irG+hYK3cmh1KWhZS_Od45nd01RA@mail.gmail.com https://git.postgresql.org/pg/commitdiff/77ea4f94393eb4a16df32b573bf053bedaef2e09
Amit Kapila 推送了更新
允許發布 schema 中的 table。Create/Alter Publication 中的一個新選項 "FOR ALL TABLES IN SCHEMA" 允許指定一個或多個 schema,Publisher 將選擇這些 schema 中的 table,以便將資料發送到 Subscriber。新的語法允許同時指定 table 和 schema。例如:CREATE PUBLICATION pub1 FOR TABLE t1,t2,t3, ALL TABLES IN SCHEMA s1,s2; OR ALTER PUBLICATION pub1 ADD TABLE t1,t2,t3, ALL TABLES IN SCHEMA s1,s2; 新增了一個新的系統資料表 "pg_publication_namespace",以維護使用者想要透過 Publication 發布的 schema。修改了輸出插件 (pgoutput),以便在 relation 是 schema Publication 的一部分時發布變更。更新了 pg_dump 以識別和傾印 (dump) schema Publication。更新了 \d 系列命令以顯示 schema Publication,並且 \dRp+ 變體現在將顯示相關聯的 schema(如果有的話)。作者:Vignesh C, Hou Zhijie, Amit Kapila 語法建議者:Tom Lane, Alvaro Herrera 審閱者:Greg Nancarrow, Masahiko Sawada, Hou Zhijie, Amit Kapila, Haiying Tang, Ajin Cherian, Rahila Syed, Bharath Rupireddy, Mark Dilger 測試者:Haiying Tang 討論:https://postgres.tw/message-id/CALDaNm0OANxuJ6RXqwZsM1MSY4s19nuH3734j4a72etDwvBETQ@mail.gmail.com https://git.postgresql.org/pg/commitdiff/5a2832465fd8984d089e8c44c094e6900d987fcd
為 schema Publication 新增 tap 測試。這為 commit 5a2832465f ("允許發布 schema 中的 table") 新增了額外的測試。這允許測試透過 schema Publication 發布的 table 中的資料串流。作者:Vignesh C, Haiying Tang 審閱者:Greg Nancarrow, Hou Zhijie, Amit Kapila 討論:https://postgres.tw/message-id/CALDaNm0OANxuJ6RXqwZsM1MSY4s19nuH3734j4a72etDwvBETQ%40mail.gmail.com https://git.postgresql.org/pg/commitdiff/6b0f6f79eef2168ce38a8ee99c3ed76e3df5d7ad
Magnus Hagander 推送了更新
Peter Geoghegan 推送了更新
進一步強化 nbtree posting split 程式碼。在 posting list 分割程式碼周圍新增更多防禦性檢查。這些檢查應比現有的任何檢查更早且更可靠地偵測到涉及重複表格 TID 的損毀。延續 commit 8f72bbac。討論:https://postgr.es/m/CAH2-WzkrSY_kjyd1_M5xJK1uM0govJXMxPn8JUSvwcUOiHuWVw@mail.gmail.com 回溯修補:13-,在此版本中引入了 nbtree 重複資料刪除。https://git.postgresql.org/pg/commitdiff/a5213adf3d351a31c5f5eae1a756a9d3555dc31c
修正 nbtree 錯誤訊息中的項目排序。commit a5213adf 中的疏忽。回溯修補:13-,就像 commit a5213adf 一樣。https://git.postgresql.org/pg/commitdiff/c2381b51049bad5dd1863ab1116b315bd7693b7c
移除過時的 nbtree LP_DEAD 項目註解。_bt_findinsertloc()
上方的註解討論 LP_DEAD 項目,現在已不適用。我們已在同一個註解區塊的較早點討論了索引元組刪除。commit d168b666 中的疏忽。https://git.postgresql.org/pg/commitdiff/4c6afd805b8db3492c8f409ecdba192d853fd571
將 heapam 中的 pg_unreachable() 降級為斷言。commit d168b66682(徹底檢查了索引刪除)在用於排序索引頁面中堆積 TIDs 的排序比較器的末尾新增了 pg_unreachable()。這允許編譯器應用假定來自索引 AM 的堆積 TIDs 必須始終是唯一的最佳化。鑑於最近關於 Postgres 索引中涉及重複 TIDs 的損毀報告,現在這似乎不是一個好主意
Tom Lane 已推送
改善 contrib/amcheck 對於 CREATE INDEX CONCURRENTLY 的測試。commit fdd965d07 和 3cd9c3b92 透過同時啟動兩個單獨的 pgbench 執行來測試 CREATE INDEX CONCURRENTLY。這是必要的,以便只有一個客戶端執行緒會執行 CREATE INDEX CONCURRENTLY,避免兩個 CIC 之間的死鎖。但是,有一種更好的方法,即使用 advisory lock 來防止並行的 CIC。這更好,部分原因在於測試程式碼更短且更易讀,但主要是因為它會自動調整規模,以啟動相對於 INSERT 交易的適當數量的 CIC。在提交時,通常有一半到四分之三的 CIC 交易是毫無意義的,因為 INSERT 交易已經停止。順便一提,移除 background_pgbench,它是為了支援這些測試而新增的,現在不再需要。如果我們以後發現它有用途,我們可以隨時將其放回去。回溯修補至 v12;較舊的 pgbench 版本缺少此方法所需的條件執行功能。Tom Lane 和 Andrey Borodin 討論:https://postgr.es/m/139687.1635277318@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/7f580aa5d88a9b03d66fcb9a1d7c4fcd69d9e126
加速 snprintf.c 中整數的列印速度。由於唯一可能的除數是 8、10 和 16,因此用三個使用常數除數的副本替換除法迴圈不會花費太多程式碼空間。在大多數機器上,除以常數比除以任意值便宜得多。一個僅測試 snprintf("foo %d") 和 9 位數值的微基準測試顯示我的速度提高了約 2 倍 (tgl)。Postgres 的大部分並不太依賴 snprintf 的速度,因此在實際案例中,效果幾乎無法測量。儘管如此,節省一個週期就是賺到一個週期。Arjan van de Ven 討論:https://postgr.es/m/40a4b32a-b841-4667-11b2-a0baedb12714@linux.intel.com 討論:https://postgr.es/m/6e51c644-1b6d-956e-ac24-2d1b0541d532@linux.intel.com https://git.postgresql.org/pg/commitdiff/3c17926eedd51c4094db7c62f59950918044ab1c
將時區資料檔案更新至 tzdata 發布版本 2021e。斐濟、約旦、巴勒斯坦和薩摩亞的 DST 法律變更。巴貝多、庫克群島、蓋亞那、紐埃、葡萄牙和東加的歷史修正。此外,Pacific/Enderbury 區域已重新命名為 Pacific/Kanton。以下區域已合併到附近的、人口更多的區域,這些區域的時鐘自 1970 年以來一直一致:Africa/Accra、America/Atikokan、America/Blanc-Sablon、America/Creston、America/Curacao、America/Nassau、America/Port_of_Spain、Antarctica/DumontDUrville 和 Antarctica/Syowa。https://git.postgresql.org/pg/commitdiff/937aafd6d5580b81134c7f303d04cf7561ad0309
測試並記錄 plpgsql 中初始化交叉引用的行為。我們有一個測試顯示,變數在其自身的初始化運算式中,以及在同一個區塊的先前運算式中是無法引用的。它可以在同一個區塊的後續運算式中引用,但 AFAICS 沒有測試案例來驗證這一點。新增一個,並新增一些錯誤案例。此外,記錄這是可能的,因為文件未能涵蓋這一點。根據來自 tomás at tuxteam 的問題。我認為沒有必要回溯修補這個,但我們應該確保我們將來不會破壞它。討論:https://postgr.es/m/20211029121435.GA5414@tuxteam.de https://git.postgresql.org/pg/commitdiff/a2a731d6c9db0ba650aa6f7c4fe349ccf712f74d
Peter Eisentraut 已推送
從 standalone-profile.xsl 中移除未使用的區塊。自 1707a0d2aa6b2bcfe78f63836c769943a1a6b9e0 以來未使用https://git.postgresql.org/pg/commitdiff/b8b62b4be28b8acd36d32d5db65162bbbcd3a754
uuid-ossp:移除與 pgcrypto 的過時建置連線。自 a8ed6bb8f4cf259b95c1bff5da09a8f4c79dca46 以來未使用https://git.postgresql.org/pg/commitdiff/237c12aabe39a58f3f5364fd94e0ca8ae8824957
doc:移除一些過時的 pgcrypto 文件。pgcrypto 文件包含對已使用外部程式碼的確認,但其中一些程式碼已移至 src/common/,因此在 pgcrypto 中提及它不再有意義,因此將其移除。https://git.postgresql.org/pg/commitdiff/e6c60719e6c6ee9bd396f430879e1de9079bf74c
pg_dump:重構訊息。這減少了翻譯的單獨訊息數量。https://git.postgresql.org/pg/commitdiff/fd2706589a7da4be6f6998befdf8e5fdea1565b8