pgSCV,一個相容 Prometheus 的 PostgreSQL 監控代理程式和指標匯出器,已發佈。
Pgpool-II 4.2.3、4.1.7、4.0.14、3.7.19 和 3.6.26,一個 PostgreSQL 的連線池和語句複製系統,已發佈。
sqlite_fdw 1.2.0 已發佈。
Crunchy PostgreSQL Operator 4.7.0,一個在 Kubernetes 上部署和管理開源 PostgreSQL 叢集的系統,已發佈。
pgAdmin4 5.3,一個用於 PostgreSQL 的基於 Web 和原生 GUI 的控制中心,已發佈。
InfluxDB fdw 1.0.0 已發布 https://github.com/pgspider/influxdb_fdw
griddb_fdw 2.0 已發布。
https://archives.postgresql.org/pgsql-jobs/2021-05/
Planet PostgreSQL: https://planet.postgresql.org/
本週的 PostgreSQL 每週新聞由 David Fetter 帶給您
請在太平洋標準時間 (PST8PDT) 星期日下午 3:00 前將新聞和公告提交至 david@fetter.org。
David Rowley 推送了
新增建置結果快取路徑時遺失的 NULL 檢查。 在 9e215378d 中新增的程式碼,用於在並非所有聯結條件都是唯一聯結參數化一部分時,停用建置結果快取路徑,但未先檢查內部路徑的 param_info 是否已設定,然後才檢查 param_info 的 ppi_clauses。在此處新增 NULL 值檢查,如果 param_info 為 NULL,則放棄嘗試建置路徑。在決定聯結是否唯一時,不會考慮 lateral_vars,因此當存在 lateral_vars 且沒有 param_info 時,我們不會錯過進行最佳化。 回報者:Coverity,透過 Tom Lane 討論:https://postgr.es/m/457998.1621779290@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/99c5852e20a0987eca1c38ba0c09329d4076b6a0
修正結果快取節點的 setrefs.c 程式碼。 在 9eacee2e6 中新增的結果快取未正確調整 setrefs.c 中的計劃參考。 這可能導致 EXPLAIN 期間出現以下錯誤: 錯誤:無法反編譯計劃樹中的聯結別名變數 修復此問題。 Bug:17030 回報者:Hans Buschmann 討論:https://postgr.es/m/17030-5844aecae42fe223@postgresql.org https://git.postgresql.org/pg/commitdiff/cba5c70b956810c61b3778f7041f92fbb8065acb
Tom Lane 推送了
文件:將一些 catalogs.sgml 條目移動到正確的位置。 pg_statistic_ext_data.stxdexpr 列在錯誤的目錄下,pg_stats_ext.exprs 也是如此。 此外,pg_statistic_ext_data.stxexprs 還有一個假的條目。 顯然是 commit a4d75c86b 中的合併失敗。 Guillaume Lelarge 和 Tom Lane 討論:https://postgr.es/m/CAECtzeUHw+w64eUFVeV_2FJvi Aw6oZ0wNLkmU843ZH4hAQfiWg@mail.gmail.com https://git.postgresql.org/pg/commitdiff/713a431c781fbfe1a22fae4991836077f0f4c513
修正 inline_function() 中未初始化變數的使用。 Commit e717a9a18 引入了一條繞過 get_expr_result_type 呼叫的程式碼路徑,這不好,因為我們需要它的 rettupdesc 結果傳遞給 check_sql_fn_retval。 我們沒有立即注意到,因為 check_sql_fn_retval 在此上下文中相當難以觸及該參數的程式碼路徑。 但這並非不可能,無論如何,inline_function 無權假設 check_sql_fn_retval 不需要該值。 為了修正此問題,請將 get_expr_result_type 移出 if 區塊,這反過來又需要將虛擬 FuncExpr 的建構移出它。 根據 Ranier Vilela 的報告。 (我對編譯器沒有任何抱怨感到困惑...) 討論:https://postgr.es/m/CAEudQAqBqQpQ3HruWAGU_7WaMJ7tntpk0T8k_dVtNB46DqdBgw@mail.gmail.com https://git.postgresql.org/pg/commitdiff/e30e3fdea873e4e9517c490232ea1d3bcef6c643
重新思考 pg_attribute.attcompression 的定義。 將 '\0' (InvalidCompressionMethod) 重新定義為表示「如果我們需要壓縮,則使用 default_toast_compression 的目前設定」。 這允許 '\0' 成為適用於任何資料類型的合適預設選擇,大大簡化了初始化 tupledescs 之類的程式碼路徑。 這似乎也是一種更人性化的方法,因為現在預設壓縮選擇不會遷移到表定義中,這意味著更改 default_toast_compression 通常足以翻轉安裝的行為; 無需費力地發出每個欄位的 ALTER SET COMPRESSION 命令。 在此過程中,修正每個欄位壓縮功能的一些小錯誤和文件問題。 為 SetIndexStorageProperties 和 GetAttributeCompression 採用更強大的 API。 提高 catversion,因為 attcompression 的典型內容現在會有所不同。 我們可以不必這樣做,但最好確保 v14 安裝都同意這一點。 (無論如何,我們已經強制執行 beta2 的 initdb。) 討論:https://postgr.es/m/626613.1621787110@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/e6241d8e030fbd2746b3ea3f44e728224298f35b
減少為 genbki.pl 保留的 OID 範圍。 Commit ab596105b 將 FirstBootstrapObjectId 從 12000 增加到 13000,但我們對此進行了一些反駁。 減少與 FirstNormalObjectId 之間的光線令人擔憂,因為在 initdb 期間為定序物件消耗的 OID 數量很難預測。 我們可以透過放棄這些 OID 必須在全域範圍內唯一的假設來改善情況。 它們對於每個目錄來說是唯一的就足夠了。 (無論如何,任何對此感到不滿意的程式碼都會損壞,因為一旦 OID 計數器迴繞,就無法保證每個目錄的唯一性。)透過此變更,在 genbki.pl 期間(從 10000 的基數開始)指派的最大 OID 略低於
這允許將 FirstBootstrapObjectId 還原為 12000,並有合理的信心,這在未來許多年中都足夠了。 目前,我們不會放棄手動指派的 OID(低於 10000)在全域範圍內唯一的期望。 有一天可能需要這樣做,但這種需求似乎還需要幾年時間。 這對於 v14 來說已經很晚了,但現在這樣做似乎值得,這樣下游軟體就不必處理 FirstBootstrapObjectId 變更的後果。 無論如何,我們已經同意強制執行 beta2 的 initdb,因此另一個 catversion 增加不會有任何損害。 討論:https://postgr.es/m/1665197.1622065382@sss.pgh.pa.us https://git.postgresql.org/pg/commitdiff/a4390abecf0f5152cff864e82b67e5f6c8489698
文件:改善 libpq 服務檔案文件,避免過度指定路徑名稱。澄清 libpq.sgml 中關於服務檔案位置和語意的描述。避免使用反引號標註的 pg_config 呼叫來描述路徑;這在 Windows 上行不通,即使在 Unix 上,也不是所有讀者都熟悉的用法。不要過度指定 include 檔案的位置,僅寫入 #include 指令中使用的部分即可。先前這些地方的文字對於某些安裝是不正確的,具體取決於 "postgresql" 在安裝路徑中的位置。我們引用使用者家目錄的慣例似乎是 "~",因此將拼寫為 "$HOME" 的地方更改為 "~"。install-windows.sgml 遵循平台的慣例,使用 "\" 拼寫檔案路徑,因此將使用 "/" 的地方更改為 "\"。Haiying Tang 和 Tom Lane 的討論:https://postgr.es/m/162149020918.26174.7150424047314144297@wrigleys.postgresql.org https://git.postgresql.org/pg/commitdiff/ba356a397de565c014384aa01a945aab7d50928c
Peter Geoghegan 推送了
考慮在掃描期間觸發 VACUUM 故障安全機制。commit 1e55e7d1 添加的 wraparound 故障安全機制通過添加專用的故障安全檢查來處理單遍策略案例(即「表沒有索引」的情況)。這彌補了在單遍策略 VACUUM 期間,lazy_vacuum_all_indexes() 內部的常規單遍檢查永遠無法到達的事實。這種方法未能考慮選擇預先退出索引 vacuuming 的兩遍 VACUUM。INDEX_CLEANUP 關閉的情況是唯一像這樣工作的情況。通過在堆的第一次掃描期間每 4GB 執行一次故障安全檢查來修復此問題,無論 VACUUM 的細節如何。這消除了特殊情況,並將更可靠地觸發故障安全機制。作者:Peter Geoghegan pg@bowt.ie 報告者:Andres Freund andres@anarazel.de 審閱者:Masahiko Sawada sawada.mshk@gmail.com 討論:https://postgr.es/m/20210424002921.pb3t7h6frupdqnkp@alap3.anarazel.de https://git.postgresql.org/pg/commitdiff/c242baa4a831ac2e7dcaec85feb410aefa3a996e
修復 VACUUM VERBOSE 的 LP_DEAD 項目頁面輸出。commit 5100010e 中的疏忽。 https://git.postgresql.org/pg/commitdiff/9afdea982420f9672b88e5c17d1ee8eec64105fc
Michaël Paquier 推送了
禁止 SSL 重新協商。從 48d23c72 開始,SSL 重新協商已被禁用,但是這並不能阻止伺服器遵守願意使用重新協商的客戶端。在過去幾年中,重新協商存在一系列安全問題和缺陷(如最近的 CVE-2021-3449),並且可能會導致後端崩潰,因為客戶端嘗試重新協商。此 commit 採取了額外的步驟,通過以與 SSL 壓縮 (f9264d15) 或票證 (97d3a0b0) 相同的方式在後端禁用重新協商。OpenSSL 1.1.0h 添加了一個名為 SSL_OP_NO_RENEGOTIATION 的選項,能夠實現這一點。在較舊的版本中,有一個稱為 SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS 的選項,該選項未記錄在案,可以在 TLS 連接打開時創建的 SSL 物件中設置,但我決定不使用它,因為依靠它感覺比較棘手,而且它不是官方的。請注意,此選項在 OpenSSL < 1.1.0h 中不可用,因為 *SSL
物件的內部內容對應用程式隱藏。SSL 重新協商涉及高達 TLSv1.2 的協議。根據 Robert Haas 的原始報告,並基於 Andres Freund 的建議進行了修補。作者:Michael Paquier 審閱人:Daniel Gustafsson 討論:https://postgr.es/m/YKZBXx7RhU74FlTE@paquier.xyz 向後移植到:9.6 https://git.postgresql.org/pg/commitdiff/01e6f1a842f406170e5f717305e4a6cf0e84b3ee
修復在 VACUUM FULL/CLUSTER 中解壓縮壓縮值時的記憶體洩漏。如果當前儲存的值使用與該列定義的方法不匹配的方法進行壓縮,則 VACUUM FULL 和 CLUSTER 可用於強制使用可 toast 列的現有壓縮方法。負責在重寫時解壓縮和重新壓縮 toast 值的程式碼保留了解壓縮的值,導致 TopTransactionContext 中分配的記憶體累積。在處理大型關聯時,這可能會導致系統耗盡記憶體。一旦重寫了它們的元組,就不再需要解壓縮的值,此 commit 確保進行必要的清理。bbe0a81d 引入的問題。同時重新排列了該區域的註解。報告人:Andres Freund 分析人:Andres Freund 作者:Michael Paquier 審閱人:Dilip Kumar 討論:https://postgr.es/m/20210521211929.pcehg6f23icwstdb@alap3.anarazel.de https://git.postgresql.org/pg/commitdiff/fb0f5f0172edf9f63c8f70ea9c1ec043b61c770e
修復 heapam.c 中的拼寫錯誤。作者:Hou Zhijie 討論:https://postgr.es/m/OS0PR01MB571612191738540B27A8DE5894249@OS0PR01MB5716.jpnprd01.prod.outlook.com https://git.postgresql.org/pg/commitdiff/190fa5a00a8f9ecee8eef2c8e26136b772b94e19
文件:修復文件中和 postgresql.conf.sample 中一些 GUC 的描述。以下參數的描述不精確或不正確(PGC_POSTMASTER 或 PGC_SIGHUP): - autovacuum_work_mem(文件,從 9.6 開始) - huge_page_size(文件,從 14 開始) - max_logical_replication_workers(文件,從 10 開始) - max_sync_workers_per_subscription(文件,從 10 開始) - min_dynamic_shared_memory(文件,從 14 開始) - recovery_init_sync_method(postgresql.conf.sample,從 14 開始) - remove_temp_files_after_crash(文件,從 14 開始) - restart_after_crash(文件,從 9.6 開始) - ssl_min_protocol_version(文件,從 12 開始) - ssl_max_protocol_version(文件,從 12 開始) 此 commit 調整了所有這些參數的描述,使其與其他參數使用的實踐更加一致。審閱人:Justin Pryzby 討論:https://postgr.es/m/YK2ltuLpe+FbRXzA@paquier.xyz 向後移植到:9.6 https://git.postgresql.org/pg/commitdiff/2941138e60fc711bd221b3264807f36cc079dfbb
修復使用 GSSAPI/Kerberos 構建時的 MSVC 腳本。Windows 上上游 Kerberos 的交付物安裝的路徑與我們的 MSVC 腳本不匹配。首先,我們的腳本中的 include 資料夾名為 "inc/",但上游 MSI 使用 "include/"。其次,由於庫的命名方式不同,因此在 64 位元環境中構建將失敗。此 commit 調整了 MSVC 腳本,使其與上游的最新安裝相容,並且我已檢查到編譯能夠與 32 位元和 64 位元安裝一起使用。特別感謝 Kondo Yuta 在調查 hamerkop 中的情況(其中 GSS 編譯的配置不正確)方面提供的幫助。報告人:Brian Ye 討論:https://postgr.es/m/162128202219.27274.12616756784952017465@wrigleys.postgresql.org 向後移植到:9.6 https://git.postgresql.org/pg/commitdiff/025110663448a8c877f4b591495f2e5d187d8936
Amit Kapila 推送了
改善平行 vacuum 的文件和錯誤訊息。錯誤訊息、文件和其中一個選項使用 'parallel degree' 來表示 vacuum 指令使用的平行處理。我們通常在其他地方使用 'parallel workers',因此相應地更改平行 vacuum 的設定。作者:Bharath Rupireddy 審閱人:Dilip Kumar, Amit Kapila 向後移植到:13 討論:https://postgr.es/m/CALj2ACWz=PYrrFXVsEKb9J1aiX4raA+UBe02hdRp_zqDkrWUiw@mail.gmail.com https://git.postgresql.org/pg/commitdiff/0734b0e983443882ec509ab4501c30ba9b706f5f
文件:更新邏輯解碼的統計資訊。將 pg_stat_replication_slots 視圖的資訊以及其他與邏輯解碼相關的系統目錄資訊加入。作者:Vignesh C 審閱者:Amit Kapila 討論:https://postgr.es/m/20210319185247.ldebgpdaxsowiflw@alap3.anarazel.de https://git.postgresql.org/pg/commitdiff/0c6b92d9c6fb74255467573fde54f65139b26603
修正串流多重插入 TOAST 變更時的斷言錯誤。在解碼多重插入的 WAL 時,我們必須等到取得該 WAL 紀錄的最後一次插入,才能清除 TOAST。現在,如果我們在取得最後變更之前串流變更,則 TOAST 區塊的記憶體將不會釋放,並且我們預期在串流之後,txn 已串流所有變更。這個限制主要是為了確保串流交易的正確性,並且僅僅為了允許這種情況而解除此限制似乎並不值得,因為無論如何,一旦這樣的插入完成,我們就會串流該交易。以前,我們使用兩個不同的旗標(一個用於 TOAST 元組,另一個用於推測性插入)來指示部分變更。現在,我們將它們替換為一個單一旗標來指示部分變更。回報者:Pavan Deolasee 作者:Dilip Kumar 審閱者:Pavan Deolasee、Amit Kapila 討論:https://postgr.es/m/CABOikdN-_858zojYN-2tNcHiVTw-nhxPwoQS4quExeweQfG1Ug@mail.gmail.com
https://git.postgresql.org/pg/commitdiff/6f4bdf81529fdaf6744875b0be99ecb9bfb3b7e0
Peter Eisentraut 已推送
postgresql.conf.sample:使垂直間距一致。https://git.postgresql.org/pg/commitdiff/8673a37c85fef00dd5b9c04197538142bec10542
將執行階段錯誤檢查替換為斷言。該錯誤訊息正在檢查從剖析器傳回的結構是否符合預期。這通常是我們使用斷言的地方,而不是完整的使用者可見的錯誤訊息。因此,將其替換為斷言(隱藏在 lfirst_node() 中)。審閱者:Tom Lane tgl@sss.pgh.pa.us 討論:https://postgres.tw/message-id/flat/452e9df8-ec89-e01b-b64a-8cc6ce830458%40enterprisedb.com https://git.postgresql.org/pg/commitdiff/388e75ad33489b77cfb9a8590a91e9287d8fb960
將 NO_INSTALL 選項新增到 pgxs。應用於 libpq_pipeline 測試 makefile,以便該測試檔案不會安裝到 tmp_install 中。審閱者:Alvaro Herrera alvherre@alvh.no-ip.org 審閱者:Tom Lane tgl@sss.pgh.pa.us 討論:https://postgres.tw/message-id/flat/cb9d16a6-760f-cd44-28d6-b091d5fb6ca7%40enterprisedb.com https://git.postgresql.org/pg/commitdiff/6abc8c2596dbfcb24f9b4d954a1465b8015118c3
修正 libpq_pipeline 測試中的 vpath 建置。該路徑需要設定為指向建置目錄,而不是目前目錄,因為在那個時間點它實際上是原始碼目錄。修正 6abc8c2596dbfcb24f9b4d954a1465b8015118c3 https://git.postgresql.org/pg/commitdiff/a717e5c771610cf8607f2423ab3ab6b5d30f44ea
Álvaro Herrera 已推送
使 detach-partition-concurrently-3 對時間不那麼敏感。這個最近新增的測試顯示對發送取消到等待鎖定的會話的時間太敏感。我們通過在取消後立即在被阻塞的會話中運行一個空操作查詢來解決這個問題;這避免了發送取消的會話在取消被報告之前立即發送另一個查詢。由 Noah Misch 提出。有了這個修正,我們有時會看到取消錯誤報告僅相對於被取消的步驟顯示,而不是與發送取消的步驟一起顯示。為了增加兩個步驟一起顯示的概率,我們在取消中增加了 0.1 秒的睡眠時間。在正常情況下,這似乎足以消除大多數失敗,但我們會看到速度較慢的 buildfarm 成員對此有何看法。回報者:Takamichi Osumi osumi.takamichi@fujitsu.com 討論:https://postgr.es/m/OSBPR01MB4888C4ABA361C7E81094AC66ED269@OSBPR01MB4888.jpnprd01.prod.outlook.com https://git.postgresql.org/pg/commitdiff/5e0b1aeb2dfed4f1eb7ac5154c1573885a70db41
使 detach-partition-concurrently-4 對時間不那麼敏感。與 5e0b1aeb2dfe 相同,適用於伴隨的測試檔案。這個測試的失敗機率似乎較低(一個月中只有兩個失敗);如果沒有補丁,我幾乎無法重現失敗,因此我無法使用它重現失敗的事實,並不能說明任何問題。我們必須等待進一步的 buildfarm 結果,才能知道是否需要任何進一步的調整。討論:https://postgr.es/m/20210524090712.GA3771394@rfd.leadboat.com https://git.postgresql.org/pg/commitdiff/eb43bdbf5104c183412aac0fccf8e515e60d9212
Andrew Dunstan 已推送
在 MSVC 建置的 pg_config 中報告已設定的 port。這是一個長期存在的遺漏,在嘗試編寫依賴它的程式碼時發現。回溯修補到所有現有分支。https://git.postgresql.org/pg/commitdiff/fb424ae85f6b1e32e545f13902d3ba3429be44df
修正語法錯誤。https://git.postgresql.org/pg/commitdiff/d69fcb9caef1ac1f38241645d4fb9f7e0ce02a70
Thomas Munro 已推送
Fabien COELHO 和 Aleksander Alekseev 交換了補丁,以將 rand48 偽隨機數產生器替換為更適合 64 位時代的產生器。
Greg Nancarrow 和 Pavel Borisov 交換了補丁,以修復平行工作程序失敗斷言和核心轉儲。
Vigneshwaran C 發送了另一個修訂版的補丁,以新增對 PUBLICATION 的架構層級支援。
Hou Zhijie 和 Amit Langote 交換了補丁,以便在分割區鍵為常數時跳過分割區元組路由。
Dilip Kumar、Tsutomu Yamada 和 Kyotaro HORIGUCHI 交換了補丁,以修復恢復中的競爭條件。
Hou Zhijie 發送了另一個修訂版的補丁,使其可以平行化 INSERT ... SELECT。
Tom Lane 發送了兩個修訂版的補丁,以修復 CALL 和僅具有輸出引數的程序之間的不和諧之處。
Justin Pryzby 發送了另一個修訂版的補丁,使 WAL 壓縮方法可插入,並預設為 lz4。
Andy Fan 發送了一個補丁,以便在 root->simple_rte_array 時使用 planner_rt_fetch 而不是 rt_fetch。
Ajin Cherian 發送了另外五個修訂版的補丁,以跳過邏輯複製的空交易。
Mark Dilger 發送了另一個修訂版的補丁,以將超級使用者任務委派給新的安全角色。
侯志杰 (Hou Zhijie)、巴拉特·魯皮雷迪 (Bharath Rupireddy) 和托馬斯·馮德拉 (Tomáš Vondra) 交換了程式碼修補,以確保 postgres_fdw 批次處理不會使用過多的參數。
巴拉特·魯皮雷迪 (Bharath Rupireddy) 送出一個程式碼修補,提供 TDE nonce 大小作為 initdb 選項,將 TDE nonce 位元組新增到頁面的 pd_special 結構,並調整測試以考慮可設定的 TDE nonce 大小。
巴拉特·魯皮雷迪 (Bharath Rupireddy) 送出另一個程式碼修補修訂版,以消除使用「非負數 (non-negative)」的錯誤訊息的歧義。
安東寧·豪斯卡 (Antonin Houska) 送出一個程式碼修補,以縮小並行 UPDATE 重新啟動 heap_lock_tuple() 的情況,從而減少對它的不必要調用。
格雷格·薩比諾·穆蘭 (Greg Sabino Mullane) 送出一個程式碼修補,加速 pg_checksums 在已經設定校驗和的情況下的運作,避免在已經設定為預期值時再次寫入相同的值。
米歇爾·帕奎爾 (Michaël Paquier) 送出一個程式碼修補,旨在修復一個 bug,該 bug 在使用 2PC 時,於提升熱備節點時表現為不正確的快照。
巴拉特·魯皮雷迪 (Bharath Rupireddy) 送出另外兩個程式碼修補修訂版,以檢查重複的選項,如果 CREATE COLLATION 中找到重複的選項,則發出錯誤訊息。
安德烈·V·萊皮霍夫 (Andrey V. Lepikhov) 送出一個程式碼修補,教導最佳化器考慮非分割表格與分割表格的每個分割區進行分割區式聯結。
安德烈·V·萊皮霍夫 (Andrey V. Lepikhov) 送出另一個程式碼修補修訂版,透過新的等價類別移除不必要的自我聯結。
彼得·艾森特勞特 (Peter Eisentraut) 送出一個程式碼修補,修復 hba 檔案剖析中的 RADIUS 錯誤報告。
維格納什瓦蘭·C (Vigneshwaran C) 和巴拉特·魯皮雷迪 (Bharath Rupireddy) 交換了程式碼修補,以改善發布錯誤訊息。
湯姆·萊恩 (Tom Lane) 送出另一個程式碼修補修訂版,將 pg_depend PIN 條目替換為固定範圍檢查。
堀口京太郎 (Kyotaro HORIGUCHI) 送出兩個程式碼修補修訂版,將令人困惑的「bracket」用法更改為更清晰的措辭,並為 (multi)range 類型的尾隨垃圾新增了測試案例。
巴拉特·魯皮雷迪 (Bharath Rupireddy) 和侯志杰 (Hou Zhijie) 交換了程式碼修補,使其可以在 CREATE TABLE AS 中使用並行插入。
迪利普·庫瑪 (Dilip Kumar) 送出一個程式碼修補,修復了使用 toast 解碼推測性插入時的記憶體洩漏。
彼得·喬根 (Peter Geoghegan) 送出一個程式碼修補,以泛化 VACUUM 的 INDEX_CLEANUP 選項,允許使用者停用 commit 5100010e 新增的索引 vacuum 繞過最佳化,以及未來可能新增的任何類似最佳化。
保羅·郭 (Paul Guo) 送出另一個程式碼修補修訂版,以僅 fsync 受影響的檔案/目錄,並在 pg_rewind 中使用 copy_file_range() 進行檔案複製。
大角隆道 (Takamichi Osumi) 送出另一個程式碼修補修訂版,以記錄長時間執行查詢的計劃。
丹尼爾·古斯塔夫松 (Daniel Gustafsson) 送出另一個程式碼修補修訂版,以支援 NSS 作為 libpq TLS 後端。
藤田悅朗 (Etsuro Fujita) 送出一個程式碼修補,修復 PostgreSQL FDW 中非同步附加的重新掃描。
維格納什瓦蘭·C (Vigneshwaran C) 送出一個程式碼修補,新增別名類型 regpublication 和 regsubscription。
法比安·科埃略 (Fabien COELHO) 送出一個程式碼修補,以減少 psql 的 echo 程式碼中的一些重複。
勞倫茲·阿爾貝 (Laurenz Albe) 送出另一個程式碼修補修訂版,以擴展 PostgreSQL 擴充功能程式碼編寫和背景工作程式開發的文件,以便至少簡要地提及諸如分配、中斷處理、退出回呼、事務回呼、PG_TRY()/PG_CATCH()、資源所有者、事務和快照狀態等關鍵主題,並提供一些學習更多資訊的指標。
湯姆·萊恩 (Tom Lane) 送出一個程式碼修補,以減少待處理的無效訊息的記憶體消耗。
安德烈亞斯·卡爾森 (Andreas Karlsson) 送出一個程式碼修補,以縮小 GISTSTATE。
尤拉·索科洛夫 (Yura Sokolov) 送出一個程式碼修補,以清除頁面中的空白空間。
托馬斯·馮德拉 (Tomáš Vondra) 送出一個程式碼修補,以還原 COPY FREEZE 改善的一部分,即調整 heap_multi_insert,並移除 39b66a91bd 的大部分(除了 heap_xlog_multi_insert 部分)。
托馬斯·芒羅 (Thomas Munro) 送出兩個程式碼修補修訂版,以支援 macOS 上的直接 I/O。