pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
å叿¥æï¼. 2026-08-13
æ¬æ¬¡åå¸å 嫿¥èª 14.23 çå¤é¡¹ä¿®å¤ãæå ³ 14 ä¸»çæ¬æ°ç¹æ§ç说æï¼è¯·åè§ç¬¬Â E.25 èã
PostgreSQL 社åºå°äº 2026 å¹´ 11 æåæ¢åå¸ 14.X åå¸ç³»åçæ´æ°ãå»ºè®®ç¨æ·å°½å¿«å级å°è¾æ°çåå¸åæ¯ã
对äºè¿è¡ 14.X çç¨æ·ï¼ä¸éè¦æ§è¡å¯¼åº/æ¢å¤ã
使¯ï¼ä¸é¢åä¸ä¸ªå®å ¨æ¡ç®æè¿°äºæ´æ°åå¯è½éè¦è¿è¡çé ç½®è°æ´åæ°æ®æ¸ çã
æ¤å¤ï¼å¦æä½¿ç¨ contrib/btree_gist æ contrib/ltreeï¼å¯è½éè¦ä¸ºè¿äºæ©å±å建çç´¢å¼é建索å¼ï¼è¯·åè§ä¸é¢çç¸å
³æ¡ç®ã
æ¤å¤ï¼å¦ææ¯ä»æ©äº 14.19 ççæ¬å级ï¼è¯·åè§ç¬¬Â E.6 èã
å°é»è¾è§£ç è¾åºæä»¶éå¶ä¸ºæ°æå¡å¨åæ° output_plugin_libraries æå®çéåï¼Jacob Championï¼Â§
æ¤åï¼å¤å¶ç¨æ·å¯ä»¥ä¸ºé»è¾è§£ç 鿩任æå¯å è½½åºï¼ä»è宿½åç§æ»å»ã为äºå¨ä¸ç ´ååæå¯ç¨é ç½®çæ åµä¸æ¶ç´§è¿ä¸éå¶ï¼ç°å¼å ¥ä¸ä»½å 许使ç¨çè¾åºæä»¶å表ã
é»è®¤æ
åµä¸ï¼åªæé PostgreSQL æä¾çè¾åºæä»¶ï¼pgoutput å test_decodingï¼ä¼å
å«å¨ output_plugin_libraries ä¸ã使ç¨å
¶ä»è¾åºæä»¶çå®è£
å¿
须卿´æ°æå¡å¨åå°å
¶å å
¥è¯¥åæ°ï¼ä¾å¦ï¼
output_plugin_libraries = 'pgoutput, test_decoding, my_trusted_decoder'
æ¤å¤ï¼ä»çæ¬ 17 ææ´é«çæ¬è¿ç§»æ¶ï¼å¦æ pg_upgrade --check åç°æ°éç°ç output_plugin_libraries åæ°ä¸å
许æ§éç°é»è¾å¤å¶æ§½æä½¿ç¨çæä»¶ï¼æ£æ¥å°ä¼å¤±è´¥ãè¯·å¨æ§è¡ pg_upgrade å对æ°éç°ç设置ä½å¿
è¦è¡¥å
ã
PostgreSQL é¡¹ç®æè°¢ Vladimir Tokarev å Yu Kunpeng æ¥åæ¤é®é¢ãï¼CVE-2026-6471ï¼
ä¿®å¤ contrib/pgcrypto ç PGP å å¯ï¼ä½¿å
¶è½å¤æ£æµä¸åæ¯æçå¯ç ç®æ³ï¼Daniel Gustafssonï¼Â§ §
æ¤åï¼å¦æ OpenSSL æç»æè¯·æ±çå¯ç ç®æ³ï¼ä¾å¦ï¼å ä¸ºå®æ£ä»¥ FIPS 模å¼è¿è¡ï¼æå°æªå è½½ legacy providerï¼ï¼pgcrypto æ æ³åç°è¿ä¸å¤±è´¥ï¼åªä¼å°æªç»å å¯çå䏿æè¿è¡å¼æï¼ä½¿è¿ç§âå å¯âè½»æå³å¯ç ´è§£ãè¿é常åçå¨å·²å¼ç¨æä¸ç¬¦å FIPS çå¯ç ç®æ³ä¸ï¼cipher-algo=blowfish/bfãtwofishãcast5 æ 3desï¼ã
é»è®¤æ
åµä¸ï¼pgcrypto ç°å¨å°æ æ³è§£å¯ä»¥è¿ç§æ¹å¼åå½±åç任使¶æ¯ã为äºè½å¤ååè¿ç±»æ°æ®ï¼ç°æ°å¢é项 ignore-cipher-failureï¼ç¨äº pgp_pub_decrypt() å pgp_sym_decrypt()ã设置 ignore-cipher-failure=1 å°æ¢å¤æ¤åçè¡ä¸ºï¼ä»èå¯ä»¥ç§»é¤æç¼ºé·çå å¯å°è£
ï¼
pgp_sym_decrypt(encrypted_column, any key, 'ignore-cipher-failure=1')
è¯å«åºåå½±åçæ¶æ¯å¹¶ç§»é¤å
¶å°è£
åï¼å³å¯ä½¿ç¨ç°ä»£ç®æ³éæ°å å¯ãä¸è¿ï¼OpenSSL çè¡ä¸ºå¿
é¡»ä¸å建è¿äºæç¼ºé·æ¶æ¯æ¶ç¸åï¼å¦æä¸åæ¯æçç®æ³éåå¹¶ä¸ç¸åï¼è¿ç§æ¹æ³å°æ æ³å¥æã请åé
ignore-cipher-failure çææ¡£ã
PostgreSQL é¡¹ç®æè°¢ Shishir Sharma æ¥åæ¤é®é¢ãï¼CVE-2026-14663ï¼
ä¿®å¤ psqlï¼è·³è¿èæ¬ä¸ç COPY ... FROM STDIN å½ä»¤åé¢çå
èæ°æ®ï¼å³ä½¿ COPY å¨åé PGRES_COPY_IN å失败ï¼Tom Laneï¼Â§ §
æ¤åï¼å¦æ COPY å½ä»¤å¨å¼å§æ§è¡æ¶å¤±è´¥ï¼ä¾å¦ç®æ 表ä¸åå¨ï¼ï¼psql æ æ³æè¯å°è¿ä¸ç¹ï¼ä¼ç»§ç»æéåçå
èæ°æ®å½ä½ SQL å½ä»¤è¯»åãå³ä½¿å¨æå¥½çæ
åµä¸è¿ä¹æ¯é误çï¼å¨æåçæ
åµä¸å伿æ SQL 注å
¥é£é©ãç°å¨ï¼psql ä¼è¯å«è¯æ³ææç COPY ... FROM STDIN å½ä»¤ï¼å¹¶å¨æå¡å¨æ²¡æè¿å PGRES_COPY_IN æ¶èªè¡è·³è¿æ°æ®ã
æ¤ä¿®å¤ä¸å¤ªå¯è½å½±åç产 SQL èæ¬ï¼ä½æµè¯èæ¬å¯è½ä¼æææµè¯å¤±è´¥ç COPY ... FROM STDIN å½ä»¤ãæ¤ç±»èæ¬éè¦å¨æ¯æ¡è¿æ ·çå½ä»¤åå¢å ä¸è¡ \. æ°æ®ç»æ¢ç¬¦ã
PostgreSQL é¡¹ç®æè°¢ Alexander Lakhin æ¥åæ¤é®é¢ãï¼CVE-2026-6464ï¼
äº¤åæ£æ¥è¿è¡ EXECUTE æ FETCH ç portal çè¾åºè¡ç±»åï¼Robert Haasï¼Â§
EXECUTE å FETCH 使ç¨ä¸¤ä¸ª portalï¼å¤å± portal ç¨äºè¯å¥æ¬èº«ï¼å
å± portal å代å
¶è¿è¡å®é
æ¥è¯¢ãæ¤åå¯ä»¥ä½¿ä¸¤ä¸ª portal 声æçè¡ç±»åä¸ä¸è´ï¼ä»èå¯¼è´æå¡å¨å
åæ³é²åä»»æä»£ç æ§è¡ã
PostgreSQL é¡¹ç®æè°¢ Ben Morrisï¼ä¸ Claude å Anthropic Research åä½ï¼å Peter Geoghegan æ¥åæ¤é®é¢ãï¼CVE-2026-16239ï¼
ä¿®å¤ to_char() å¤çè¿é¿æ¶åºç¼©åæ¶åççç¼å²åºè¶çåå
¥ï¼Tom Laneï¼Â§
è¿å¾å®¹æå¯¼è´æå¡å¨å´©æºï¼å¹¶ä¸å·²ææ¥å表æå¯å©ç¨è¯¥é®é¢æ§è¡ä»»æä»£ç ã
PostgreSQL é¡¹ç®æè°¢ HcamaelãAmjad ShahzadãAntAISecurityLab ç Tan ZhenãTomer FichmanãZheng YuãAmy Burnettï¼OpenAI Codex Securityï¼ãRick de JagerãHeewon SongãSylvie MayerãAleksander Alekseev å Hillai Ben Sasson æ¥åæ¤é®é¢ãï¼CVE-2026-14669ï¼
ä¿®å¤æ£å表达å¼å¹é /æå彿°ä¸çç¼å²åºè¶çåå ¥ï¼Masahiko Sawadaï¼Â§
å¦æä¼ å ¥ç¼ç æ æçæ°æ®ï¼è¿äºå½æ°å¯è½ä¼å¨è½¬æ¢ç¼å²åºæ«å°¾ä¹å¤åå ¥æ°æ®ã
PostgreSQL é¡¹ç®æè°¢ Francesco Verardi æ¥åæ¤é®é¢ãï¼CVE-2026-14664ï¼
å¢å¼º ascii() 彿°å¯¹æ æè¾å
¥ç鲿¤ï¼Michael Paquierï¼Â§
éè¿æä¾ç¼ç æ æçè¾å ¥ï¼å¯ä»¥è¯±ä½¿æ¤å½æ°è¯»åå¹¶è¿åå 个ä¸åºè®¿é®çæ°æ®åèãå¨å¯ç¨æè¨çæå»ºä¸ï¼è¿å¯è½è§¦åå ¶æè¨ã
PostgreSQL é¡¹ç®æè°¢ Hcamael æ¥åæ¤é®é¢ãï¼CVE-2026-18024ï¼
ä¿®å¤ pg_restore_attribute_stats() 对å¤èå´ç±»åçå¤çï¼OpenAI Security Research Teamï¼
pg_restore_attribute_stats() å°å¤èå´ç±»åå½ä½å
¶åºå±èå´ç±»åå¤çã对äºè¾¹çç´æ¹å¾ï¼è¿æ¯æ£ç¡®çï¼ä½å¯¹äºå
¶ä»ææç»è®¡ä¿¡æ¯ç±»å齿¯é误çã
PostgreSQL é¡¹ç®æè°¢ Amy Burnettï¼OpenAI Codex Securityï¼æ¥åæ¤é®é¢ãï¼CVE-2026-16238ï¼
让 scalarineqsel() æ£æ¥é¢æä¸º tid ç±»åç叏鿝å¦ç¡®å®å±äºè¯¥ç±»åï¼Tom Laneï¼Â§
å¯¹äºææä½¿ç¨æ¤ä¼°ç®å¨çå ç½®æä½ç¬¦ï¼è¿ä¸é¢æé½ä¼æç«ï¼ä½æ¶ææé çæä½ç¬¦å¯è½è¿åè¯¥é¢æï¼ä»è导è´å´©æºææå¡å¨å åæ³é²ã
PostgreSQL é¡¹ç®æè°¢ Hcamael æ¥åæ¤é®é¢ãï¼CVE-2026-14668ï¼
å¢å¼º tsvector å tsquery 代ç 对è¶
é¿å¼ç鲿¤ï¼å
æ¬å个è¯ä½ä»¥ååé/æ¥è¯¢çæ»é¿åº¦ï¼ï¼Tom Laneï¼Â§ §
ææ¡£æè¿°éå¶å¹¶æªå¨ææä»£ç è·¯å¾ä¸å¼ºå¶æ§è¡ã
PostgreSQL é¡¹ç®æè°¢ Yuhang WuãZhenpeng LinãZheng Yu å Hcamael æ¥åè¿äºé®é¢ãï¼CVE-2026-14662ï¼
ä¿®å¤å¤å¤é误å°å宿 éå¤çè¶
è¿ FUNC_MAX_ARGS ä¸ªå½æ°åæ°çé®é¢ï¼Tom Laneï¼Â§ §
ç¹å«æ¯ï¼æå¡å¨å¯¹èå彿°åæ°æ°éçå®é
éå¶æ¯ FUNC_MAX_ARGS - 1ï¼ä½è§£æå¨æªå¼ºå¶æ§è¡è¿ä¸éå¶ï¼ç»åç»å¤ç带æ¥éæ£ã
PostgreSQL é¡¹ç®æè°¢ Zheng Yuãylwangtju å Masahiko Sawada æ¥åè¿äºé®é¢ãï¼CVE-2026-14679ï¼
æç»ä» SQL è°ç¨æ¥åæè¿å internal ç±»åç彿°ï¼Tom Laneï¼Â§ §
ç°æé²æ¤å·²è¢«è¯æä¸è¶³ï¼å æ¤æ·»å æ´æç¡®çæ£æ¥ã
PostgreSQL é¡¹ç®æè°¢ Amy Burnettï¼OpenAI Codex Securityï¼æ¥åæ¤é®é¢ãï¼CVE-2026-14680ï¼
å¨ ALTER TABLE é建æ©å±ç»è®¡ä¿¡æ¯å¯¹è±¡æ¶ä¿çå
¶æææï¼Masahiko Sawadaï¼Â§
æ¤åï¼æ§è¡ ALTER TABLE çè§è²ä¼åå¾è¿ç±»å¯¹è±¡çæææï¼è¿å¹¶ä¸åéã
PostgreSQL é¡¹ç®æè°¢ Noah Misch æ¥åæ¤é®é¢ãï¼CVE-2026-6469ï¼
éè§£æ EXTRACT() 彿°è°ç¨æ¶ï¼æéä¸ºåæ®µåå å¼å·ï¼Nathan Bossartï¼Â§
è§£æå¨æ¥å EXTRACT() ä¸çä»»æå符串åé¢éä½ä¸ºå段åï¼å¹¶å°éªè¯æ¨è¿å°æ§è¡é¶æ®µãå¦æè¯¥è°ç¨è¢«åå¨ååéè§£æï¼ä¾å¦å¨ pg_dump æé´ï¼ï¼åç¬¦ä¸²æ£æä¼è¢«åæ ·è¾åºï¼ä»èé æ SQL 注å
¥ã
PostgreSQL é¡¹ç®æè°¢ Ben Morrisï¼ä¸ Claude å Anthropic Research åä½ï¼æ¥åæ¤é®é¢ãï¼CVE-2026-15741ï¼
卿¤åæ¼æ£çåºæ¯ä¸æ£æ¥æ°æ®ç±»åç USAGE æéï¼Nathan Bossartï¼Â§ § §
CREATE TYPE AS RANGEãALTER TABLE OF 以åå建åå¨è¡¨è¾¾å¼çå½ä»¤æ¤å齿²¡ææ§è¡è¿ä¸æ£æ¥ãè¿äºéæ¼ä½¿æ²¡æ USAGE æéçè§è²ä»è½å建ä¾èµè¯¥ç±»åç对象ï¼å¹¶å¯è½é»æ¢ç±»åææè
æ¥åæ´æ¹è¯¥ç±»åã
PostgreSQL é¡¹ç®æè°¢ Jingzhou Fu æ¥åæ¤é®é¢ãï¼CVE-2026-6470ï¼
è§è²åçåæ´å使ä¾èµè§è²çç¼å计å失æï¼Ilya StaroverovãShinya KatoãNathan Bossartï¼Â§
è§è²æåå ³ç³»ãè§è²å±æ§åæ°æ®åºæææçåæ´å¯è½å½±åè¡çº§å®å ¨çç¥ç颿è¡ä¸ºï¼ä½æ¤åç³»ç»ä»ä¼ç»§ç»ä½¿ç¨ææ§ç¶æçæçç¼å计åã
PostgreSQL é¡¹ç®æè°¢ Ilya Staroverov å Shinya Kato æ¥åæ¤é®é¢ãï¼CVE-2026-14666ï¼
å¨ç´æ¥ SSL è¿æ¥ä¹åæç» GSSEncRequestï¼Michael Paquierï¼
å»ºç« TLS å å¯è¿æ¥åï¼æå¡å¨ä»ä¼æ¥å GSSAPI å å¯è¯·æ±ãå¦æè¯·æ±æåï¼è¿æ¥ä»ä¼ä½¿ç¨ TLS å å¯ï¼ä½å¨ pg_hba è§åçæ¥å´å GSS è¿æ¥ãå æ¤ï¼æå¾ç¦æ¢ TLS ç pg_hba çç¥æ æ³å¾å°æ£ç¡®æ§è¡ã
PostgreSQL é¡¹ç®æè°¢ p4p3r æ¥åæ¤é®é¢ãï¼CVE-2026-14681ï¼
让模æç SCRAM secret æ´å¯ä¿¡ï¼Nathan Bossartï¼
妿å°è¯ä»¥ SCRAM ç»å½ä¸åå¨ææ²¡æ SCRAM secret çè§è²ï¼ç³»ç»ä¼çæä¸ä¸ªæ¨¡æ secret å¹¶ç
§å¸¸æ§è¡è®¤è¯æ¡æï¼ä»¥å
åæ»å»è
æ³é²è¿äºäºå®ã使¨¡æ secret 使ç¨åºå®çè¿ä»£æ¬¡æ°ï¼è¿æ¬èº«å¯è½å½¢æå¯è§å¯çååºå·®å¼ãç°æ¹ç¨é
置设置 scram_iterationsï¼ä½¿æ¨¡æ secret æ´æ¥è¿è¯¥å®è£
ä¸ççå® secretã
PostgreSQL é¡¹ç®æè°¢ Radim Marek æ¥åæ¤é®é¢ãï¼CVE-2026-14672ï¼
ä¿®å¤ ecpg åºç¨ç¨åºå æ¥æ¶æå¡å¨è¿åçæ æ bytea æ°æ®èåççè¶çåå
¥ï¼Michael Paquierï¼Â§
ecpg æªç»æ£æ¥ä¾¿åå®ä»»ä½ bytea å¼é½å¿
须以 \x å¼å¤´ãæç¼ºé·ææ¶æçæå¡å¨å¯è½åéçäº 2 åèçå符串ï¼ä»èç ´ååºç¨ç¨åºå
åã
PostgreSQL é¡¹ç®æè°¢ ylwangtju æ¥åæ¤é®é¢ãï¼CVE-2026-16241ï¼
ä¸è¦å¯¹ psql ç \unrestrict å½ä»¤åæ°æ§è¡åå¼å·æ©å±ï¼Nathan Bossartï¼Â§
CVE-2025-8714 ä¿®å¤ä¸çè¿ä¸çæ¼ï¼ä½¿æ¶ææå¡å¨è½å¤æ shell å½ä»¤æ³¨å ¥çº¯ææ¬è½¬å¨è¾åºï¼å¹¶å¨æ¢å¤æ¶äºè¿è¡ psql çæºå¨ä¸æ§è¡ï¼è¿æ£æ¯ CVE-2025-8714 æå¾é²æ¢çåºæ¯ã
PostgreSQL é¡¹ç®æè°¢ Lucas VelgusãFilip Janus å Daniel Bakker æ¥åæ¤é®é¢ãï¼CVE-2026-18408ï¼
ç§»é¤ pg_dump å
³äº pg_proc.protrftypes ä¸å¯è½å
å«è¶
è¿ FUNC_MAX_ARGS 个æ¡ç®çå设ï¼Tom Laneï¼Â§
ç±äºè¯¥æ°ç»å¯è½åæ¶å
å«è¾å
¥åè¾åºåæ°çæ¡ç®ï¼å
¶é¿åº¦å®å
¨å¯è½è¶
è¿ FUNC_MAX_ARGSï¼è¯¥å¼åªéå¶è¾å
¥åæ°ï¼ãå³ä½¿å¹¶é妿¤ï¼pg_dump ä¹ä¸è½å宿å¡å¨æå»ºæ¶ä½¿ç¨ç FUNC_MAX_ARGS å¼ä¸èªèº«ç¸åãè¶çåå
¥ä¼å¯¼è´ pg_dump å
é¨çå
åè¢«ç ´åã
PostgreSQL é¡¹ç®æè°¢ Masahiko Sawada æ¥åæ¤é®é¢ãï¼CVE-2026-19385ï¼
å¢å¼º PL/Perl 对âtiedâ Perl æ°ç»å hash ç鲿¤ï¼Tom Laneï¼Â§
è¡ä¸ºä¸ç¬¦å常è§ç tied 对象å¯è½å¯¼è´å åè¦çï¼ææé åºæåçç»ææ°ç»ï¼è¿å¾å¯è½å¨ä¹åå¼åé®é¢ï¼ã
PostgreSQL é¡¹ç®æè°¢ Hcamael æ¥åæ¤é®é¢ãï¼CVE-2026-14670ï¼
ä¿®å¤ PL/Perl å PL/Tcl å ååé 计ç®ä¸çæ´æ°æº¢åºï¼Heikki Linnakangasï¼Â§
该é®é¢ä¸ CVE-2026-6473 å±äºåä¸ç±»åï¼åªæ¯åºç°å¨ä»£ç çä¸åé¨åï¼å¹¶éç¨ç¸åæ¹å¼ä¿®å¤ã
PostgreSQL é¡¹ç®æè°¢ Tulya Projectï¼Team DhiutsaãBitecope Technologies Private Ltdï¼æ¥åæ¤é®é¢ãï¼CVE-2026-14677ï¼
ç¡®ä¿ contrib/amcheck 彿°å¨æ§è¡ç´¢å¼è¡¨è¾¾å¼åéå¶ search_pathï¼Noah Mischï¼Â§
ç±äº amcheck ä¼ä»¥ç¸å
³è¡¨ææè
ç身份è¿è¡è¿äºç´¢å¼è¡¨è¾¾å¼ï¼è°ç¨è
å¯è½å«æä¾èµ search_path ç彿°ï¼ä»¥è¡¨ææè
身份è¿è¡ä»»æä»£ç ãé»è®¤æ
åµä¸è¿å¹¶éæ¼æ´ï¼å ä¸ºåªæè¶
çº§ç¨æ·å¯ä»¥è°ç¨ amcheck 彿°ï¼ä½å¦æå°è¯¥æéæäºå
¶ä»ç¨æ·ï¼é æçé£é©ä¼æ¯ææ¡£æè¿°æ´å¤§ã
PostgreSQL é¡¹ç®æè°¢ Yuelin Wang å Jacob Brazeal æ¥åæ¤é®é¢ãï¼CVE-2026-14673ï¼
ä¿®å¤ contrib/fuzzystrmatch ç levenshtein() å levenshtein_less_equal() 彿°ä¸çæ´æ°æº¢åºï¼Nathan Bossartï¼Â§
åè¿äºå½æ°ä¼ å ¥å¾å¤§ç代价å¼å¯è½å¼åæ´æ°æº¢åºï¼ä»èäº§çæ æä¹çç»æï¼çè³å¨æäºæ åµä¸å¯¼è´è¶çåå ¥ã
PostgreSQL é¡¹ç®æè°¢ Ben Morrisï¼ä¸ Claude å Anthropic Research åä½ï¼æ¥åæ¤é®é¢ãï¼CVE-2026-15742ï¼
ä¿®å¤ contrib/pg_stat_statements ä¸çç¼å²åºè¶çåå
¥ï¼Ãlvaro Herreraï¼
æ¥è¯¢è§èåè¿ç¨æªå确计ç®è§èåå符串æéç空é´ã
PostgreSQL é¡¹ç®æè°¢ Sajeeb Lohaniï¼ä¸ TrendAI Zero Day Initiative åä½ï¼å Yuelin Wang æ¥åæ¤é®é¢ãï¼CVE-2026-14676ï¼
ä¿®å¤ contrib/pg_trgm ç GiST picksplit 彿°ä¸çæ°æ®ç±»åé误ï¼Heikki Linnakangasï¼Â§
æ¤é误ä¼å¯¼è´ç¼å²åºè¶ç读åï¼éå¸¸é æä¸ä½³ç页é¢åè£å³çï¼å¨æå°æ°æ åµä¸ä¹å¯è½å¯¼è´å´©æºã
PostgreSQL é¡¹ç®æè°¢ Mehmet D. Ince æ¥åæ¤é®é¢ãï¼CVE-2026-14678ï¼
ç§»é¤ contrib/refint ä¸ç计åç¼åï¼Ayush Tiwariï¼Â§
è¿ç§ç¼åè¡ä¸ºåå¨å 个严é缺é·ï¼å°¤å
¶æ¯ check_foreign_key() 伿æ°é®å¼åµå
¥å
¶çº§è UPDATE æ¥è¯¢ï¼å æ¤ç¼å计åä¼éå¤ä½¿ç¨æåæéçå¼ï¼è䏿¯å½ååºä½¿ç¨çé®å¼ãæç®åçè§£å³åæ³æ¯ç§»é¤è¯¥ç¼åã
PostgreSQL é¡¹ç®æè°¢ Hcamael æ¥åæ¤é®é¢ãï¼CVE-2026-14671ï¼
ä¿®å¤éæ¾ç±è¾æ§å°çæ¬çæç WAL æ¶åççèªæ»éï¼Andrey Borodinï¼Â§
该é误ç±ä¸ä¸æ¹å°çæ¬åå¸å¼å ¥ã卿äºåºæ¯ä¸ï¼å®ä¼ä½¿è·éè¾æ§å°çæ¬ä¸»åºçå¤åºå¡ä½ã
ä¿®å¤éæ°æ«æå¼æ¥ Append 计åèç¹æ¶å¼æ¥è¯»åå¤çä¸å½çé®é¢ï¼Alexander KorotkovãGleb KashkinãEtsuro Fujitaï¼Â§
å½ä¸å±è®¡åèç¹å°æªè¯»å宿´ç Append è¾åºå°±éæ°æ«æ Append æ¶ï¼éè¦ä¸¢å¼ææå·²åéå°å¤é¨æå¡å¨ä¸å°æªå®æç请æ±ï¼ä¾å¦ç± postgres_fdw åéç请æ±ï¼ãæ¤åï¼å½å计åçåæ°åçååï¼æè
å¨ä¸ä¸æ¬¡æ«æä¸è¢«ååºåªæä¸¢å¼æ¶ï¼è¿é¡¹æä½æªè½æ£ç¡®å®æãè¿å¯è½å¯¼è´éè¯¯çæ¥è¯¢ç»æãæ éå¾ªç¯ææè¨å¤±è´¥ã
ä¿®å¤ RANGE ååºè¡¨çååºåªæé误ï¼David Rowleyï¼Â§
å¨æäºæ åµä¸ï¼æ¬ä¸åºè·³è¿ç DEFAULT ååºä¼è¢«è·³è¿ï¼è¿å¯è½å¯¼è´æ¥è¯¢ç»æä¸ç¼ºå°è¡ã
ä¿®å¤è§åå¨å¯¹ è¡¨è¾¾å¼æåçå¯ç©ºæ§åä¸¥æ ¼æ§æ£æ¥ï¼Ayush Tiwariï¼Â§value IN (array)
åªæå¨å·²ç¥æ°ç»æä½æ°é空æ¶ï¼è¿äºæ£æ¥æåºæåï¼ä½æ¤åéæ¼äºè¿é¡¹èèï¼å èå¯è½åºç¨æ¬ä¸è¯¥éç¨çä¼åã妿æ°ç»å®é 为空ï¼è¿å¯è½å¯¼è´æ¥è¯¢ç»æé误ã
è¡¥ä¸å¯¹å®¹å¨æ°æ®ç±»åï¼æ°ç»ãå¤åç±»åãèå´ç±»åï¼çç弿¯è¾æ¯å¦æ¯æ hash è¿ç®çæ£æ¥ï¼Andrei LepikhovãTom Laneï¼Â§
è§åå¨å¨å³å®å¯ä»¥ä½¿ç¨åºäº hash ç计åç±»åä¹åï¼å¿ é¡»éªè¯å®¹å¨ç»æç±»åæ¯å¦å¯è¿è¡ hash è¿ç®ãæ¤åæäºå°æ¹éæ¼äºè¿ä¸æ¥ï¼å¯¼è´æ§è¡æ¶åºç°âcould not identify a hash functionâé误ã
ä¿®å¤ ALTER COLUMN ... DROP EXPRESSION å¨åå¨å¤çº§ååºæ¶æ æ³æ£å¸¸å·¥ä½çé®é¢ï¼Alberto Piaiï¼Â§
ç¦æ¢å°è§åéå½å为 _RETURNï¼Tom Laneï¼Â§
该åç§°ä¿çç»è§å¾ç ON SELECT è§åï¼ä½ ALTER RULE å
许å°å
¶ä»è§åéå½å为 _RETURNï¼ä»èå¼ååç»é®é¢ã
ä¿®å¤ REINDEX CONCURRENTLY ä¸å¯å»¶è¿å¯ä¸çº¦æä¸èµ·ä½¿ç¨æ¶çé®é¢ï¼Nitin Motianiï¼Â§
å¨ REINDEX CONCURRENTLY æé´å建ç临æ¶ç´¢å¼å¯æ¬è¢«éè¯¯å°æ 记为强å¶ç«å³æ»¡è¶³å¯ä¸æ§ï¼å¯¼è´èåç约æè¿ä¾æ¥åã
ä¿®å¤ to_date() 对æ¬å°åæä»½ååææåçå¹é
ï¼Heikki Linnakangasï¼Â§
å½å¤§å°åæå æ¹åå符串çåèé¿åº¦æ¶ï¼å¹é é»è¾ä¼åºç°é误è¡ä¸ºã
ä¿®å¤è°æ U+11A7 (TBASE) ç NFC éç»é误ï¼Diego FriasãMichael Paquierï¼Â§
该å符被å½ä½ææç T é³èï¼ä½å®é ä¸å¹¶é妿¤ï¼å æ¤å¨è§èåè¿ç¨ä¸è¢«æç¶åæã
é¿å
ä¸åºå大å°åç synonym è¯å
¸å¯è½æªæè¾åºè¯ä½ï¼Jeff Davisï¼Â§
妿æå 为å°åå¢å äºè¯ä½çåèé¿åº¦ï¼è¾åºæ¶ä¼é误å°å°å ¶æªæä¸ºåæ¥çåèé¿åº¦ã
ä¿®å¤ hash_record_extended() ä¸çæ¼åé误ï¼Man Zengï¼Â§
ä»£ç æªåå§åä¼ ç» FunctionCallInvoke() ç第äºä¸ª isnull åæ°ã对äºç°æçæ ¸å¿å
ç½®æ©å± hash æ¯æå½æ°ï¼è¿ä¸ä¼é æå½±åï¼å 为å®ä»¬ä¸ä¼æ£æ¥è¯¥å¼ãä¸è¿ï¼å¦ææ©å±æä¾ç hash 彿°æ£æ¥ PG_ARGISNULL(1)ï¼å°±å¯è½åå°å½±åã
鲿¢ satisfies_hash_partition() å¨ä½¿ç¨ VARIADIC NULL æ¶å´©æºï¼Robert Haasï¼Â§
使 tsvector_filter() åç¸å
³å½æ°ä»¥æ´æ¸
æ°ä¸ä¸è´çæ¹å¼æ¥åæ ææéé误ï¼Ewan Youngï¼Â§
ç¹å«æ¯ï¼ä»¥å
«è¿å¶å½¢å¼ï¼\ï¼æ¥å䏿¯å¯æå° ASCII å符çæéå符ï¼å°±å nnncharout() 对å®ä»¬çåç°æ¹å¼ä¸æ ·ãè¿å¯ä»¥é¿å
çæç¼ç æ æçéè¯¯æ¶æ¯ã
ä¿®å¤ xpath() 对å½å空é´èç¹å¤çä¸å½çé®é¢ï¼Michael Paquierï¼Â§ §
æ¤ä¿®å¤é¿å äºæå¤çâcould not copy nodeâé误ã
å³ä½¿æªæä¾ä»»ä½åéï¼ä¹å°æªå®ä¹ç jsonpath åéä½ä¸ºé误å¤çï¼Andrey Rachitskiyï¼Â§
jsonb ç @? å @@ æä½ç¬¦æ æ³æä¾ä»»ä½åéä¾å
¶ jsonpath 表达å¼ä½¿ç¨ãæ¤ä»£ç è·¯å¾é误å°å°æªç¥ç jsonpath åéè§ä¸º JSON nullï¼è没ææé¢ææåºé误ãé¤äºè¡ä¸ºä¸ç¬¦å颿ä¹å¤ï¼æ¤é误è¿å¯è½å¯¼è´æ ä¸éçå
åæ¶èã
é¿å
å°æå°ç money å¼é¤ä»¥ -1 æ¶åºç°ä¾èµæºå¨çè¡ä¸ºï¼Andrey Rachitskiyï¼Â§
ä¿®å¤ä¸ºææ¬æ£ç´¢è¯å ¸å建ç¼åæ¡ç®çè¿ç¨ä¸åçå åä¸è¶³å导è´çå´©æºï¼Tom Laneï¼Â§
ä¿®å¤å¤çæ ¼å¼é误ç ispell/hunspell è¯å ¸æä»¶æ¶çå åå®å ¨ç¼ºé·ï¼Andrey Rachitskiyï¼Â§
卿¸ ç GIN ç´¢å¼åææ æé´ååºæ¥è¯¢åæ¶å¹¶éµå®æ¸ çå»¶è¿ï¼Paul KimãAlexander Korotkovï¼Â§
常è§å¼çåææ å¯è½å¾å¤§ï¼å æ¤éæ¼è¿é¡¹æ£æ¥å¯è½å¯¼è´æ¸ çè¿è¡å¾é¿æ¶é´åææ³¨æå°ä¸æã
ä¿®å¤ GiST å SP-GiST ä» ç´¢å¼æ«ææé´å¯è½é误解ç ç´¢å¼å ç»çé®é¢ï¼Peter Geogheganï¼Â§
æ¤é误å¯è½å¯¼è´ä» ç´¢å¼æ«æè®¡åè¾åºæåçæ°æ®ãå¯ä¸åå½±åçæ ¸å¿æä½ç¬¦ç±»æ¯ GiST ç range_opsï¼å¹¶ä¸åªæå½èå´å䏿¯ç¬¬ä¸ä¸ªç´¢å¼åæ¶æå¯è½åºéã
å建ç®å½æ¶ï¼å®¹å¿åä¸ç®å½è¢«å¹¶åå建ï¼Andrew DunstanãTom Laneï¼Â§
éè¿å¨ä»»ä½è¢«ä¾èµå¯¹è±¡ä¸åå¾å ±äº«éï¼é²æ¢å建æ¬ç©ºç对象ä¾èµå ³ç³»ï¼Bertrand Drouvotï¼Â§ §
è¯¥å ±äº«éä¼ä¸ä»»ä½å é¤è¢«ä¾èµå¯¹è±¡çå°è¯å²çªï¼ä»èæ¶é¤ä¹ååå¨çç«ææ¡ä»¶ãä¾å¦ï¼å¦æä¸ä¸ªä¼è¯å é¤ä¸ä¸ªå¨å ¶çæ¥ä¸ºç©ºç模å¼ï¼åæ¶å¦ä¸ä¸ªä¼è¯å¨è¯¥æ¨¡å¼ä¸åå»ºå½æ°ï¼æ¤å两个äºå¡é½å¯è½æäº¤ï¼å¹¶ç䏿 æç彿°å®ä¹ãç°å¨ï¼å ¶ä¸ä¸ä¸ªäºå¡ä¼å¤±è´¥ã
ä¿®å¤ SERIALIZABLE é离模å¼ä¸å²çªæ£æµçç«ææ¡ä»¶ï¼Peter Geogheganï¼Â§
æ£æ¥æå为空ç B-æ ç´¢å¼æ¶å¯è½æ¼æå²çªï¼å é误å°å 许å²çªäºå¡æäº¤èç ´åå¯ä¸²è¡æ§ã
ä¿®å¤å±äºåä¸éç»çä¸ç»è¿ç¨åæ¶éåºæ¶çç«ææ¡ä»¶ï¼Vlad Lesinï¼Â§ §
è¿äºé误å¯è½å¯¼è´ PANIC 䏿¢ï¼å¹¶åºç°âlatch already ownedâçæ¶æ¯ãæ®éå¹¶è¡æ¥è¯¢é常ä¸ä¼åºç°æ¤é®é¢ï¼å 为é¢å¯¼è å¨çå°å ¶å·¥ä½è¿ç¨ç»æä¹åä¸ä¼éåºï¼ä½æäºæ©å±ä¼è§¦åæ¤é®é¢ã
é¿å 卿¶é´çº¿è·³è½¬æé´æ´é² WAL æ¥æ¶è¿ç¨ç宿´è¿æ¥å符串ï¼Chao Liï¼Â§
pg_stat_wal_receiver è§å¾åºæ¾ç¤ºä¸å«æææ°æ®çè±æè¿æ¥å符串ãä½å¤ç¨ç°æ WAL æ¥æ¶è¿ç¨æ¶ï¼å®ä¼çææ¾ç¤ºå®æ´å符串ã
使ç¨è¿è¡æ¶æ£æ¥èä¸åªæ¯ Assertsï¼éªè¯é»è¾å¤å¶æé´æ¥æ¶çå ç»å ·ææ£ç¡®çåæ°ï¼Varik Matevosyanï¼Â§
æ¶æææç¼ºé·çåå¸è å¯è½åéåæ°ä¸ä¸è´çæ°æ®ãè½ç¶å°æªæ¾å°ä¼å æ¤äº§ç严éä¸è¯åæçåºæ¯ï¼ä½é¢å¤è°¨æ 似乿¯å¿ è¦çã
æ¹è¿æé çå¤å¶å½ä»¤ä¸åç¬¦ä¸²åæ°çå¼ç¨å¤çï¼Tom Laneï¼Â§
å¤å¤çæå¤å¶å½ä»¤ç代ç å¨å¼ç¨å¤å¶æ§½åç§°åå ¶ä»éè¦æå ¥å½ä»¤çåæ°æ¶ä¸å¤è°¨æ ãè¿å¯è½å¯¼è´å½ä»¤åºç°æå¤çè¯æ³é误ãååä¸ï¼ç²¾å¿æé çå¤å¶æ§½åç§°å¯è½å¯¼è´ SQL æ³¨å ¥ï¼ä½è¿ç§åºæ¯å¨å®è·µä¸ä¼¼ä¹æä¸å¯è½åçï¼å ä¸ºåªæé«æéç¨æ·æè½è°ç¨å¤å¶æä½ï¼èä¸ä»ä»¬æ²¡æçç±ä½¿ç¨æ¥èªä¸å¯ä¿¡æ¥æºçæ§½åç§°ã
ä¿®å¤å¯¹ç©ºé¢å¤äºå¡çé»è¾è§£ç ï¼Masahiko Sawadaï¼Â§
æªäº§çä»»ä½å¯è§£ç æ´æ°çé¢å¤äºå¡å¯è½å¯¼è´åè¾åºæä»¶åé COMMIT/ROLLBACK PREPAREDï¼èä¹å没æåé PREPAREã对äºå
置订é
è
ï¼è¿ä¼ç ´åå¤å¶ï¼å
¶ä»æä»¶å¾å¯è½ä¹æ æ³æ£ç¡®å¤çã
ä¿®å¤åéå°å½æ¡£å级èå¤åºæ æ³éæ°è¿æ¥çé®é¢ï¼Marco Nenciariniï¼Â§
åéå°å½æ¡£æ¢å¤åï¼çº§èå¤åºå¯è½å ârequested starting point ... is ahead of the WAL flush positionâèæ æ³éæ°è¿æ¥å°å ¶ä¸æ¸¸å¤åºã
é¿å å é¤ä¸´æ¶å¤å¶æ§½æ¶çç«ææ¡ä»¶ï¼Zhijie Houï¼Â§
éæ¾æ§½ç代ç å¨éæ¾å¤å¶æ§½åï¼è¿ä¼å¯¹è¯¥æ§½çå ±äº«å åæ¡ç®æ§è¡ä¸äºé¢å¤æ´æ°ãè¿å¹¶ä¸å®å ¨ï¼å 为å¦ä¸ä¸ªä¼è¯å¯è½ç«å³å¤ç¨å·²å 餿§½çå ±äº«å åæ¡ç®ã对äºä¸´æ¶æ§½ï¼ç°è·³è¿è¿äºæ´æ°ã
ä¿®å¤é»è¾å¤å¶è¡¨åæ¥æé´éæ§çè¿åº¦æ¥åï¼Shinya Katoï¼Â§
æ¤åï¼å³ä½¿æ°æ®å¤å¶å·²ç»å®æï¼è®¢é
è
ä¸ç pg_stat_progress_copy è§å¾ä»ä¼ææåç COPY æä½æ¾ç¤ºä¸ºæ´»å¨ç¶æãå¨åæ¥è¿½ä¸åå¸è
ä¹åï¼è¯¥éæ§æ¡ç®ä¼ä¸ç´å¯è§ã
å¨ PL/Perl ä¸ï¼é¿å
å¤çæ æç PostgreSQL::InServer::ARRAY 对象æ¶å è§£å¼ç¨ NULL æéèå´©æºï¼Xing Guoï¼Â§
å¨ PL/Python ä¸ï¼æ£ç¡®æ£æ¥å¤çåºååæ å°å¯¹è±¡æ¶åççé误ï¼Richard Guoï¼Â§ §
æ¤åï¼æåçå¯¹è±¡ææªå¤ççå¼å¸¸å¯è½å¯¼è´è§£å¼ç¨ NULL æéèå´©æºã
å¨ libpq ä¸ï¼æ§è¡ pqReadData() æ¶å§ç»æç©º SSL æ GSS è§£å¯ç¼å²åºä¸ææå¾
å¤ççåèï¼Jacob Championï¼Â§ § § §
è¿å¯ä»¥é¿å ä¸ç§è¾¹çæ åµï¼libpq æè°ç¨å®çåºç¨ç¨åºçå¾ å¥æ¥å䏿æ´å¤æ°æ®å°è¾¾ï¼èå®é ä¸æææ°æ®é½å·²ç»å°è¾¾ã
å 许 libpq æ¥åè¶ è¿ 30000 åèç ParameterDescription æ¶æ¯ï¼Ning Sunï¼Â§
æ¤åï¼libpq çæææ§å¯åè§åå¹¶æªæè¿ç§æ¶æ¯ç±»åè§ä¸ºå¯è½å¾é¿ãæ¤éå¶ä¼å¯¼è´åæ°è¶ è¿ 7498 个çé¢å¤æ¥è¯¢å¤±è´¥ï¼è¿ç§æ åµè½ç¶ä¸å¤ªå¯è½åºç°ï¼ä½ç³»ç»ç¡®å®æ¯æã
æç» ecpg ç GET/SET DESCRIPTOR è¯å¥ä¸åå¨å¤ä¸ªæè¿°ç¬¦é¦é¨é¡¹ï¼Masashi Kamuraï¼Â§
æ¤åè¯æ³å 许è¿ç§å½¢å¼ï¼ä½ä¼çææç¼ºé·ç C 代ç ãç°è°æ´è¯æ³åææ¡£ï¼åªå 许ä¸ä¸ªé¦é¨é¡¹ã
使 psql æ©å±å¯¹é½è¾åºæ ¼å¼ä¸çè¡å®½ä¿æä¸è´ï¼Pavel Stehuleï¼Â§
å½è¡¨çæ°æ®è¡æ¯è®°å½æ é¢è¡çªæ¶ï¼å°æ°æ®è¡å 宽å°ä¸æ é¢è¡ä¸è´ï¼ä»èé¿å è¾åºä¸ç¾è§ã
ä¿®å¤ psql å¨ \l+ 䏿¾ç¤ºæ°æ®åºå¤§å°æ¶çæéæ£æ¥ï¼Christoph Bergï¼Â§
åºå±æå¡å¨å½æ°å
许å
·æ pg_read_all_stats æéçç¨æ·æ¥çæææ°æ®åºç大å°ï¼å³ä½¿ä»ä»¬æ²¡æ CONNECT æéãä½ psql ä¸ç¥éè¿ä¸è§å®ï¼é¤éç¨æ·å
·æ CONNECT æéï¼å¦åä¸ä¼è°ç¨è¯¥å½æ°ã
ä¿®å¤ psql 对 \df ç TAB è¡¥å
¨ï¼ä½¿å
¶ä¹æ¶µçè¿ç¨ï¼Erik Wienholdï¼Â§
对 pg_recvlogical è¾åºæä»¶éç¨æºéç°çæä»¶ç»è¯»æéï¼Fujii Masaoï¼Â§
ææ¡£å£°ç§° pg_recvlogical ä¼è¿æ ·åï¼ä½å®ä»æªå®é å¯ç¨ç»è¯»æéã
å¨ contrib/amcheck ä¸ï¼æ£ç¡®å¤ççå¤´é¨ varlena Datumï¼Andrey Borodinï¼Â§
æ¤é误å¯è½å¯¼è´éªè¯ B-æ ç´¢å¼æ¶æ§è¡å¤ä½å·¥ä½ï¼ä½ä¼¼ä¹æ²¡æé ææ´ä¸¥éçåæã
å¨ contrib/btree_gist ä¸ï¼ä¿®å¤ NaN å¨ float4 å float8 æä½ç¬¦ç±»ä¸çå¤çï¼Bill KimãTom Laneï¼Â§
æ¯è¾ä»¥å GiST penalty å distance 彿°é½æ²¡æèè NaNï¼å èå¨éå°è¯¥å¼æ¶ä¼ç»åºéè¯¯ç»æã建议å¨å®è£
æ¤æ´æ°å对 float åä¸ç btree_gist ç´¢å¼é建索å¼ï¼åææ¯è¿äºåä¸å¯è½åå¨ NaN æ¡ç®ã
å¨ contrib/btree_gist ä¸ï¼ä¿®å¤ä½¿ç¨ä¸çæä½ç¬¦çæç´¢ï¼Ayush Tiwariï¼Â§
对äºåé¿æ°æ®ç±»åï¼æ«æéå¶ç´¢å¼é¡µç代ç 使ç¨äºéè¯¯çæ¯è¾å½æ°ï¼å¯¼è´ç»æé误并å¯è½å¼åå´©æºã
ä¿®å¤ä»¥ä¸æ¨¡åä¸ç¼ºå°é²æ¤çéå½å循ç¯ï¼contrib/hstore_plperlãcontrib/jsonb_plperl å contrib/jsonb_plpythonï¼Aleksander Alekseevï¼Â§ §
鲿¢å¤ç深度åµå¥ç jsonb 弿¶åçæ æº¢åºï¼å¹¶å
è®¸ä¸æå°è¯è§£å¼ç¨ Perl 对象å¼ç¨çç¯ç¶é¾æ¶é æçæ é循ç¯ã
ä¿®å¤ contrib/intarray ä¸éæ¼éæ¾ç»è®¡ä¿¡æ¯ catcache æ¡ç®çé®é¢ï¼Man Zengï¼Â§
æ¤çæ¼ä¼å¯¼è´âresource was not closed: cache pg_statisticâä¹ç±»çè¦åã
å¨ contrib/ltree ä¸ï¼ä¿®å¤æ¯è¾æ¶çæ´æ°æº¢åºï¼Ayush Tiwariï¼Â§
å
å«è¶
è¿çº¦ 14,653 个æ ç¾ç ltree å¼ä¼å 溢åºèå¾å°éè¯¯çæ¯è¾ç»æã妿 B-æ ç´¢å¼å
å«è¿ç±»å¼ï¼å®å¾å¯è½å·²ç»æåï¼åºå¨å®è£
æ¤æ´æ°åé建索å¼ã
ä¿®å¤ contrib/pg_surgery ç heap_force_kill å heap_force_freeze 彿°ä¸çæ°ç»è¶çåå
¥ï¼Michael Paquierï¼Â§
å°è¯æ´æ¹åç§»å·çäº MaxHeapTuplesPerPage ç TID æ¶ï¼ä¼å¨å·²åé æ°ç»çæ«å°¾ä¹å¤åå ¥ä¸ä¸ªåèï¼å¯è½å¯¼è´æå¡å¨å´©æºã
å¨ contrib/pg_surgery ä¸ï¼é¿å
å
å«è¶
è¿ 64K 个å
ç´ ç TID æ°ç»å¯¼è´æ é循ç¯ï¼Andrey Rachitskiyï¼Â§
é¿å
contrib/refint ç check_foreign_key() ä¸è§£å¼ç¨ NULL æéï¼Ayush Tiwariï¼Â§
卿´æ°æ¶çº§èçæ åµä¸ï¼è¢«å¼ç¨åç null å¼ä¼å¯¼è´å´©æºãè¿æ¯ CVE-2026-6637 ä¿®å¤ä¸çä¸é¡¹çæ¼ï¼ä½ä¿®å¤ä¹åç代ç ä¹å¹¶ä¸çæ£æ£ç¡®ã
ä¿®å¤ contrib/segï¼ä½¿å
¶æ£ç¡®æå°å¸¦æ ~ ç¡®å®æ§æç¤ºç¬¦ç线段ï¼Ewan Youngï¼Â§
ç±äºæ¼åé误ï¼seg_out() ä¸ä¼æå°éå å¨çº¿æ®µä¸çç ~ ç¡®å®æ§æç¤ºç¬¦ãæ´ç³çæ¯ï¼å¦æä¸ç带æ ~ èä¸ç没ææç¤ºç¬¦ï¼ä¸çä¼å®å
¨ä¸è¢«æå°ï¼ä»èé误å°å°è¯¥å¼è½¬æ¢ä¸ºå¼åºé´ã
ä¿®å¤ contrib/xml2 ç xpath_nodeset() 彿°å¤çå½å空é´èç¹æ¶çå´©æºï¼Andrey ChernyyãMichael Paquierï¼Â§
æ¯æä½¿ç¨ Visual Studio 2026 æå»º PostgreSQLï¼Andrew Dunstanï¼Â§
æ¯æä½¿ç¨ OpenSSL 4 æå»º PostgreSQLï¼Daniel Gustafssonï¼Â§
å°æ¶åºæ°æ®æä»¶æ´æ°å° tzdata 2026c åå¸çæ¬ï¼Tom Laneï¼Â§
Albertaï¼America/Edmontonï¼å°ä» 2026 å¹´ 11 æå¼å§å
¨å¹´éç¨ UTC-06ï¼å®é
ä¸å°±æ¯æ°¸ä¹
DSTï¼ãæ¬æ¬¡åå¸åå®å
¶ TZ 缩åä»é£æ¶èµ·ä¸º CSTãè¿çèµ·æ¥å¯è½ä¼æ¹åï¼ä½å°ä¸æ¸
æ¥ä¼ä½¿ç¨ä»ä¹æ°ç¼©åã
Moroccoï¼Africa/Casablancaï¼å°ä» 2026-09-20 èµ·æ¹ä¸ºæ°¸ä¹ UTC+00ï¼ä¸åè¿è¡å¤ä»¤æ¶è½¬æ¢ã
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。英文原文本身的问题请通过上游文档表单反馈给 PostgreSQL 文档维护者。