PG Day Russia 將於 2021 年 7 月 8-9 日在線上舉行。徵稿 (CfP) 現已開放,請至 Submit your talk by June 7, 2021! 提交您的演講!
PL/R 8.4.2,PostgreSQL 中 R 語言的嵌入,已發布。
WAL-G 1.0,一個用於 PostgreSQL 和其他以 Go 編寫的資料庫的備份管理系統,已發布。
pgtt 2.4,一個用於實現全域臨時表的擴展,已發布。
Database .NET v32.6,一個多資料庫管理工具,現在支援 PostgreSQL,已發布。
pg_partman 4.5.1,一個用於分區表的管理系統,已發布。
hypopg 1.3.0,一個實現假設索引的擴展,已發布。
Planet PostgreSQL: https://planet.postgresql.org/
本週 PostgreSQL 每週新聞由 David Fetter 帶給您
請在太平洋標準時間下午 3:00 前的週日將新聞和公告提交至 david@fetter.org。
Michaël Paquier 推送
改進多範圍類型解析的一些錯誤措辭。在一些錯誤訊息中,大括號僅被稱為括號(而不是花括號或大括號),這可能會造成混淆,因為可以使用其他類型的括號。在此同時,添加一個測試來檢查在右大括號後檢測到垃圾字元的情況。作者:Kyotaro Horiguchi 討論:https://postgr.es/m/20210514.153153.1814935914483287479.horikyota.ntt@gmail.com https://git.postgresql.org/pg/commitdiff/12cc956664f159e97be71e33f15ec5f42e46b24e
忽略 TAP 測試中更多的環境變數。各種環境變數沒有在 TAP 測試中重置,這可能會根據測試或涉及的環境變數導致失敗。例如,PGSSL{MAX,MIN}PROTOCOLVERSION 可能導致 SSL 測試失敗。更糟的是,PGCLIENTENCODING 的垃圾值會導致伺服器啟動失敗。重置的變數清單會在每個穩定分支中進行調整,具體取決於支援的內容。在此同時,根據 Andrew Dunstan 的建議,簡化了程式碼,使用變數清單而不是執行單個刪除。審閱者:Andrew Dunstan, Daniel Gustafsson 討論:https://postgr.es/m/YLbjjRpucIeZ78VQ@paquier.xyz Backpatch-through: 9.6 https://git.postgresql.org/pg/commitdiff/8279f68a1b13d58a0c9869a60081009d8995e4df
減少 REFRESH MATVIEW CONCURRENTLY 內部查詢中的衝突風險。REFRESH MATERIALIZED VIEW CONCURRENTLY 使用的內部 SQL 查詢包含一些具有相當通用名稱的 diff 和臨時關係別名:diff、newdata、newdata2 和 mv。根據用於實體化檢視的查詢,使用 CONCURRENTLY 可能導致一些內部故障,如果 matview 查詢和那些內部別名衝突。這些名稱已在 841c29c8 中選擇。此提交改為切換到一種不太可能導致衝突的命名模式,基於 Thomas Munro 的想法,通過將 _$
附加到這些別名。這並不完美,因為這些新名稱仍然可能衝突,但至少它具有保持程式碼可讀且簡單的優勢,同時將衝突的可能性降低到接近於零。報告者:Mathis Rudolf 作者:Bharath Rupireddy 審閱者:Bernd Helmle, Thomas Munro, Michael Paquier 討論:https://postgr.es/m/109c267a-10d2-3c53-b60e-720fcf44d9e8@credativ.de Backpatch-through: 9.6 https://git.postgresql.org/pg/commitdiff/187682c3217375c9b70417bf3235790f639e8e7e
doc: 修正 PGSSLMAXPROTOCOLVERSION 的連結參考。該連結指向的是最小協議版本。ff8ca5f 中的錯誤。作者:Daniel Gustafsson 討論:https://postgr.es/m/F893F184-C645-4C21-A2BA-583441B7288F@yesql.se Backpatch-through: 13 https://git.postgresql.org/pg/commitdiff/77e9d1b4884262fa09cd8d141c7eadad3affde8b
doc: 添加 PGSSLCRLDIR 的描述。這在專用於 libpq 支援的環境變數的章節中遺漏了。f5465fa 中的疏忽。審閱者:Daniel Gustafsson, Kyotaro Horiguchi 討論:https://postgr.es/m/YLhI0mLoRkY3u4Wj@paquier.xyz https://git.postgresql.org/pg/commitdiff/1e809db86b160e697a56bf47358f7733475840d3
Noah Misch 推送
在測試 010_logical_decoding_timelines.pl 中,將逾時時間提高到 180 秒。根據 buildfarm 成員 hornet。此外,更新 Pod 文件以顯示較低的值。Back-patch 到 v10,這是測試首次出現的地方。 https://git.postgresql.org/pg/commitdiff/d03eeab886baa1be73f8fc2938fb842d25a71fe8
修正遺失的 gettimeofday() 宣告。這避免了在具有 gettimeofday() 的 MinGW 版本下的警告,根據 buildfarm 成員 walleye。 https://git.postgresql.org/pg/commitdiff/49527a32ca97761d78efef732a4ac76a2fc086b2
將 Windows 檔案版本資訊添加到 libpq_pipeline.exe。 https://git.postgresql.org/pg/commitdiff/42344ad0ed465ea988d8310d2f413d65329f55a8
標準化 nodes/*funcs.c
對於 ForeignScan.resultRelation 的外觀。由於 readfuncs.c 欄位順序變更而導致 catversion 變更。 https://git.postgresql.org/pg/commitdiff/a2dee328bbe5b1979bbc6a784deb86a336c9cd74
Tom Lane 推送
修正重複套用投影的錯誤規劃。create_projection_plan 包含一個隱藏的假設(此處透過 Assert 明確指出),即支援投影的 Path 會產生支援投影的 Plan。不幸的是,這個假設在幾行程式碼後,就被 create_projection_plan 本身違反了。這意味著兩個堆疊的 ProjectionPath 可能會產生一種情況,我們嘗試將上層 path 的 tlist 塞入不支援投影的子節點中,導致無效的 plan。沒有任何好的理由要有堆疊的 ProjectionPath;實際上,整個概念都是錯誤的,因為上層所需的 Vars/Aggs/etc 集合不一定在下層的輸出中可用,而且如果下層的輸入中沒有這些值,它也無法建立它們。因此,我們可以透過調整 create_projection_path 來修復這個問題,從它得到的子路徑中移除任何頂層的 ProjectionPath。(這相當於說「喔,我們改變了對這裡需要投影什麼的想法」。)這裡新增的測試案例只在 v13 和 HEAD 中失敗;在此之前,我們不會嘗試將 Sort 塞入 plan 的並行部分,原因我不是很清楚。然而,所有直接相關的程式碼看起來與 v11 幾乎相同,該風險是由 d7c19e62a 引入的。因此,我不太相信在 v11 和 v12 中,如果提供正確的測試案例,就不會存在相同類型的錯誤。因此,將程式碼變更向後移植,但不包括不相關的測試案例。根據 Bas Poot 的報告。討論:https://postgr.es/m/534fca83789c4a378c7de379e9067d4f@politie.nl https://git.postgresql.org/pg/commitdiff/6ee41a301e70fc8e4ad383bad22d695f66ccb0ac
拒絕 SELECT ... GROUP BY GROUPING SETS (()) FOR UPDATE。如同不帶 GROUPING SETS 的 FOR UPDATE,此情況應被禁止;FOR UPDATE 只有在查詢結果的每一列都可以與單一資料表列相關聯時才有意義。然而,我們忘記教導 CheckSelectLocking() 檢查 groupingSets 以及 groupClause,導致它允許退化的 grouping sets。這導致了錯誤的 plan 和執行器中的空指標反向引用。尋找相同錯誤的其他實例,我找到的唯一一個是在 examine_simple_variable() 中。這只會導致愚蠢的估計,但它也應該被修復。根據 Yaoguang Chen 的私人報告。向後移植到所有支援的分支。 https://git.postgresql.org/pg/commitdiff/1103033aedc10295eb689a4b7158f21ef4c14a11
教導 tab-complete.c 關於最近新增的 CREATE TYPE 選項。Commit c7aba7c14 遺漏在此處新增 SUBSCRIPT,而 commit 6df7a9698 遺漏新增 MULTIRANGE_TYPE_NAME。Haiying Tang 和 Tom Lane 討論:https://postgr.es/m/OS0PR01MB6113F9EDA46FA53BAA5445BDFB3D9@OS0PR01MB6113.jpnprd01.prod.outlook.com https://git.postgresql.org/pg/commitdiff/9e3b3ff2664dd0b349d2a6d6f047128cb3489cf2
更新 plannodes.h 中關於 PlanRowMark 的註解。此處對繼承的 UPDATE/DELETE 方案中不同實體欄位編號的引用已因 86dc90056 而過時;移除它。同時修改關於繼承情況的文字,使其更清晰。 https://git.postgresql.org/pg/commitdiff/79c50ca57828e9f8375766b36cce1e2960eebf87
修復規劃器針對來自外部資料表的繼承的 row-mark 程式碼。Commit 428b260f8 破壞了需要 row marks 的情況(SELECT FOR UPDATE 等)的規劃,並且查詢的資料表之一是具有一般資料表作為繼承子資料表的外部資料表。我們正確處理了相反的情況,但顯然認為外部資料表不能是繼承父資料表。並非如此;因此,在新增子資料表時,我們需要能夠新增 CTID junk 欄位,而不僅僅是 wholerow junk 欄位。向後移植到 v12,此處引入了錯誤的程式碼。Amit Langote 討論:https://postgr.es/m/CA+HiwqEmo3FV1LAQ4TVyS2h1WM=kMkZUmbNuZSCnfHvMcUcPeA@mail.gmail.com https://git.postgresql.org/pg/commitdiff/889592344c48d3965567f331b4ea89dfe6447bce
重新允許具有兩個以上元件的自定義 GUC 名稱。Commit 3db826bd5 禁止了這種情況,但事實證明有些人正在使用它。由於核心語法自 3dc37cd8d 以來就允許它,因此此程式碼也應該遵守。根據 Robert Sosinski 提供的錯誤 #17045。討論:https://postgr.es/m/17045-6a4a9f0d1513f72b@postgresql.org https://git.postgresql.org/pg/commitdiff/2955c2be79b35fa369c83fa3b5f44661cb88afa9
修復 pg_subscription 上不正確的權限。文件記載的意圖是,除了 subconninfo 之外的所有欄位都應可公開讀取。然而,這一點已被忽略了兩次。自從 subsynccommit 被引入以來,它就從未可讀,oid 欄位也是如此(對於 join 而言非常重要)。鑑於之前沒有人抱怨,目前尚不清楚是否值得在較舊的分支中對此進行任何處理。但仍有時間以較低的成本在 v14 中修復它。根據 Israel Barth(透過 Euler Taveira)的報告。由 Euler Taveira 提供的修補程式,由我進行可能無效的註解更新。討論:https://postgr.es/m/b8f7c17c-0041-46b6-acfe-2d1f5a985ab4@www.fastmail.com https://git.postgresql.org/pg/commitdiff/3590680b85a8e51ef8df550e5a10dedd0d2dfd88
Doc:修復錯誤的 intarray 索引範例。siglen 參數由 gist__intbig_ops 提供,而不是 gist__int_ops。Simon Norris 討論:https://postgr.es/m/11BF2AA9-17AE-432A-AFE1-584FB9FB079D@hillcrestgeo.ca https://git.postgresql.org/pg/commitdiff/e4539386decae1c435767a69507cc7cbb11ac3ff
修復 postgres_fdw 在 RECORD 類型的整列 Vars 中發生的故障。Commit 86dc90056 期望 FDW 可以處理其資料表的整列 Vars,即使這些 Vars 標記為 vartype RECORDOID。之前,規劃器產生的整列 Vars 的 vartype 等於相關資料表的 rowtype OID。(此變更背後的目的是為了實現跨繼承子資料表的 resjunk 欄位共享。)事實證明,postgres_fdw 無法處理此問題,但幸運的是,它的任何測試案例都沒有暴露此問題。大多數情況下都能正常工作,但是當我們嘗試讀取此類 Var 的值時,record_in() 無法使用預期的 rowtype。幸運的是,修改控制此過程的 tupdesc 並不困難,只需將外部資料表的 rowtype 替換為 RECORDOID。因此,我們可以在解決執行時問題的同時,仍然與其他資料表共享 resjunk 欄位。根據 Alexander Pyhalov 的報告。討論:https://postgr.es/m/7817fb9ebd6661cdf9b67dec6e129a78@postgrespro.ru https://git.postgresql.org/pg/commitdiff/f61db909dfb94f3411f8719916601a11a905b95e
Peter Eisentraut 推送
修復 hba 檔案剖析中 RADIUS 錯誤報告。parse_hba_line() 中與 RADIUS 相關的檢查沒有尊重 elevel,也沒有填寫 *err_msg
。此外,verify_option_list_length() 以無法翻譯的方式將錯誤訊息拼湊在一起。為了修復後者,移除該函數並內聯執行錯誤檢查。它有點冗長,但只稍微長一點,並且可以簡單地修復前兩個問題。Reviewed-by: Magnus Hagander magnus@hagander.net 討論:https://postgres.tw/message-id/flat/8381e425-8c23-99b3-15ec-3115001db1b2%40enterprisedb.com https://git.postgresql.org/pg/commitdiff/7c544ecdad814ccda709cfb6aa7d62840c3a7486
doc:在 pg_amcheck 參考頁面中群組選項。先前的安排只是一個很大的列表,並且內部順序也不完全一致。現在,按照群組排列選項並對其進行排序,就像在 --help 輸出和另一個參考頁面中所做的那樣。同時修復 --help 輸出中的一些排序。 https://git.postgresql.org/pg/commitdiff/cb3cffe694b6041c1de47b12b225e05f664c7285
修正 Python 3.10 的子交易測試。從 Python 3.10 開始,堆疊追蹤的呈現方式有所不同: - PL/Python 函數 "subtransaction_exit_subtransaction_in_with",第 3 行,在 <module> 中 - s.exit(None, None, None) + PL/Python 函數 "subtransaction_exit_subtransaction_in_with",第 2 行,在 <module> 中 + with plpy.subtransaction() as s: 專門使用 try/except 使錯誤看起來始終相同。(請參閱 https://github.com/python/cpython/pull/25719 以了解 Python 中此變更的討論。)作者:Honza Horak hhorak@redhat.com 討論:https://postgres.tw/message-id/flat/853083.1620749597%40sss.pgh.pa.us RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1959080 https://git.postgresql.org/pg/commitdiff/4a682d85a1408e48ac529295c329ba2c17a44724
gitattributes:新增條目以避免空白錯誤。https://git.postgresql.org/pg/commitdiff/e6159885b78e9b91b2adc3161c5f827d081f2b13
doc:使術語表中的術語保持一致。對於 schema 中的物件,使用「reside in」而不是「belong to」。先前的用法是兩者的混合。作者:Alvaro Herrera alvherre@alvh.no-ip.org 討論:https://postgres.tw/message-id/202106021932.idmbjjaqk7ke@alvherre.pgsql https://git.postgresql.org/pg/commitdiff/01ddd2f7e411ba434473faebf00f5b5af84c0f64
doc:簡化 COMMENT 和 SECURITY LABEL 文件。僅說明存在於 schema 中的物件可以用 schema 限定。不要列出所有可能的此類物件。現有的列表無論如何都不完整。討論:https://postgres.tw/message-id/flat/b2ec2234-67fe-d861-5cea-f526cd18c086%40enterprisedb.com https://git.postgresql.org/pg/commitdiff/5c25fd650a774cc4f16ac9c635830d9bc5797f61
Thomas Munro 推送
Amit Kapila 推送
Fujii Masao 推送
為恢復暫停新增迴歸測試。先前沒有恢復暫停功能的迴歸測試。此 commit 新增了檢查以下內容的測試: - 恢復可以按預期暫停或恢復 - pg_get_wal_replay_pause_state() 報告正確的暫停狀態 - 如果在恢復暫停時觸發提升,則暫停狀態結束並且提升繼續建議者:Michael Paquier 作者:Fujii Masao 審閱者:Kyotaro Horiguchi, Dilip Kumar 討論:https://postgr.es/m/YKNirzqM1HYyk5h4@paquier.xyz https://git.postgresql.org/pg/commitdiff/6bbc5c5e96b08f6b8c7d28d10ed8dfe6c49dca30
從 013_crash_restart.pl 中刪除不必要的 Time::HiRes 使用。「use Time::HiRes qw(usleep)」包含在迴歸測試 013_crash_restart.pl 中,但 usleep 在那裡未使用。作者:Fujii Masao 審閱者:Kyotaro Horiguchi 討論:https://postgr.es/m/63ad1368-18e2-8900-8443-524bdfb1bef5@oss.nttdata.com https://git.postgresql.org/pg/commitdiff/df466d30c6caa02e2215595fd83ca70be3199cec
Tomáš Vondra 推送
David Rowley 推送
標準化 appendStringInfo 和 appendPQExpBuffer 的使用。修復一些在使用 appendStringInfo() 時應該使用 appendStringInfoString() 的地方。還有一些 appendPQExpBuffer() 的情況更適合使用 appendPQExpBufferChar(),最後,有些地方使用 appendPQExpBuffer() 時,appendPQExpBufferStr() 會更適合。這裡沒有修復任何錯誤。目標只是為了使程式碼使用最適合這項工作的最佳函數。這裡要變更的所有程式碼都是 PG14 的新增內容。在我們為 PG15 分支之前修復這些問題是有意義的。還有一些其他地方我們可以修復,但這些情況是較舊的程式碼,因此修復這些問題似乎不太值得,因為它可能會在將來造成不必要的回溯修補問題。作者:Hou Zhijie 討論:https://postgr.es/m/OS0PR01MB5716732158B1C4142C6FE375943D9@OS0PR01MB5716.jpnprd01.prod.outlook.com https://git.postgresql.org/pg/commitdiff/f736e188ce70bda34f04c9f381b7c5141dc20dce
調整具有不正確著作權年份的位置。ca3b37487 之後提交的一些修補程式錯誤地忘記將著作權年份設為 2021。修正這些問題。討論:https://postgr.es/m/CAApHDvqyLmd9P2oBQYJ=DbrV8QwyPRdmXtCTFYPE08h+ip0UJw@mail.gmail.com https://git.postgresql.org/pg/commitdiff/7fc26d11e370afe237631265714221364d7e7910
清除一些有問題的 DatumGet*
巨集用法。這整理了一些有問題的編碼,這些編碼對傳遞到函數中的 Datums 使用 DatumGetPointer(),而該函數的參數預期為 cstring。由於 DatumGetPointer() 中使用的 Pointer 類型恰好是 char *
而不是 void *
,因此我們在舊程式碼中沒有看到編譯器警告。但是,這不是藉口,我們應該為這項工作使用正確的巨集。在這裡,我們也使用 OutputFunctionCall() 而不是直接使用 FunctionCall1() 來呼叫類型的輸出函數。OutputFunctionCall() 是執行此操作的標準方法。它會為我們將傳回的值轉換為 cstring。在傳遞時擺脫重複的 strlen() 呼叫。大多數編譯器可能會最佳化掉第二次呼叫,但可能有些編譯器不會。無論如何,這只是將程式碼與一些附近的程式碼對齊,這些程式碼已經這樣做了。討論:https://postgr.es/m/CAApHDvq1D=ehZ8hey8Hz67N+_Zth0GHO5wiVCfv1YcGPMXJq0A@mail.gmail.com
https://git.postgresql.org/pg/commitdiff/8bdb36aab287f564eac534878bc0e1d873a4e3db
Doc:修正一些拼字錯誤。作者:Daniel Gustafsson 討論:https://postgr.es/m/7838B8EE-CFD6-48D7-AE2D-520D69FD84BD@yesql.se https://git.postgresql.org/pg/commitdiff/8f3c06c5d56fc0fa414bcf548860ac50a8fe5982
Andrew Dunstan 推送
Emre Hasegeli 提交了一個補丁,用於處理 PostgreSQL FDW 中的布林比較謂詞,因為並非所有謂詞都被識別。
Pavel Stěhule 提交了另一個版本的補丁,用於讓 PL/ppgsql debug API 返回變數內容的文字值。
Dilip Kumar 提交了另外四個版本的補丁,用於修補使用 TOAST 解碼推測性插入時的記憶體洩漏。
Hou Zhijie 提交了另外三個版本的補丁,以使 INSERT ... SELECT 能夠並行執行。
Peter Smith 和 Ajin Cherian 交換了補丁,以支持內建邏輯複製中的預備交易。
Dilip Kumar 提交了三個版本的補丁,用於提取未更改的複製身分鍵(如果它被儲存在外部)。如果複製身分設定為鍵,且該鍵未被修改,我們不會單獨記錄該鍵,因為它應該與更新的元組一起記錄。但是,如果該鍵儲存在外部,我們必須對其進行 detoast 並單獨記錄它。
Justin Pryzby 提交了另一個版本的補丁,用於實作 CREATE TABLE (LIKE .. INCLUDING ACCESS METHOD)。
Zhihong Yu 提交了一個補丁,用於從 pgtls_init() 返回正確的錯誤代碼。
Peter Smith 和 Takamichi Osumi 交換了補丁,以記錄目錄上的 AEL 可能在同步模式下的邏輯解碼中導致死鎖的風險。
Etsuro Fujita 提交了另一個版本的補丁,用於修復異步附加的重新掃描。
Bharath Rupireddy 提交了另外兩個版本的補丁,用於重構 parse_subscription_options,使其更易於擴展,並更容易透過點陣圖檢測互斥選項。
Hou Zhijie 和 Amit Langote 交換了補丁,以跳過具有恆定分割區鍵的分割區元組路由。
Kyotaro HORIGUCHI 提交了兩個版本的補丁,用於修復可能獲得重複歷史檔案的錯誤。
Aleksander Alekseev 提交了另一個版本的補丁,用於新增一種方法,可以將列投影列表指定給表格存取方法 API。
Joe Wildish 提交了另一個版本的補丁,允許在 FOR EACH STATEMENT 觸發器的 WHEN 表達式中使用查詢。
Greg Sabino Mullane 提交了另外兩個版本的補丁,用於在已設定校驗和的情況下加速 pg_checksums。
Andrew Dunstan 提交了三個版本的補丁,用於澄清和更新簡短版本的安裝文件。
Matthias van de Meent 提交了一個補丁,用於報告並行 btree 構造中排序階段的階段進度。
Jim Mlodgenski 提交了一個補丁,用於實作 CREATE MODULE。
John Naylor 提交了另外兩個版本的補丁,用於加速 UTF-8 的驗證。
Thomas Munro 提交了一個補丁,用於移除更多關於信號量的過時註釋。
Thomas Munro 提交了另一個版本的補丁,透過將目標進程的引用從 pid 更改為使用 pgprocno,使 ProcSendSignal() 更加有效率,這使得避免掃描 ProcArray 和追蹤啟動進程成為可能。
Greg Nancarrow 提交了另一個版本的補丁,用於實作客戶端連線的事件觸發器。
Amit Langote 提交了另一個版本的補丁,用於新增一個斷言,以確保子列標記不會過早出現。
Nitin Jadhav 提交了另一個版本的補丁,用於實作多列列表分割區。
David Christensen 提交了另一個版本的補丁,用於擴展 pg_size_pretty(numeric) 知道的單位,直到 YB,並擴展 pg_size_bytes 中支持的單位以涵蓋所有單位。
Zhihong Yu 提交了兩個版本的補丁,用於記錄在 write_relcache_init_file 中不必檢查 unlink 返回值的原因。
Robert Haas 和 Dilip Kumar 交換了補丁,用於修復新的備用伺服器無法跟隨新主伺服器的邊緣情況失敗。
Bharath Rupireddy 提交了一個補丁,當 fsm_set_and_search 的返回值被忽略時,使用 (void)。
David Christensen 提交了一個補丁,用於實作 DELETE...CASCADE。
Kyotaro HORIGUCHI 提交了一個補丁,使 pg_waldump 中的錯誤訊息更清晰,並更明確地說明哪裡出了問題以及在哪裡。
Andrey V. Lepikhov 提交了另一個版本的補丁,用於在具有外部分割區的表格上使用 COPY 進行大量寫入。
Zeng Wenjing 提交了另一個版本的補丁,用於實作全域臨時表格。
Tomáš Vondra 提交了一個補丁,用於新增 PQ_QUERY_PARAM_MAX_LIMIT、建立用於批處理的描述符副本,以及僅為批處理初始化插槽一次。
Nitin Jadhav 提交了一個補丁,用於為啟動進程建立進度指示器。
Aleksander Alekseev 提交了一個補丁,用於將 ZSON 擴充功能新增至 contrib。
Andrew Dunstan 提交了一個補丁,用於確保 pg_upgrade 回顯 Windows 命令。
Maxim Orlov 提交了一個補丁,旨在修復在並行掃描中使用 SubTransGetTopmostTransaction 斷言時表現為核心轉儲的錯誤。
Ajin Cherian 提交了一個補丁,用於從 CreateReplicationSlotCmd 結構中移除兩階段選項,並新增一個選項以在 CREATE_REPLICATION_SLOT 中設定兩階段。
Tom Lane 提交了另一個版本的補丁,用於修復 CALL 和具有僅輸出參數的程序之間的不一致。
Melanie Plageman 提交了另一個版本的補丁,用於新增一個追蹤共享緩衝區操作的系統檢視。
Jehan-Guillaume de Rorthais 提交了另一個版本的補丁,用於新增一個 pg_stat_waitaccum 檢視,並將等待事件時間的測量方法從 INSTR_TIME 更改為 rdtsc。
Michaël Paquier 提交了一個補丁,用於防止 VACUUM 重新壓縮。
Álvaro Herrera 提交了一個補丁,使 toast_get_compression_id 內聯化。
Álvaro Herrera 提交了另一個版本的補丁,用於減少表格重寫時 TOAST 重新壓縮的開銷。
David Rowley 提交了一個補丁,用於修復 brin_minmax_multi.c 中的一些錯字。
Vigneshwaran C 提交了另一個版本的補丁,用於新增對發布的架構層級支持,並為其新增測試。
Ranier Vilela 提交了另一個版本的補丁,用於減少表格重寫時 TOAST 重新壓縮的開銷。
Vigneshwaran C 提交了另一個版本的補丁,用於在 CREATE/ALTER SUBSCRIPTION 期間識別發布者中遺失的發布。
Julien Rouhaud 再次提交了一個補丁的修訂版本,以新增一個 parser_hook hook,基於此新增一個 sqlol parser,在核心解析器中新增一個 MODE_SINGLE_QUERY,並在 pg_parse_query 中使用它,並教導 sqlol 使用新的 MODE_SINGLE_QUERY 解析器模式。
Julien Rouhaud 提交了一個補丁,以修正 SQL 標準主體空語句處理。
Michaël Paquier 提交了一個補丁,旨在修正 pg_log_backend_memory_contexts() 中錯誤放置的超級使用者檢查。
Tomáš Vondra 再次提交了一個補丁的修訂版本,以修正 psql 的 \dX(擴展統計資訊)中的一個錯誤,該錯誤未能檢查物件的可見性。