Pgpool-II 4.2.1 發布,這是一個用於 PostgreSQL 的連接池和語句複製系統。https://www.pgpool.net/docs/42/en/html/release-4-2-1.html
Postgres Operator v1.6.0 發布。https://github.com/zalando/postgres-operator
https://archives.postgresql.org/pgsql-jobs/2020-12/
Planet PostgreSQL:http://planet.postgresql.org/
本週的 PostgreSQL 每週新聞由 David Fetter 為您帶來
請在太平洋標準時間 (PST8PDT) 星期日下午 3:00 之前將新聞和公告提交至 david@fetter.org。
Tom Lane 推送了
文件:修正了如何使用 src/tutorial 檔案的描述。在提交 ed1939332 中新增的在調用 psql 之前單獨執行 "cd" 命令是有道理的(或者至少我是這麼認為的)。但是 4e3a61635 移除了解釋何時使用它的支持文本,使其令人困惑。所以刪除它。同時,將路徑未提供部分從四個點改為三個點,因為至少有一人將四個點誤讀為 "../.." 的錯誤。並修正 these/those 的不一致。討論:https://postgr.es/m/160837647714.673.5195186835607800484@wrigleys.postgresql.org https://git.postgresql.org/pg/commitdiff/eea1e08cfc95bb7e1b7e9f515e73cf75adf147e3
移除 "jsonb 物件的無效連接" 錯誤案例。 jsonb || jsonb 運算符任意拒絕了標量和非標量輸入的某些組合,同時願意連接其他組合。這當然是沒有記錄的。與其嘗試記錄它,不如直接移除這個限制,創建一個統一的規則:除非我們正在處理物件到物件的連接,否則非陣列輸入會被轉換為單元素陣列,從而導致陣列到陣列的連接。(這不會改變以前未拋出錯誤的任何案例的行為。)根據 Joel Jacobson 的投訴。回溯修補到所有支援的分支。討論:https://postgr.es/m/163099.1608312033@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/ff5d5611c01f60525c30b2c3ebc16d05edb7956d
增加 021_row_visibility.pl 中的超時時間。提交 7b28913bc 認為 30 秒對於任何人來說都足夠長了,但在像 valgrind 運行這樣的環境中,這不一定足夠。https://git.postgresql.org/pg/commitdiff/08dde1b3dc78e90e01f3af8e89ab27ed37cd8963
改進 autoprewarm 對於早期關閉情境的處理。如果在 DBA 發出 "pg_ctl stop -m fast" 命令,而 autoprewarm 尚未完成加載要預熱的區塊列表時,會發生不好的事情。當前的工作程序成功地提前終止,但是(如果這不是最後一個具有要預熱的區塊的資料庫),主導程序將嘗試為下一個資料庫啟動另一個工作程序。由於 postmaster 現在處於 PM_WAIT_BACKENDS 狀態,因此它會忽略啟動請求,並且主導程序只是坐著直到它被手動殺死。這主要是由於我們對於啟動背景工作程序的不完善的設計造成的,但是對於它的正確修復可能太具有侵入性,無法進行回溯修補。為了改善這種情況,請修復 apw_load_buffers() 以在嘗試啟動另一個工作程序之前檢查是否已收到 SIGTERM。這使我們在每次工作程序啟動中只有一個非常狹窄的視窗,在此期間 SIGTERM 可能發生在啟動請求和成功的工作程序啟動之間。另一個問題是,如果主導程序確實設法退出,它會無條件地使用當前在共享緩衝區中的區塊來重寫 autoprewarm.blocks,從而忘記了我們在預熱時尚未到達的任何區塊。這似乎沒有幫助,因為下一個資料庫啟動將不會獲得預期的預熱好處。修復它,以便如果我們在初始加載嘗試完成之前關閉,則不修改該檔案。根據 John Thompson 提出的錯誤 #16785。回溯修補到引入 autoprewarm 代碼的 v11。討論:https://postgr.es/m/16785-c0207d8c67fb5f25@postgresql.org https://git.postgresql.org/pg/commitdiff/ff769831e081a4e69147019128a849ced43ec802
改進對於立即停止情境的客戶端錯誤消息。到目前為止,如果 DBA 發出 "pg_ctl stop -m immediate" 命令,則發送給客戶端的消息與崩潰並重新啟動情境的消息相同。這令人困惑,尤其因為該消息聲稱資料庫將很快再次啟動,而我們無權預測這一點。改進此情況,以便我們可以為這兩種情況生成不同的消息(並且還可以識別臨時 SIGQUIT,如果有人嘗試這樣做的話)。為此,請向 pmsignal.c 的共享記憶體數據結構添加一個欄位,postmaster 在將 SIGQUIT 廣播給其子程序之前設置該欄位。似乎不需要互鎖;中間的信號發送和信號接收應足以序列化對該欄位的訪問。因此,這並不比 pmsignal.c 的現有用法更危險。我們將來可能會擴展這個想法,以改進其他 postmaster 到子程序的信號情境,儘管目前沒有任何一個像 SIGQUIT 那樣嚴重超載。討論:https://postgr.es/m/559291.1608587013@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/7e784d1dc191be24480a6b31a4ddc8e0e52be24d
修復關閉和未啟動的背景工作程序之間的競爭條件。如果在某些程序決定請求新的背景工作程序的時間和 postmaster 可以啟動該工作程序的時間之間,命令了資料庫關閉(智能或快速),則不會發生任何事情,因為 postmaster 在退出 PM_RUN 狀態後不會啟動任何 bgworker。這很好……除非請求程序正在等待該工作程序完成(甚至等待它啟動);在這種情況下,請求者被卡住,只有手動干預才能使我們能夠關閉。為了修復,請在 postmaster 發送信號關閉 (SIGTERM) 時取消對工作程序的待處理請求,類似地取消此後收到的任何新請求。(我們可以稍微優化一下,僅對具有等待者的工作程序執行取消。)為了適應現有的 bgworker API,"取消" 類似於工作程序已啟動並立即停止,從而導致取消註冊 bgworker 條目。等待程序無論如何都必須處理工作程序提前退出,因此這不應引入之前不存在的錯誤。我們有一個副作用,即對於可重新啟動的 bgworker 的註冊記錄可能會在理論上應保持原位時消失;但是由於我們正在關閉,因此這無關緊要。回溯修補到 v10。也可能將其放入 9.6 中,但是那裡的 bgworker 管理有點不同(尤其是參見 8ff518699),並且我不相信值得努力驗證該分支的補丁。討論:https://postgr.es/m/661570.1608673226@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/7519bd16d1a2a2007b3604f6740611c0b75a6cd0
避免日誌輪換測試中出現與時間相關的故障。Buildfarm 成員 pogona 和 petalura 在 pg_ctl/t/004_logrotate.pl 於午夜前啟動時出現故障。預設的午夜輪換行為發生在 Perl 腳本檢查 current_logfiles 之前,因此它認為已經請求的輪換已經發生... 但實際上,該輪換發生在檢查之後,因此預期的新日誌資料會進入與它正在檢查的文件不同的文件中。在 HEAD 中,src/test/kerberos/t/001_auth.pl 已經獲得了類似的程式碼,顯然具有相關的故障模式。除了是相當新的程式碼之外,很少有 buildfarm 參與者運行該測試,因此我們尚未在那裡看到故障也就不足為奇了。透過設定 log_rotation_age = 0 來修復這兩種情況,以便不會發生基於時間的輪換。此外,將 004_logrotate.pl 中設定 lc_messages = 'C' 的決定吸收進 kerberos 測試中,希望它能在非英語的常見語言環境中工作。報告:https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=pogona&dt=2020-12-24%2022%3A10%3A04 報告:https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=petalura&dt=2020-02-01%2022%3A20%3A04 https://git.postgresql.org/pg/commitdiff/5c31afc49d0b62b357218b6f8b01782509ef8acd
真正修正 cipher.c 中的虛擬實作。945083b2f 不足以消除編譯器警告。 https://git.postgresql.org/pg/commitdiff/0848cf4f553bda5a9f044c56b3bec19929ee24e6
Alexander Korotkov 推送
修正範圍類型統計資訊中的 typalign。6df7a9698b 引入了 multirange 類型,其 typanalyze 函式與範圍類型 typanalyze 函式共享基礎架構。自 6df7a9698b 以來,由統計資訊收集的類型資訊是從 typcache 填寫的。但是 typalign 錯誤地始終設定為 double。此提交修正了此疏忽。 https://git.postgresql.org/pg/commitdiff/4e1ee79e3182256d9c8ddbc1ce9c4e8419c611ff
修正 multirange_constructor0() 中的編譯器警告。討論:https://postgr.es/m/X%2BBP8XE0UpIB6Yvh%40paquier.xyz 作者:Michael Paquier https://git.postgresql.org/pg/commitdiff/29f8f546767ebb4253f6dc37815e2d95fff9acd0
Michaël Paquier 推送
重構邏輯以檢查字串中是否僅包含 ASCII 字元。相同的邏輯存在於定序命令、SASLprep 和 pgcrypto 中,因此這刪除了一些程式碼。作者:Michael Paquier 審閱者:Stephen Frost, Heikki Linnakangas 討論:https://postgr.es/m/X9womIn6rne6Gud2@paquier.xyz https://git.postgresql.org/pg/commitdiff/93e8ff8701a65a70ea8826bdde7fdbbd9c285477
修正 recovery_target_xid 解析的可移植性問題。此參數的解析一直在使用 strtoul(),這在各個平台上不具備可移植性。在大多數 Unix 平台上,unsigned long 的大小為 64 位,而在 Windows 上則為 32 位。在復原場景中,通常依靠 txid_current() 甚至更新的 pg_current_xact_id() 的輸出來取得事務 ID,以設定 recovery_target_xid。這些函式傳回的值包括計算結果中的 epoch,一旦 epoch 遞增,將導致 strtoul() 在 unsigned long 的大小為 32 位時失敗。WAL 記錄和 2PC 資料僅包含有關 32 位 XID 的資訊,並且不可能有跨越一個以上 epoch 的 XID,因此捨棄設定的事務 ID 的高位對復原沒有影響。相反,使用 strtoul() 會阻止跨平台的行為一致性,具體取決於 unsigned long 的大小。此提交變更 recovery_target_xid 的解析,改為使用 pg_strtouint64(),該函式在 9.6 版本中已可用。有一個 TAP 測試強調使用 recovery_target_xid 進行復原,其中添加了基於 pg_reset{xlog,wal} 的調整,以提升 XID epoch,以便測試此變更,這是根據 Alexander Lakhin 的想法。報告者:Alexander Lakhin 討論:https://postgr.es/m/16780-107fd0c0385b1035@postgresql.org 向後移植:9.6 https://git.postgresql.org/pg/commitdiff/6db27037b99358018353b8748719cfa9de484988
修正文件和註解中的錯字和文法。這修正了文檔的幾個區域以及一些有關風格、文法甚至格式的註解。作者:Justin Pryzby 討論:https://postgr.es/m/20201222041153.GK30237@telsasoft.com https://git.postgresql.org/pg/commitdiff/90fbf7c57df601c7e0b43ae7cf71f0f69908a7cc
Tomáš Vondra 推送
在 generate_useful_gather_paths 中考慮未排序的路徑。generate_useful_gather_paths 過去會跳過未排序的路徑(沒有任何路徑鍵),但這是沒有必要的 - 後面的程式碼實際上可以透過新增 Sort 節點來很好地處理這些路徑。這顯然是一個 thinko,阻止了有用計畫的建構。向後移植到 13,在該版本中引入了 Incremental Sort。作者:James Coleman 審閱者:Tomas Vondra 向後移植:13 討論:https://postgr.es/m/CAAaqYe8cK3g5CfLC4w7bs=hC0mSksZC=H5M8LSchj5e5OxpTAg@mail.gmail.com https://git.postgresql.org/pg/commitdiff/f4a3c0b06250ddc8ae09b59b87cf68e9bc0d7ca1
檢查 generate_useful_gather_paths 中的平行安全性。Commit ebb7ae839d 確保我們在考慮在 Gather Merge 下方新增排序時,會忽略具有不穩定表達式的路徑鍵。事實證明,我們也需要關心路徑鍵的平行安全性,否則我們可能會嘗試例如對相關子查詢的結果進行排序(正如 Luis Roberto 的報告所證明的那樣)。Tom Lane 的初步調查,James Coleman 的修補程式。向後移植到 13,在該版本中引入了該程式碼(作為 Incremental Sort 的一部分)。報告者:Luis Roberto 作者:James Coleman 審閱者:Tomas Vondra 向後移植:13 討論:https://postgr.es/m/622580997.37108180.1604080457319.JavaMail.zimbra%40siscobra.com.br 討論:https://postgr.es/m/CAAaqYe8cK3g5CfLC4w7bs=hC0mSksZC=H5M8LSchj5e5OxpTAg@mail.gmail.com https://git.postgresql.org/pg/commitdiff/86b7cca72d4d0a4e043fac0a2cdd56218ff2f258
在考慮 Gather Merge 下方的排序時,不允許使用 SRF。雖然我們確實允許在 ORDER BY 中使用 SRF,但掃描/聯結處理不應考慮這種情況 - 這種排序應該僅透過位於 ProjectSet 之上的最終 Sort 發生。因此,請確保我們不會嘗試在 Gather Merge 下方新增這種排序,就像我們對不穩定和/或非平行安全表達式所做的那樣。向後移植到 PostgreSQL 13,該程式碼是在該版本中作為 Incremental Sort 修補程式的一部分引入的。作者:James Coleman 審閱者:Tomas Vondra 向後移植:13 討論:https://postgr.es/m/CAAaqYe8cK3g5CfLC4w7bs=hC0mSksZC=H5M8LSchj5e5OxpTAg@mail.gmail.com 討論:https://postgr.es/m/295524.1606246314%40sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/fac1b470a9f7e846534620b78ea4cf122ed432b2
不要在 find_em_expr_usable_for_sorting_rel 中搜尋不穩定的 expr。雖然 prepare_sort_from_pathkeys 必須關心將不穩定的表達式與正確的 tlist 項目進行匹配,但我們不需要在 find_em_expr_usable_for_sorting_rel 中執行此操作,因為無論如何都必須延遲這種排序。作者:James Coleman 審閱者:Tomas Vondra 向後移植:13 討論:https://postgr.es/m/CAAaqYe8cK3g5CfLC4w7bs%3DhC0mSksZC%3DH5M8LSchj5e5OxpTAg%40mail.gmail.com https://git.postgresql.org/pg/commitdiff/9aff4dc01fbb9e126efafd839ae8541362328f1a
改進 find_em_expr_usable_for_sorting_rel 註解。澄清 find_em_expr_usable_for_sorting_rel 和 prepare_sort_from_pathkeys 之間的關係,即這兩個地方需要共享哪些限制。作者:James Coleman 審閱者:Tomas Vondra 向後移植:13 討論:https://postgr.es/m/CAAaqYe8cK3g5CfLC4w7bs%3DhC0mSksZC%3DH5M8LSchj5e5OxpTAg%40mail.gmail.com https://git.postgresql.org/pg/commitdiff/1ca2eb103113d64930cf1120ba2beaaebd1076f4
Bruce Momjian 推送
虛擬提交。 https://git.postgresql.org/pg/commitdiff/6ecf488d91ceb93a8be907a24c5d8a90358534ed
將 hex_decode() 移至 /common,以便可以從前端呼叫它。這允許從 ecpg 中刪除 hex_decode() 的副本,並且將由即將新增的 pg_alterckey 命令使用。向後移植:master https://git.postgresql.org/pg/commitdiff/c3826f831e6e63e13a749fd3ab9fd7106707b549
從 commit c3826f831e 還原從 ecpg 移除 hex_decode() 的動作。在某些平台上,ecpglib 無法處理來自函式庫的 pg_log_fatal 呼叫。這是由建置農場 (buildfarm) 回報的。如果稍後要移除,需要重構並變更回傳值。Backpatch-through: master https://git.postgresql.org/pg/commitdiff/558a6e8e21367dae9a294291337be10a8a4afd0a
新增金鑰管理系統。這新增了一個金鑰管理系統,用於儲存(目前)兩個長度為 128、192 或 256 位元的資料加密金鑰。這些資料金鑰使用金鑰加密金鑰以 AES256 加密,並透過 GCM 密碼模式驗證。必須在 initdb 時指定取得金鑰加密金鑰的命令,並且會在每次資料庫伺服器啟動時執行。新的參數允許傳遞打開到終端的檔案描述符。也新增了 pg_upgrade 支援。討論:https://postgr.es/m/CA+fd4k7q5o6Nc_AaX6BcYM9yqTbC6_pnH-6nSD=54Zp6NBQTCQ@mail.gmail.com 討論:https://postgr.es/m/20201202213814.GG20285@momjian.us 作者:Masahiko Sawada, me, Stephen Frost https://git.postgresql.org/pg/commitdiff/978f869b992f9fca343e99d6fdb71073c76e869a
修正 commit 978f869b99 的回傳值和 const 宣告。這修正了非 OpenSSL 編譯的情況。Reported-by: buildfarm member sifaka Backpatch-through: master https://git.postgresql.org/pg/commitdiff/945083b2f7e6c19c8921c655cac6778acb1e3e03
從 patch 978f869b99 (CFE) 移除 uint128 的需求。改用 char[16]。Reported-by: buildfarm member florican Backpatch-through: master https://git.postgresql.org/pg/commitdiff/e35b2bad1a10a8eef9c1ffb563847b9c9df0cfce
修正 commit 978f869b99 的文件和遺漏的 initdb 說明選項。Reported-by: Erik Rijkers 討論:https://postgr.es/m/a27e7bb60fc4c4a1fe960f7b055ba822@xs4all.nl Backpatch-through: master https://git.postgresql.org/pg/commitdiff/26d60f2a6c1c93838a49ac4d685652b1bc92f547
修正 commit 978f869b99 中 cipher.c 裡的 no-return 函式呼叫。Reported-by: buildfarm member sifaka Backpatch-through: master https://git.postgresql.org/pg/commitdiff/8e59813e2287db90044537b1093c0869020ffa4a
從 patch 978f869b99 移除遺漏的 crypto test 參考。Reported-by: Tom Lane 討論:https://postgr.es/m/1205031.1608925990@sss.pgh.pa.us Backpatch-through: master https://git.postgresql.org/pg/commitdiff/f234899353f8998bdbd265125ce4a505a312d910
新增 pg_alterckey 工具來變更叢集金鑰。這可以變更用於加密叢集檔案加密所使用的資料加密金鑰的金鑰。討論:https://postgr.es/m/20201202213814.GG20285@momjian.us Backpatch-through: master https://git.postgresql.org/pg/commitdiff/62afb42a7f9f533efc6c19f462c3a848fa4ddb63
允許 ssl_passphrase_command 提示終端。先前,該命令無法存取終端以取得密碼短語。Backpatch-through: master https://git.postgresql.org/pg/commitdiff/300e430c76644b483f70bc833d6251a6a7fb84a6
修正前端 Win32 程式碼中的函式呼叫錯誤,commit 978f869b99。Reported-by: buildfarm member walleye Backpatch-through: master https://git.postgresql.org/pg/commitdiff/7705f8ca03713457bf7cde0b859a1ab45e4f268b
pg_alterckey: 調整文件建置和 Win32 sleep/open 建置失敗。修正 commit 62afb42a7f。Reported-by: Tom Lane 討論:https://postgr.es/m/1252111.1608953815@sss.pgh.pa.us Backpatch-through: master https://git.postgresql.org/pg/commitdiff/82f8c45be551a2940e3cbaf08aa7a521bdac8331
doc: 修正 commit 62afb42a7f 中 pg_alterckey 的 SGML 標記。Backpatch-through: master https://git.postgresql.org/pg/commitdiff/3d4843babce087ae8dc734aeec36db084001a0e4
新增用於擷取叢集檔案加密金鑰的腳本。腳本有 passphrase、direct、AWS 和兩個 Yubikey。Backpatch-through: master https://git.postgresql.org/pg/commitdiff/d7602afa2ef6d8b2018103dccd89e75b4985ac06
pg_alterckey: 從 Makefile 移除 TAP 檢查規則。Reported-by: Pavel Stehule, Michael Paquier 討論:https://postgr.es/m/CAFj8pRBRNo4co5bqCx4BLx1ZZ45Z_T-opPxA+u7SLp7gAtBpNA@mail.gmail.com Backpatch-through: master https://git.postgresql.org/pg/commitdiff/e174a6f1937248886e124cdb68408e727aeea278
auth commands: 在 Makefile 中列出要安裝的特定命令。先前我使用了 Makefile 函式。Backpatch-through: master https://git.postgresql.org/pg/commitdiff/ba6725df364cd30e068ccd962fa426d9b7b44066
initdb: 說明 -K 需要一個參數。Reported-by: "Shinoda, Noriyoshi" 討論:https://postgr.es/m/TU4PR8401MB1152E92B4D44C81E496D6032EEDB0@TU4PR8401MB1152.NAMPRD84.PROD.OUTLOOK.COM 作者:"Shinoda, Noriyoshi" Backpatch-through: msater https://git.postgresql.org/pg/commitdiff/ccbe34139b7d9059f4af3405b2411f653cc2ce7c
Noah Misch 推送了
Jeff Davis 推送了
修正基於磁碟的雜湊聚合中的錯誤 #16784。在處理元組之前,agg_refill_hash_table() 將所有 pergroup 指標設定為 NULL,以通知 advance_aggregates() 不應嘗試推進已溢出的群組。問題是它也將已排序分組集的 pergroups 設定為 NULL,這導致重新掃描失敗。相反,變更 agg_refill_hash_table() 以僅將已雜湊分組集的 pergroups 設定為 NULL;並且在編譯表達式時,傳遞 doSort=false。Reported-by: Alexander Lakhin 討論:https://postgr.es/m/16784-7ff169bf2c3d1588%40postgresql.org Backpatch-through: 13 https://git.postgresql.org/pg/commitdiff/05c0258966b502fae1bd63dcbe74d52f5c6f6948
根據建置農場 (buildfarm) 的報告,穩定 05c02589 中引入的測試。順便一提,使大寫與檔案的其餘部分匹配。Reported-by: Tom Lane https://git.postgresql.org/pg/commitdiff/fa0fdf0510df1a21f42ac9f232f77a79b8577152
Kyotaro HORIGUCHI 發送了另一個修補程式版本,使統計資訊收集器 (stats collector) 使用共享記憶體而不是檔案來進行中間儲存。
Kyotaro HORIGUCHI 發送了另一個修補程式版本,以修復幾何資料類型的 NaN 處理。
Masahiko Sawada 發送了一個修補程式,以確保在建立擴充功能時建立的架構 (schema) 在刪除擴充功能時也會被刪除。
Justin Pryzby 發送了兩個修補程式版本,以將 zstd 壓縮新增到 pg_dump。
Peter Smith 發送了另外五個修補程式版本,以允許 table-sync worker 使用多個交易。
Bharath Rupireddy 和 Michaël Paquier 交換了修補程式,以便在關聯已經存在時,在 CTAS/CMV 中快速失敗。
Konstantin Knizhnik 和 Pavel Stěhule 交換了修補程式,以新增一個登入事件,可用於事件觸發器。
Bharath Rupireddy 送出了 CTAS 中使用平行插入的修補程式的另外四個修訂版本。
Zeng Wenjing 送出了實作全域暫存資料表的修補程式的另一個修訂版本。
Amit Langote 送出了另一個修補程式的修訂版本,以便在分割資料表中建立外鍵觸發器,並使用相同的方法在跨分割區更新期間正確強制執行外鍵。
Amit Langote 送出了另一個修補程式的修訂版本,以便延遲初始化結果關聯資訊。
Thomas Munro 送出了另一個修補程式的修訂版本,以提供同步的 scatter/gather I/O 常式,pg_preadv() 和 pg_pwritev(),它們對應於具有這些常式的系統上的 preadv() 和 pwritev(),並使用向量 I/O 將 WAL 區段歸零。
Peter Geoghegan 送出了一個用於檢測 heap_compute_xid_horizon_for_tuples() 的修補程式。
David Rowley 送出了另一個修補程式的修訂版本,以減少 Windows 上的 contrib 建置特殊情況。
Yugo Nagata 送出了另一個修補程式的修訂版本,以實作具體化檢視表的增量維護。
Michaël Paquier 和 Justin Pryzby 交換了修補程式,允許 CLUSTER、VACUUM FULL 和 REINDEX 在執行時更改 tablespace。
Masahiko Sawada 送出了一個修補程式,以新增一個新的 IndexAM API 來控制索引清理策略。
Fujii Masao 送出了另兩個修補程式的修訂版本,以修復 recovery_conflict_lock 死鎖。
Amit Kapila 和 Kirk Jamison 交換了修補程式,以使用 dlist 更有效地刪除關聯緩衝區。
Pavel Stěhule 送出了另兩個修補程式的修訂版本,以實作綱要變數。
Dmitry Dolgov 送出了另兩個修補程式的修訂版本,以便為 JSONB 使用新的下標基礎結構。
Michaël Paquier 送出了一個修補程式,以清除 makefiles 中的一些 -I$(libpq_srcdir)
。
Craig Ringer 送出了一個修補程式,以新增一個 $node->gdb_backends()
方法到 PostgresNode 實例。
Andrey V. Lepikhov 送出了另一個修補程式的修訂版本,以便在具有外部分割區的資料表的情況下加速 COPY FROM,方法是在 FDW API 中實作一些新方法:BeginForeignCopy、EndForeignCopy 和 ExecForeignCopy。
Justin Pryzby 送出了另一個修補程式的修訂版本,以使 pg_ls_*()
顯示目錄和共享檔案集。
Simon Riggs 送出了一個修補程式,以新增一個布林值 transaction_cleanup GUC,預設為關閉,旨在取代諸如連線池之類的事物中 DISCARD ALL 的使用。
Ajin Cherian 送出了另一個修補程式的修訂版本,以實作兩階段交易的邏輯解碼。
Fujii Masao 和 Bharath Rupireddy 交換了修補程式,旨在修復一個錯誤,該錯誤表現為 postgres_fdw 的連線洩漏,當關聯的使用者映射被刪除時,通過在 pgfdw_inval_callback() 中關閉無效連線(當它們不在交易中時),或在 pgfdw_xact_callback() 中(該回呼在每個動作結束時被呼叫,一旦註冊,在當前會話中)。
Li Japin 送出了一個修補程式,以更好地記錄流複製協定。
Thomas Munro 送出了另一個修補程式的修訂版本,以實作 WAL 的預先提取。
Bharath Rupireddy 送出了另一個修補程式的修訂版本,以新增用於多個和單個插入的新資料表 AM。
Kyotaro HORIGUCHI 送出了另一個修補程式的修訂版本,使其有可能在不重寫堆積的情況下更改資料表持久性,並新增一個新命令:ALTER TABLE ALL IN TABLESPACE SET LOGGED/UNLOGGED。
Kyotaro HORIGUCHI 送出了一個針對 pg_waldump 的修補程式,該修補程式限制了開始時顯示的行數。
Masahiro Ikeda 送出了另一個修補程式的修訂版本,以將 WAL 寫入/fsync 統計資訊新增到 pg_stat_wal 檢視表中。
Nikita Glukhov 送出了另一個修補程式的修訂版本,以新增 SQL/JSON 函數。
Nikita Glukhov 送出了另一個修補程式的修訂版本,以實作 JSON_TABLE。
Dilip Kumar 和 Andrey Borodin 交換了修補程式,以實作自訂資料表壓縮方法。
Dmitry Dolgov 送出了另一個修補程式的修訂版本,以防止 ArrayExpr 中每個元素的混亂。
Andrey Borodin 送出了另一個修補程式的修訂版本,以重組 pglz 壓縮程式碼,使其更有效率。這獲得了大約 1.4 倍的加速。
Julien Rouhaud 送出了另一個修補程式的修訂版本,以將一個布林欄位 toplevel 新增到 pg_stat_statements。
Fabien COELHO 送出了一個修補程式,以將資料表存取方法新增為 pgbench 的一個選項。
Justin Pryzby 送出了另一個修補程式的修訂版本,以新增一個針對核心資料類型二進位相容性的 pg_upgrade 測試。
Alexander Korotkov 送出了一個修補程式,以修復 multirange_bsearch_match() 比較函數中的錯誤,實作運算符以檢查範圍是否包含多範圍,透過新增 const 限定詞(如果適用)並使用範圍型別快取引數替換多範圍型別快取引數,從而改進內部多範圍函數的簽名,為多範圍新增 GiST 索引,並將多範圍匹配支援新增到現有的範圍 GiST 索引。
Justin Pryzby 送出了另一個修補程式的修訂版本,以修復最新的文件中的拼字錯誤並進行一些文字潤飾。