本週人物:https://postgresql.life/post/corey_huinker/
pgstats.dev 上的可觀察性圖表已更新。https://pgstats.dev/
https://archives.postgresql.org/pgsql-jobs/2021-05/
Planet PostgreSQL:https://planet.postgresql.org/
本週的 PostgreSQL 每週新聞由 David Fetter 為您帶來
請在太平洋標準時間下午 3:00 前(PST8PDT)將新聞和公告提交至 david@fetter.org。
Tom Lane 推送了
更新 rewriteTargetListIU() 的註解。此函數在觸發器可更新視圖上 UPDATE 的行為,過去透過類比 preptlist.c 對於一般表格 UPDATE 的行為來合理化。 由於 preptlist.c 自 86dc90056 以來就沒有這樣做,因此該論點不再合理,更不用說有說服力了。 我認為我們仍然需要它以這種方式運作,因此更新註解以解釋原因。https://git.postgresql.org/pg/commitdiff/08a986966524e522914b96e4398a4bebf942b298
文件:記錄 EXTRACT(JULIAN ...),改進 Julian Date 的說明。由於某種原因,extract()/date_part() 的 "julian" 選項從未在手冊中列出。此外,雖然附錄 B 順帶提及我們不符合從 UTC 中午開始的常見天文定義的 Julian date,但對於我們實際的做法有點模糊。澄清這一點,並新增一個範例,示範如何取得所需的天文定義。 這種情況已經存在很久了,所以回溯修補到所有支援的分支。討論:https://postgr.es/m/1197050.1619123213@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/79a5928ebcb726b7061bf265b5c6990e835e8c4f
移除 rewriteTargetListIU 在 UPDATE 中擴展視圖目標清單的功能。提交 2ec993a7c(在視圖上新增觸發器)修改了重寫器,為任何導向視圖的 UPDATE 中,所有實際上未被使用者更新的欄位新增了虛擬條目,如 "SET x = x"。 當時需要它來產生一個完整的 "NEW" 列以傳遞給觸發器。 之後,發現它對一般的可更新視圖造成問題,因此提交 cab5dc5da 將其限制為僅在觸發器可更新視圖中發生。 但在提交 86dc90056 之後,我們根本不需要它了。 nodeModifyTable.c 從為視圖產生的整列變數中填充觸發器 "OLD" 列,然後使用該舊列和 UPDATE 目標清單計算 "NEW" 列。 因此,UPDATE tlist 不需要虛擬條目,就像它不需要一般表格或其他類型的視圖一樣。 (rewriteTargetListIU 的註解表明,我們必須這樣做才能正確擴展規則中的 NEW 參考,但我現在認為這只是 2ec993a7c 中偷懶的註解編輯。 如果在有觸發器之前,我們不需要它用於視圖上的規則,那麼之後我們也不需要它。) 這實際上將 86dc90056 的決定(我們不需要虛擬欄位更新)傳播到視圖案例中。 除了使不同的案例更加一致,從而可能避免未來出現錯誤之外,它還應該節省一些重寫器/規劃器的努力。 討論:https://postgr.es/m/2181213.1619397634@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/04942bffd0aa9bd0d143d99b473342eb9ecee88b
文件:修正關於如何取得真實 Julian Dates 的討論。不知何故,我說服自己旋轉到 UTC-12 是做到這一點的方法,但經過進一步審查,絕對是 UTC+12。討論:https://postgr.es/m/1197050.1619123213@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/c93f8f3b8d3bc780892e2bf11192fbdd136fddfe
在伺服器中新增啟發式傳入訊息大小限制。我們收到一份報告,指出由於客戶端錯誤向伺服器傳送垃圾資料而導致令人困惑的伺服器行為:伺服器認為垃圾資料是非常長的訊息長度,並耐心等待永遠不會到來的資料。我們可以透過減少對訊息長度的信任來降低這種風險。 長期以來,libpq 有一條啟發式規則,即它不會相信大的訊息大小字詞,除了預期為(可能)長的少數訊息類型。 這提供了一些針對訊息邊界同步丟失和其他損壞資料案例的防禦。 伺服器做的事情類似,但到目前為止,它只限制了在連線驗證階段收到的訊息長度。 讓我們做與 libpq 相同的事情,並限制所有訊息的允許長度,同時區分預期為長的訊息類型和不預期為長的訊息類型。 我對非長訊息使用 10000 位元組的限制。(libpq 的對應限制是 30000 位元組,但鑑於 FE/BE 協定的不對稱性,沒有充分的理由說明這些數字應該相同。) 實驗表明,這至少是我們實際需要的 10 倍,甚至可能是 100 倍; 但似乎需要充足的日光來避免誤報。 無論如何,我們可以根據 beta 測試結果調整限制。 對於長訊息,設定 MaxAllocSize - 1 的限制,這是我們可以吸收到訊息收集的 StringInfo 緩衝區中的最大值。 這只是為了確保虛假的訊息大小被報告為虛假,而不是令人困惑的關於無法擴大字串緩衝區的抱怨。 同時,確保非主線程式碼路徑(例如 COPY FROM STDIN)與 SocketBackend 一樣偏執,並在相信訊息長度之前驗證訊息類型程式碼。 這提供了額外的保護,防止卡在損壞的輸入上。 討論:https://postgr.es/m/2003757.1619373089@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/9626325da5e8e23ff90091bc96535495d350f06e
修正 pg_upgrade 的測試中,針對無法升級類型的一些遺漏之處。Commit 29aeda6e4 等等修正了一些疏忽,這些疏忽涉及未檢查容器類型(如陣列和範圍)中是否包含無法升級的類型。然而,我只查看了 version.c,卻忽略了 check.c 中存在實質上等效的測試。(這些檔案之間的職責劃分不是很明確...)此外,由於 genbki.pl 不保證自動產生的 rowtype OID 在不同版本之間保持不變,我們需要考慮到與系統目錄或檢視表相關的複合類型是無法升級的。儘管有人會以這種方式宣告使用者欄位的可能性很小,但如果他們這樣做了,在另一個 PG 版本中嘗試讀取它可能會因為嵌入在複合 Datums 中的類型 OID 而導致「沒有這樣的 pg_type OID」錯誤。為了支援複合類型和 reg*
類型的情況,擴展了執行搜尋的遞迴查詢,允許任何返回 pg_type OID 欄位的基本查詢,而不是將其限制為僅一個起始類型。和以前一樣,回溯修補到所有受支援的分支。討論:https://postgr.es/m/2798740.1619622555@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/57c081de0afcd01bf47c46f015bf8886b01c2c21
改善一些 pg_upgrade 失敗報告的措辭。在可以刪除欄位時,不要建議刪除整個表格。同時,嘗試使這些訊息的佈局更清晰、更一致。根據 Daniel Gustafsson 的建議。不進行回溯修補,因為我們通常不喜歡在已發布的分支中修改可翻譯的訊息。討論:https://postgr.es/m/2798740.1619622555@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/c9c37ae03fea0c8ad467392ddf03940b61974935
禁止透過 fastpath API 呼叫除了 plain function 以外的任何東西。拒絕 aggregates、window functions 和 procedures。Aggregates 無法工作,但會出現一些晦澀的錯誤訊息。Window functions 會遇到 Assert 或空指標取消引用。Procedures 看起來可以工作,只要你不嘗試進行事務控制,但是 (a) 事務控制是 procedure 的重點,以及 (b) 無法完全確定該路徑中沒有潛藏的錯誤。鑑於對該區域缺乏測試,對於我們支援的內容採取保守態度似乎是最安全的。同時拒絕 proretset functions,因為 fastpath 協議無法支援傳回一個集合。同時移除一個容易觸發的斷言,即給定的 OID 不是 0;後續的查詢可以自行處理這種情況。根據 Theodor-Arsenij Larionov-Trichkin 的報告。回溯修補到所有受支援的分支。(procedure 的角度僅適用於 v11+,當然。)討論:https://postgr.es/m/2039442.1615317309@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/2efcd502e56a528f75ec8e88c02a287ad3457d77
Doc:更新 libpq 的 PQfn() 文件。明確提及您不能以這種方式呼叫 aggregates、window functions 或 procedures(已經提到無法呼叫 SRFs)。此外,自我們發明協議 3.0 以來,聲稱 PQfn 不支援 NULL 參數或結果的說法一直是謊言。不確定為什麼從未更新此文本,但現在就進行更新。討論:https://postgr.es/m/2039442.1615317309@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/386e64ea5abf346d887c21ea8869317838ba19b5
Doc:在 ddl.sgml 中新增自引用外鍵的範例。雖然我們一直允許這種情況,但該文件沒有說明您可以這樣做。討論:https://postgr.es/m/161969805833.690.13680986983883602407@wrigleys.postgresql.org https://git.postgresql.org/pg/commitdiff/e6f9539dc32473793c03cbe95bc099ee0a199c73
Amit Kapila 推送
修正 reorderbuffer.c 中的拼字錯誤。作者:Peter Smith 討論:https://postgr.es/m/CAHut+PtvzuYY0zu=dVRK_WVz5WGos1+otZWgEWqjha1ncoSRag@mail.gmail.com https://git.postgresql.org/pg/commitdiff/6d2e87a077b3c2394e4adb8eb226b3dcfe3f3346
避免在解碼時多次傳送 prepare。我們傳送併發中止的 xacts 的 prepare,以便稍後解碼並傳送 rollback prepared 時,下游應能夠回滾這樣的 xact。對於「串流」情況(當我們傳送進行中事務的變更時),當檢測到併發中止時,我們會傳送兩次 prepare。作者:Peter Smith 審閱人:Amit Kapila 討論:https://postgr.es/m/f82133c6-6055-b400-7922-97dae9f2b50b@enterprisedb.com https://git.postgresql.org/pg/commitdiff/f25a4584c6f56f3407f8f8734c78f2a87e4b77e8
修正同步提交模式下截斷的邏輯複製。Truncate 操作會取得目標關係和索引的獨佔鎖。然後,它會等待操作的邏輯複製在提交時完成。現在,因為我們在 pgoutput 中取得目標索引的共享鎖以取得索引屬性,同時傳送 Truncate 操作的變更,這會導致死鎖。實際上,我們不需要取得目標索引的鎖,因為我們使用歷史快照建立快取條目,並且所有後續的變更都會在解碼 WAL 時被吸收。因此,我們為邏輯複製編寫了一個特殊用途的函數,以取得副本身分識別屬性編號的位元圖,我們可以在不鎖定目標索引的情況下取得該資訊。我們決定不回溯修補此問題,因為自 v11 中的 commit 5dfd1e5a 中引入此問題以來,似乎沒有任何欄位投訴此問題。回報人:Haiying Tang 作者:Takamichi Osumi,測試案例由 Li Japin 提供 審閱人:Amit Kapila, Ajin Cherian 討論:https://postgr.es/m/OS0PR01MB6113C2499C7DC70EE55ADB82FB759@OS0PR01MB6113.jpnprd01.prod.outlook.com https://git.postgresql.org/pg/commitdiff/e7eea52b2d61917fbbdac7f3f895e4ef636e935b
使用 HTAB 進行複製槽統計。先前,我們使用大小為 max_replication_slots 的陣列來儲存複製槽的統計資料。但在丟棄槽的訊息遺失的情況下,這存在兩個問題:1) 如果陣列已滿,則不會記錄新槽的統計資料,以及 2) 如果使用者減少 max_replication_slots,則寫入超出陣列末尾。此 commit 使用 HTAB 進行複製槽統計,解決了這兩個問題。現在,pgstat_vacuum_stat() 在統計雜湊表中搜尋所有已死亡的複製槽,並告知收集器將它們移除。為了避免顯示已丟棄的槽的統計資料,pg_stat_replication_slots 檢視表會根據從 pg_replication_slots 取得的槽名稱搜尋槽統計資料。此外,我們會在建立槽時傳送建立槽的訊息,以初始化統計資料。這減少了當丟棄槽的訊息遺失時,統計資料累積到舊槽統計資料中的可能性。回報人:Andres Freund 作者:Sawada Masahiko,測試案例由 Vignesh C 提供 審閱人:Amit Kapila, Vignesh C, Dilip Kumar 討論:https://postgr.es/m/20210319185247.ldebgpdaxsowiflw@alap3.anarazel.de https://git.postgresql.org/pg/commitdiff/3fa17d37716f978f80dfcdab4e7c73f3a24e7a48
再次嘗試修正 commit f5fc2f5b23 新增的測試案例。根據分析,之前的測試中的「drop slot」訊息和新測試的「create slot」訊息似乎遺失或尚未傳遞到統計資料收集器,因此我們仍然會看到來自舊槽的統計資料。這種情況很少發生,這可能是我們在 buildfarm 中隨機看到一些失敗的原因。為了避免這種情況,我們在 test_decoding/sql/stats.sql 中使用不同的槽名稱進行測試。回報人:Tom Lane,根據 buildfarm 報告 作者:Sawada Masahiko 審閱人:Amit Kapila, Vignesh C 討論:https://postgr.es/m/20210319185247.ldebgpdaxsowiflw@alap3.anarazel.de https://git.postgresql.org/pg/commitdiff/51ef9173030cc196c6633ae82b7b32f404b0f768
修正了在選擇用於串流的交易時的錯誤。有兩個問題:a. 我們總是選擇下一個可用的交易,而不是在它大於前一個交易時才選擇。b. 我們選擇了那些沒有對資料庫進行任何更改的交易(未設定基本快照)。後來,它觸發了一個斷言 (Assert),因為我們不解碼此類交易,且交易中的變更保持原樣。最好一開始就不要選擇此類交易進行串流。報告者:Haiying Tang 作者:Dilip Kumar 審閱者:Amit Kapila 討論:https://postgr.es/m/OS0PR01MB61133B94E63177040F7ECDA1FB429@OS0PR01MB6113.jpnprd01.prod.outlook.com https://git.postgresql.org/pg/commitdiff/ee4ba01dbbc31daa083f434ecd603a80bbe50501
Peter Eisentraut 推送了
移除未使用的函數參數。這在初始提交 257836a75585934cc05ed7a80bccf8190d41e056 中已經未使用。顯然,它在早期提出的修補程式版本中使用過。 https://git.postgresql.org/pg/commitdiff/3cbea581c76e86d51b8f2babf116e643847e7712
修正 Cygwin 上的 pg_upgrade 測試。由於 Cygwin 目前尚未實作所需的功能,因此權限驗證在 Cygwin 上無法成功。所以跳過這部分測試,就像 MinGW 已經做的那樣。 https://git.postgresql.org/pg/commitdiff/38c9a5938ac5e1409b42677fee970a12632852ee
pg_hba.conf.sample:修改連線類型區段的措辭。稍微改善 pg_hba.conf.sample 中連線類型區段的措辭。在新增 hostgssenc 部分後,整個內容變得有點冗長,並且也有點不準確,例如,「host」的目前措辭似乎表示它不適用於 GSS 加密的連線。 討論:https://postgres.tw/message-id/flat/fc06dcc5-513f-e944-cd07-ba51dd7c6916%40enterprisedb.com https://git.postgresql.org/pg/commitdiff/3a948ea0a2ced719f26e725b030558f2e4ab1d8e
psql:修正不平衡括號的行連續提示符號。這被 e717a9a18b2e34c9c40e5259ad4d31cd7e420750 中的一個愚蠢錯誤所破壞。 報告者:Jeff Janes jeff.janes@gmail.com 作者:Justin Pryzby pryzby@telsasoft.com 討論:https://postgres.tw/message-id/CAMkU=1zKGWEJdBbYKw7Tn7cJmYR_UjgdcXTPDqJj=dNwCETBCQ@mail.gmail.com https://git.postgresql.org/pg/commitdiff/d9a9f4b4b92ad39e3c4e6600dc61d5603ddd6e24
Michaël Paquier 推送了
為邏輯複製添加更多在分割區上觸發觸發器的測試。邏輯複製工作程序使用的 Tuple Routing 邏輯可以觸發分割區樹中關係的觸發器,但這方面沒有任何測試覆蓋。現有的腳本 003_constraints.pl 包含了一些內容,但當 Tuple 跨訂閱端的分割表應用時,則沒有任何內容。 作者:Amit Langote 討論:https://postgr.es/m/OS0PR01MB611383FA0FE92EB9DE21946AFB769@OS0PR01MB6113.jpnprd01.prod.outlook.com https://git.postgresql.org/pg/commitdiff/2ecfeda3e916f2a1123f818018d9d35908a499ac
修正 pg_identify_object_as_address() 與事件觸發器的問題。嘗試將此函數與事件觸發器一起使用失敗,因為自 a676201 引入以來,此程式碼從未將物件名稱與事件觸發器相關聯。這透過將事件觸發器名稱新增到定義其物件位址的集合中來解決此故障。請注意,迴歸測試新增在 event_trigger 內,而不是 object_address 內,以避免平行排程中並行連線的問題。 作者:Joel Jacobson 討論:https://postgr.es/m/3c905e77-a026-46ae-8835-c3f6cd1d24c8@www.fastmail.com 向後移植:9.6 https://git.postgresql.org/pg/commitdiff/f7aab36d61fd2fdbd949d5880247e8cae9ee4be0
修正 pg_identify_object_as_address() 中的釋放後使用問題 (use-after-release)。 由 buildfarm 成員 prion 發現,使用了 -DRELCACHE_FORCE_RELEASE。 在 f7aab36 中引入。 討論:https://postgr.es/m/2759018.1619577848@sss.pgh.pa.us 向後移植:9.6 https://git.postgresql.org/pg/commitdiff/f93f0b5b25068807051edb2f3510614b69bb79ff
doc:修正 target_session_attrs=prefer-standby 的描述。 如果在提供的連線點集中找不到任何備用伺服器,則回退行為是 "any",而不是不存在的 "all"。 作者:Greg Nancarrow 審閱者:Laurenz Albe 討論:https://postgr.es/m/CAJcOf-fDaCv8qCpWH7k5Yh6zFxZeUwZowu4sCWQ2zFx4CdkHpA@mail.gmail.com https://git.postgresql.org/pg/commitdiff/2977f244bc7e64e046364122be3fef08aa6efef9
Álvaro Herrera 推送了
psql:tab-complete ALTER ... DETACH CONCURRENTLY / FINALIZE. 每個 71f4c8c6f74b 的新關鍵字。 討論:https://postgr.es/m/20210422204035.GA25929@alvherre.pgsql https://git.postgresql.org/pg/commitdiff/6dd1042eda0acdabaab352c19b783288de62b587
允許快取省略 partdesc 的分割區。 加快分割區在正在分離的暫態期間分割區描述符的取得速度。 這也增加了限制,即對於一個分割區表,只能有一個分割區處於 pending-detach 狀態。 同時,將 find_inheritance_children() API 回復到 71f4c8c6f74b 之前的狀態,並建立一個單獨的 find_inheritance_children_extended(),它返回有關分離分割區的詳細資訊。 (這也順便修正了 8aba9322511 中的一個錯誤,即保存暫態 partdesc 的記憶體上下文被重新父化到一個 NULL PortalContext,導致該記憶體永久洩漏。 解決方案是不再依賴於將上下文重新父化到 PortalContext。 由 Amit Langote 報告。) 根據 Amit Langote 的抱怨 討論:https://postgr.es/m/CA+HiwqFgpP1LxJZOBYGt9rpvTjXXkg5qG2+Xch2Z1Q7KrqZR1A@mail.gmail.com https://git.postgresql.org/pg/commitdiff/d6b8d29419df0efad57f95c80b871745d1b55da6
改善分割區表上 default_tablespace 的文件。 向後移植到 12,其中 87259588d0ab 引入了目前的行為。 根據 Justin Pryzby 的註記。 共同作者:Justin Pryzby pryzby@telsasoft.com 討論:https://postgr.es/m/20210416143135.GI3315@telsasoft.com https://git.postgresql.org/pg/commitdiff/94b9cb722552c37da78c8320bac1d5b55e34def6
Fujii Masao 推送了
不要將 TRUNCATE 中指定的 "ONLY" 選項傳遞給外部資料封裝器。 Commit 8ff1c94649 允許 TRUNCATE 指令截斷外部資料表。 之前,TRUNCATE 指令中關於 "ONLY" 選項的資訊會被傳遞給外部資料封裝器。 然後 postgres_fdw 會建構 TRUNCATE 指令並發送到遠端伺服器,並根據傳遞的資訊在其中包含 "ONLY" 選項。 另一方面,SELECT、UPDATE 或 DELETE 中指定的 "ONLY" 選項在存取或修改遠端資料表時不起作用,即不會傳遞給外部資料封裝器。 因此,僅讓 TRUNCATE 指令將 "ONLY" 選項傳遞給外部資料封裝器是不一致的。 因此,此 commit 變更 TRUNCATE 指令,使其不會將 "ONLY" 選項傳遞給外部資料封裝器,以與其他陳述式保持一致。 此外,此 commit 變更 postgres_fdw,使其始終不會在它建構的 TRUNCATE 指令中包含 "ONLY" 選項。 作者:Fujii Masao 審閱者:Bharath Rupireddy, Kyotaro Horiguchi, Justin Pryzby, Zhihong Yu 討論:https://postgr.es/m/551ed8c1-f531-818b-664a-2cecdab99cd8@oss.nttdata.com https://git.postgresql.org/pg/commitdiff/8e9ea08bae93a754d5075b7bc9c0b2bc71958bfd
doc: 審閱 "Allow TRUNCATE command to truncate foreign tables"。 文件中的拼寫錯誤、更正和語言改進。 作者:Justin Pryzby, Fujii Masao 審閱者:Bharath Rupireddy, Justin Pryzby, Fujii Masao 討論:https://postgr.es/m/20210411041658.GB14564@telsasoft.com https://git.postgresql.org/pg/commitdiff/0c8f40863acb94963df9fd6a4369eb71efe9a93b
Andrew Dunstan 推送
perldoc overload
:如果(且僅當)兩個運算元已交換時,第三個參數設定為 TRUE。 Perl 可能會這樣做,以確保第一個參數 ($self) 是一個實作了過載運算的物件,符合一般的物件呼叫慣例。 https://git.postgresql.org/pg/commitdiff/fa26eba221a9e837493df47d0255ce615129e9a8David Rowley 推送
Bruce Momjian 推送
Bharath Rupireddy 發送了一個 patch,將 BLCKSZ 而不是 pageSize 傳遞給 gistinitpage,使其與 BloomInitPage、brin_page_init 和 SpGistInitPage 對齊。
Yugo Nagata 發送了兩個更多版本的 patch,以實作增量視圖維護。
Peter Eisentraut 發送了另一個版本的 patch,以修復具有產生欄位的 ALTER TABLE / INHERIT。
Tang 發送了另一個版本的 patch,以支援 psql 中大寫字元輸入的查詢結果的 tab 補全。
Tom Lane 發送了一個 patch,以移除 rewriter 中完成的一些無用工作。
Andrey V. Lepikhov 發送了一個 patch,以避免在不掃描外部分割區時進行不必要的工作。
Masahiro Ikeda 發送了另一個版本的 patch,以加速報告 wal 統計資訊,而無需引入新變數,並將 XXXUsage 的資料類型從 long 變更為 int64。
Michaël Paquier 發送了一個 patch,以在 pg_stat_activity 中追蹤已驗證的身分,因為現在已有用於記錄目的的功能。
Mark Dilger 和 Robert Haas 交換了 patch,以修改 toast 並測試 pg_amcheck 並修改 toast 損壞測試的預期輸出。
Vigneshwaran C 和 Bharath Rupireddy 交換了 patch,以增強錯誤訊息,以包含冗餘選項錯誤的提示訊息。
Ajin Cherian 發送了另一個版本的 patch,以跳過邏輯複製的空交易。
Bharath Rupireddy 發送了一個 patch,以檢查重複選項並在 CREATE COLLATION 指令中發生錯誤。
Andrey V. Lepikhov 發送了另一個版本的 patch,以修復執行器和異步附加節點之間的不協調。
Andres Freund 發送了一個 patch,以修復 REFRESH MATERIALIZED VIEW 的效能下降問題。
David Fetter 和 Aleksander Alekseev 交換了 patch,以確保 ALTER TABLE ... VALIDATE CONSTRAINT ... 的 tab 補全僅使用尚未有效的約束。
Joel Jacobson 和 Michaël Paquier 交換了 patch,以確保 pg_identify_object_as_address() 支援 pg_event_trigger oids。
Vigneshwaran C、Masahiko Sawada 和 Amit Kapila 交換了 patch,以修復 'total_bytes' 的 slot 統計資訊的計算,這可能會多次計算,方法是使用針對交易解碼的變更大小來計算它。
Hou Zhijie 發送了另一個版本的 patch,以實作 { CREATE | ALTER } TABLE ... PARALLEL DML { UNSAFE | RESTRICTED | SAFE };
Kyotaro HORIGUCHI 發送了另一個版本的 patch,以修復一些可疑的錯誤訊息和註解。
David Christensen 發送了另一個版本的 patch,以擴展 pg_size_bytes 中支援的單位,以涵蓋所有單位。
Tom Lane 發送了一個 patch,旨在透過檢查複合型別的使用情況來修復一個錯誤,該錯誤表現為 pg_upgrade 無法檢測到不受支援的陣列和範圍。
Hou Zhijie 發送了另一個版本的 patch,以修復一些平行安全檢查。
Peter Geoghegan 發送了一個 patch,旨在透過在 lazy_scan_heap 中將 all_visible_according_to_vm 設定為 false 來修復一個錯誤,該錯誤表現為在運行邏輯複製時 lazy_scan_heap() 中報告的 "FailedAssertion"。
Amul Sul 發送了一個 patch,以在 EXPLAIN 中隱藏內部臨時 schema 名稱,並變更相同項目的資料表描述。
Peter Smith 發送了另一個版本的 patch,以將對預備交易的支援添加到內建的邏輯複製中,並添加對流式交易的預備 API 支援。
Vaibhav Dalvi 發送了一個 patch,以移除 pg_upgrade 的 function quote_identifier 中不需要的後置遞增。
Richard Yen 發送了三個版本的 patch,以使 pg_filedump 可以讀取 pg_filenode.map。
Vigneshwaran C 送出一個修補程式,將 xid 包含在從磁碟還原重新排序緩衝區變更中。
Álvaro Herrera 送出另一個修訂版的修補程式,以修正一個錯誤,該錯誤表現為 InvalidateObsoleteReplicationSlots() 中的競爭條件。
Peter Eisentraut 送出另一個修訂版的修補程式,以防止 lwlock dtrace 探針執行不必要的工作。
Álvaro Herrera 送出另一個修訂版的修補程式,以從 transformCreateStmt 中移除一個多餘的變數。
Thomas Munro 送出一個修補程式,為 socket shutdown 事件新增 WL_SOCKET_CLOSED,並將 WL_SOCKET_CLOSED 用於 client_connection_check_interval。
Amit Kapila 送出一個修補程式,透過涵蓋檢測 ERRCODE_TRANSACTION_ROLLBACK 無法涵蓋的案例,來加強解碼期間的並行中止檢查。
Andres Freund 送出一個修補程式,以協助即將推出的 WAL 預取修補程式正常運作。
David Rowley 送出另一個修訂版的修補程式,在 SMgr 中使用 simplehash.h 雜湊表。
Justin Pryzby 送出另一個修訂版的修補程式,新增允許從 v9.5-v13 升級到 v14dev 所需的變更,新增更多允許升級測試所需的變更,新增一個測試來執行二進制兼容性,並將 pg_upgrade 的權宜之計移至 SQL 腳本。
Julien Rouhaud 送出一個修補程式,為可擴展的語法解析新增一個掛鉤 (hook)。
Tom Lane 送出兩個修訂版的修補程式,以修正由新的 match-all 程式碼引起的 regex 效能衰退。
Vigneshwaran C 送出另外兩個修訂版的修補程式,以識別在 CREATE/ALTER SUBSCRIPTION 期間 publisher 遺失的發布 (publications)。
Alexander Korotkov 送出四個修訂版的修補程式,使 websearch_to_tsquery() 將引號中的文字解析為單一 token。
Noah Misch 送出另一個修訂版的修補程式,以傾印 public schema 的所有權和安全標籤,並傾印 COMMENT ON SCHEMA public。