E.17. ÐÑпÑÑк 16.7 #
ÐаÑа вÑпÑÑка: 2025-02-13
Ð ÑÑÐ¾Ñ Ð²ÑпÑÑк воÑли ÑазлиÑнÑе иÑпÑавлениÑ, внеÑÑннÑе поÑле веÑÑии 16.6. Ðа инÑоÑмаÑией о нововведениÑÑ Ð²ÐµÑÑии 16 обÑаÑиÑеÑÑ Ðº РазделÑ E.24.
E.17.1. ÐигÑаÑÐ¸Ñ Ð½Ð° веÑÑÐ¸Ñ 16.7 #
ÐÑли иÑполÑзÑеÑÑÑ Ð²ÐµÑÑÐ¸Ñ 16.X, вÑгÑÑзка/воÑÑÑановление Ð±Ð°Ð·Ñ Ð½Ðµ ÑÑебÑеÑÑÑ.
Также, еÑли Ð²Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÑеÑе ÑеÑÐ²ÐµÑ Ñ Ð±Ð¾Ð»ÐµÐµ Ñанней веÑÑии, Ñем 16.5, Ñм. Раздел E.19.
E.17.2. ÐÐ·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ #
УÑиление
PQescapeStringи ÑодÑÑвеннÑÑ ÑÑнкÑий Ð´Ð»Ñ Ð·Ð°ÑиÑÑ Ð¾Ñ Ð½ÐµÐºÐ¾ÑÑекÑно закодиÑованнÑÑ Ð²Ñ Ð¾Ð´Ð½ÑÑ ÑÑÑок (ÐндÑÐµÑ Ð¤Ñойнд, Ðой ÐиÑ) § § § § § §ФÑнкÑии Ñ Ð¾Ð±ÑабоÑкой ÑкÑаниÑованиÑ, пÑедоÑÑавлÑемÑе libpq, ÑепеÑÑ Ð¿Ð¾Ð»Ð½Ð¾ÑÑÑÑ Ð¿ÑовеÑÑÑÑ Ð´Ð¾Ð¿ÑÑÑимоÑÑÑ ÐºÐ¾Ð´Ð¸Ñовки Ð²Ñ Ð¾Ð´Ð½ÑÑ Ð´Ð°Ð½Ð½ÑÑ . ÐÑи обнаÑÑжении недопÑÑÑимÑÑ Ñимволов вÑдаÑÑÑÑ Ð¾Ñибка, еÑли ÑÑо возможно. ÐÐ»Ñ ÑÑнкÑий, не возвÑаÑаÑÑÐ¸Ñ Ð¾Ñибки, вÑÑ Ð¾Ð´Ð½Ð°Ñ ÑÑÑока коÑÑекÑиÑÑеÑÑÑ, ÑÑÐ¾Ð±Ñ Ð³Ð°ÑанÑиÑоваÑÑ, ÑÑо ÑеÑÐ²ÐµÑ ÑаÑÐ¿Ð¾Ð·Ð½Ð°ÐµÑ Ð½ÐµÐ´Ð¾Ð¿ÑÑÑимÑÑ ÐºÐ¾Ð´Ð¸ÑовкÑ, и пÑи пÑомежÑÑоÑной обÑабоÑке оÑибоÑнÑй Ð±Ð°Ð¹Ñ Ð½Ðµ бÑдÑÑ Ð¿ÑинÑÑ Ð·Ð° одинаÑнÑÑ ÐºÐ°Ð²ÑÑкÑ, обÑаÑнÑÑ ÐºÐ¾ÑÑÑ ÑеÑÑÑ Ð¸ Ñ. д.
Ð¦ÐµÐ»Ñ ÑÑого Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ â заÑиÑа Ð¾Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½ÑÑ Ð°Ñак меÑодом SQL-инÑекÑий, еÑли одна из ÑÑÐ¸Ñ ÑÑнкÑий иÑполÑзÑеÑÑÑ Ð´Ð»Ñ ÑкÑаниÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑпеÑиалÑно ÑконÑÑÑÑиÑованного Ð²Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ знаÑениÑ. ÐÑли полÑÑÐµÐ½Ð½Ð°Ñ ÑÑÑока оÑпÑавлÑеÑÑÑ Ð½Ð°Ð¿ÑÑмÑÑ Ð½Ð° ÑеÑÐ²ÐµÑ PostgreSQL (коÑоÑÑй в лÑбом ÑлÑÑае пÑовеÑÐ¸Ñ ÐµÑ ÐºÐ¾Ð´Ð¸ÑовкÑ), опаÑноÑÑи неÑ. Ðднако ÑиÑк возникаеÑ, еÑли ÑÑÑока пÑÐ¾Ñ Ð¾Ð´Ð¸Ñ ÑеÑез psql или дÑÑгой код на ÑÑоÑоне клиенÑа. Ранее Ñакой код не пÑовеÑÑл кодиÑÐ¾Ð²ÐºÑ Ð´Ð¾ÑÑаÑоÑно ÑÑаÑелÑно, и во Ð¼Ð½Ð¾Ð³Ð¸Ñ ÑлÑÑаÑÑ Ð¾ÑÑавалоÑÑ Ð½ÐµÑÑно, как Ñледовало Ð±Ñ ÑеагиÑоваÑÑ Ð½Ð° обнаÑÑженнÑе оÑибки.
ÐÑо иÑпÑавление ÑÑÑекÑивно ÑолÑко в Ñом ÑлÑÑае, еÑли ÑÑнкÑÐ¸Ñ Ñ Ð¾Ð±ÑабоÑкой ÑкÑаниÑованиÑ, ÑеÑÐ²ÐµÑ Ð¸ лÑбÑе пÑомежÑÑоÑнÑе пÑоÑеÑÑÑ Ð¸ÑполÑзÑÑÑ Ð¾Ð´Ð½Ñ Ð¸ ÑÑ Ð¶Ðµ кодиÑовкÑ. ÐÑобенно важно ÑледиÑÑ Ð·Ð° иÑполÑзованием одной кодиÑовки пÑиложениÑм, коÑоÑÑе вÑÑавлÑÑÑ Ð½ÐµÐ´Ð¾Ð²ÐµÑеннÑе Ð²Ñ Ð¾Ð´Ð½Ñе даннÑе в SQL-запÑоÑÑ.
ÐÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¸ дÑайвеÑÑ, ÑкÑаниÑÑÑÑие недовеÑеннÑе Ð²Ñ Ð¾Ð´Ð½Ñе даннÑе без иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑÑнкÑий libpq, могÑÑ ÑÑолкнÑÑÑÑÑ Ñ Ð¿Ð¾Ð´Ð¾Ð±Ð½Ñми пÑоблемами. СнаÑала им ÑледÑÐµÑ Ð¿ÑовеÑÑÑÑ, ÑÑо Ð²Ñ Ð¾Ð´Ð½Ñе даннÑе ÑооÑвеÑÑÑвÑÑÑ Ð¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ð¾Ð¹ ÑеÑвеÑом кодиÑовке.
ÐÑÐ¾ÐµÐºÑ PostgreSQL благодаÑÐ¸Ñ Ð¡Ñивена ФÑÑÑÑа за ÑообÑение об ÑÑой пÑоблеме. (CVE-20245-109784)
ÐÑклÑÑение паÑаллелÑнÑÑ ÑабоÑÐ¸Ñ Ð¿ÑоÑеÑÑов из пÑовеÑок и огÑаниÑений пÑав подклÑÑÐµÐ½Ð¸Ñ (Том Ðейн) §
ТепеÑÑ Ð¿Ñи запÑÑке паÑаллелÑного ÑабоÑего пÑоÑеÑÑа не пÑовеÑÑÑÑÑÑ Ð¿Ñивилегии
datalowconn,rolcanloginиACL_CONNECT. ÐÑедполагаеÑÑÑ, ÑÑо доÑÑаÑоÑно ведÑÑÐµÐ¼Ñ Ð¿ÑоÑеÑÑÑ Ð¿ÑойÑи аналогиÑнÑе пÑовеÑки. ÐÑо позволÑÐµÑ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ, напÑимеÑ, неожиданнÑÑ Ð·Ð°Ð²ÐµÑÑений паÑаллелÑнÑÑ Ð·Ð°Ð¿ÑоÑов Ñ Ð¾Ñибкой, еÑли ведÑÑий пÑоÑеÑÑ Ð²ÑполнÑлÑÑ Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ Ñоли без пÑава Ð²Ñ Ð¾Ð´Ð°. ÐÑоме Ñого, огÑаниÑениÑReservedConnections,datconnlimitиrolconnlimitÑепеÑÑ Ð¿ÑименÑÑÑÑÑ ÑолÑко к обÑÑнÑм обÑлÑживаÑÑим пÑоÑеÑÑам, и ÑолÑко они ÑÑиÑÑваÑÑÑÑ Ð¿Ñи подÑÑÑÑе колиÑеÑÑва подклÑÑений. ÐÑи огÑаниÑÐµÐ½Ð¸Ñ Ð¿ÑедназнаÑÐµÐ½Ñ Ð´Ð»Ñ Ð¿ÑедоÑвÑаÑÐµÐ½Ð¸Ñ ÑÑезмеÑного поÑÑÐµÐ±Ð»ÐµÐ½Ð¸Ñ ÑлоÑов подклÑÑений Ð´Ð»Ñ Ð¾Ð±ÑÑнÑÑ Ð¿ÑоÑеÑÑов, но Ñ Ð¿Ð°ÑаллелÑнÑÑ ÑабоÑÐ¸Ñ Ð¿ÑоÑеÑÑов и дÑÑÐ³Ð¸Ñ ÑпеÑиалÑнÑÑ Ð¿ÑоÑеÑÑов еÑÑÑ ÑобÑÑвеннÑе пÑÐ»Ñ ÑлоÑов Ñ ÑобÑÑвеннÑми пÑовеÑками огÑаниÑений.ÐÑпÑавление возможной пÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ñ Ð¿Ð¾Ð²ÑоÑнÑм иÑполÑзованием ÑÑÑаÑевÑÐ¸Ñ ÑезÑлÑÑаÑов в оконнÑÑ Ð°Ð³ÑегаÑнÑÑ ÑÑнкÑиÑÑ (ÐÑвид РоÑли)
ÐÐºÐ¾Ð½Ð½Ð°Ñ Ð°Ð³ÑегаÑÐ½Ð°Ñ ÑÑнкÑÐ¸Ñ Ñ Ð¾Ð³ÑаниÑиваÑÑим ÑÑловием вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¸ ÑезÑлÑÑаÑом Ñипа, пеÑедаваемого по ÑÑÑлке, могла оÑибоÑно возвÑаÑаÑÑ ÑезÑлÑÑÐ°Ñ Ð¸Ð· пÑедÑдÑÑей ÑекÑии вмеÑÑо вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ вÑÑиÑлениÑ.
ÐоддеÑжка ÑÐ¸Ð½Ñ ÑонизаÑии
TransactionXminÑMyProc->xmin(Хейкки ÐиннакангаÑ) §Ранее пÑоÑеÑÑ Ð¼Ð¾Ð³ попÑÑаÑÑÑÑ Ð¿Ð¾Ð»ÑÑиÑÑ Ð´Ð¾ÑÑÑп к Ñже ÑдалÑннÑм даннÑм. Ðдним из извеÑÑнÑÑ Ð¿Ð¾ÑледÑÑвий ÑвлÑлиÑÑ Ð²ÑеменнÑе оÑибки Ñипа «could not access status of transaction» (не ÑдалоÑÑ Ð¿Ð¾Ð»ÑÑиÑÑ ÑоÑÑоÑние ÑÑанзакÑии).
УÑÑÑанение ÑÑловий гонки, коÑоÑÑе могли пÑивеÑÑи к оÑибке пÑи добавлении новой запиÑи каÑалога в ÑпиÑок кеÑа каÑалога (Хейкки ÐиннакангаÑ) §
ÐÑо могло пÑиводиÑÑ, напÑимеÑ, к ÑомÑ, ÑÑо в ÑекÑÑем ÑеанÑе не могла иÑполÑзоваÑÑÑÑ ÑолÑко ÑÑо ÑÐ¾Ð·Ð´Ð°Ð½Ð½Ð°Ñ ÑÑнкÑиÑ.
ÐÑедоÑвÑаÑение возможного повÑÐµÐ¶Ð´ÐµÐ½Ð¸Ñ ÐºÐ°Ñалога пÑи оÑиÑÑке ÑиÑÑемного каÑалога одновÑеменно Ñ ÐµÐ³Ð¾ изменением (Ðой ÐиÑ) §
УÑÑÑанение повÑÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¿Ñи возникновении оÑибки во вÑÐµÐ¼Ñ ÑÑеÑÐµÐ½Ð¸Ñ Ð¾ÑноÑений (Ð¢Ð¾Ð¼Ð°Ñ ÐанÑо) § § §
ФайловÑе опеÑаÑии, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñе Ð´Ð»Ñ ÑÑеÑÐµÐ½Ð¸Ñ Ð¾ÑноÑений, могли завеÑÑиÑÑÑÑ Ð¾Ñибкой, оÑÑавив неÑоглаÑованное ÑоÑÑоÑние на диÑке (напÑимеÑ, ÑакÑиÑеÑки воÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°Ñ ÑдалÑннÑе даннÑе). ÐÑо невозможно пÑедоÑвÑаÑиÑÑ Ð¿Ð¾Ð»Ð½Ð¾ÑÑÑÑ, но ÑепеÑÑ Ð¾Ñибки Ñакого Ñода полÑÑили ÑÑÐ¾Ð²ÐµÐ½Ñ PANIC, Ñак ÑÑо поÑле Ð¸Ñ Ð¿Ð¾ÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ запÑÑÑиÑÑ Ð²Ð¾ÑÑÑановление ÑоглаÑованноÑÑи даннÑÑ Ð¿ÑÑÑм повÑоÑного воÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ WAL до моменÑа, непоÑÑедÑÑвенно пÑедÑеÑÑвÑÑÑего попÑÑке ÑÑеÑениÑ. ÐÑо не лÑÑÑее ÑеÑение, но Ñакие оÑибки возникаÑÑ Ð´Ð¾ÑÑаÑоÑно Ñедко, ÑÑÐ¾Ð±Ñ ÑÑиÑаÑÑ Ñакой Ð¿Ð¾Ð´Ñ Ð¾Ð´ пÑиемлемÑм.
ÐÑедоÑвÑаÑение запÑÑка конÑÑолÑнÑÑ ÑоÑек во вÑÐµÐ¼Ñ ÑÑеÑÐµÐ½Ð¸Ñ Ð¾ÑноÑений (РобеÑÑ Ð¥Ð°Ð°Ñ)
ÐÑо позволÑÐµÑ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ ÑÑловий гонки, пÑи коÑоÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÑннÑй Ñайл мог не ÑÐ¾Ñ ÑаниÑÑÑÑ Ð½Ð° диÑке до завеÑÑÐµÐ½Ð¸Ñ ÐºÐ¾Ð½ÑÑолÑной ÑоÑки, ÑÑо Ñоздавало ÑиÑк повÑÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ , еÑли вÑкоÑе поÑле ÑÑого пÑоиÑÑ Ð¾Ð´Ð¸Ð» Ñбой опеÑаÑионной ÑиÑÑемÑ.
ÐÑклÑÑение возможной поÑеÑи изменений
pg_database.datfrozenxidв ÑлÑÑае вÑполнениÑVACUUMодновÑеменно Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹REASSIGN OWNED, коÑоÑÐ°Ñ Ð¸Ð·Ð¼ÐµÐ½ÑÐµÑ Ð²Ð»Ð°Ð´ÐµÐ»ÑÑа ÑÑой Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ (ÐиÑилл РеÑке) §ÐÑпÑавление пеÑедаÑи некоÑÑекÑнÑÑ Ð·Ð½Ð°Ñений
tg_updatedcolsÑÑиггеÑамAFTER UPDATE(Том Ðейн) §РнекоÑоÑÑÑ ÑлÑÑаÑÑ Ð±Ð¸ÑÐ¾Ð²Ð°Ñ ÐºÐ°ÑÑа
tg_updatedcolsмогла опиÑÑваÑÑ Ð½Ð°Ð±Ð¾Ñ ÑÑолбÑов, изменÑннÑÑ Ð¿ÑедÑеÑÑвÑÑÑей командой в Ñой же ÑÑанзакÑии, ÑÑо заÑÑавлÑло невеÑно ÑÑабаÑÑваÑÑ ÑÑиггеÑ.ÐÑоме Ñого, пÑедоÑвÑаÑено ÑвелиÑение иÑполÑзÑемого обÑÑма памÑÑи, вÑзванное Ñозданием ÑлиÑком болÑÑого колиÑеÑÑва копий биÑовой каÑÑÑ
tg_updatedcols.ÐÑклÑÑение оÑÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÑекÑии, еÑли Ñ Ð½ÐµÑ ÐµÑÑÑ ÑобÑÑвенное огÑаниÑение внеÑнего клÑÑа, ÑÑÑлаÑÑееÑÑ Ð½Ð° ÑекÑиониÑованнÑÑ ÑаблиÑÑ (ÐмÑл СÑл) §
РобÑÑнÑÑ ÑлÑÑаÑÑ Ð²Ð½ÐµÑние клÑÑи опÑеделÑÑÑÑÑ Ð½Ð° веÑÑ Ð½ÐµÐ¼ ÑÑовне ÑекÑиониÑованной ÑаблиÑÑ. Ранее, еÑли один из клÑÑей опÑеделÑлÑÑ Ð½Ð° ÑÑовне ÑекÑии и ÑÑÑлалÑÑ Ð½Ð° ÑекÑиониÑованнÑÑ ÑаблиÑÑ, пÑи оÑÑоединении Ñакой ÑекÑии ÑооÑвеÑÑÑвÑÑÑие запиÑи
pg_constraintизменÑлиÑÑ Ð½ÐµÐºÐ¾ÑÑекÑно. ÐÑо пÑиводило к оÑибкам вида «could not find ON INSERT check triggers of foreign key constraint» (не ÑдалоÑÑ Ð½Ð°Ð¹Ñи ÑÑиггеÑÑ Ð¿ÑовеÑки ON INSERT огÑаниÑÐµÐ½Ð¸Ñ Ð²Ð½ÐµÑнего клÑÑа).ÐÑпÑавление обÑабоÑки кодов ÑоÑмаÑа
FFÑÑнкÑиейnto_timestamp(Том Ðейн)Ранее, еÑли непоÑÑедÑÑвенно пеÑед
FFÐ½Ð°Ñ Ð¾Ð´Ð¸Ð»ÑÑ ÐºÐ¾Ð´ ÑелоÑиÑленного ÑоÑмаÑа, могли иÑполÑзоваÑÑÑÑ Ð²Ñе доÑÑÑпнÑе ÑиÑÑÑ, оÑÑавлÑÑnFFбез знаÑений.nРеализаÑÐ¸Ñ Ð¿ÑовеÑки заклÑÑÐµÐ½Ð¸Ñ Ð¸Ð¼Ñн пÑоÑÑÑанÑÑв имÑн XML в двойнÑе кавÑÑки пÑи ÑазбоÑе вÑÑажениÑ
XMLTABLE()(Ðин РаÑид) §Ðобавление паÑамеÑÑа
ldapschemeв вÑвод ÑÑнкÑииpg_hba_file_rules()(ÐаÑÑÐµÐ½Ñ ÐлÑбе) § §ÐÑклÑÑение обÑÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¾Ð¿ÐµÑаÑий
UNION, еÑли Ð¸Ñ Ð¿Ñавила ÑоÑÑиÑовки ÑÑолбÑов не ÑоглаÑÐ¾Ð²Ð°Ð½Ñ (Том Ðейн) §Ранее пÑавила ÑоÑÑиÑовки игноÑиÑовалиÑÑ Ð¿Ñи пÑинÑÑии ÑеÑÐµÐ½Ð¸Ñ Ð¾ Ñом, безопаÑно ли обÑединÑÑÑ Ñаги
UNIONв Ð¾Ð´Ð½Ñ Ð¼Ð½Ð¾Ð³Ð¾ÐºÑаÑнÑÑ Ð¾Ð¿ÐµÑаÑиÑUNION. ÐÑо могло бÑÑÑ Ð´Ð¾Ð¿ÑÑÑимо до Ð²Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð½ÐµÐ´ÐµÑеÑминиÑованнÑÑ Ð¿Ñавил ÑоÑÑиÑовки, но ÑепеÑÑ ÑиÑÑаÑÐ¸Ñ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ð»Ð°ÑÑ, поÑколÑÐºÑ Ð¸ÑполÑзÑÐµÐ¼Ð°Ñ ÑоÑÑиÑовка Ð¼Ð¾Ð¶ÐµÑ Ð²Ð»Ð¸ÑÑÑ Ð½Ð° опÑеделение ÑникалÑноÑÑи.ÐÑедоÑвÑаÑение оÑибок планиÑовÑика вида «wrong varnullingrels» (непÑавилÑнÑе varnullingrel) поÑле «подÑÑгиваниÑ» подзапÑоÑа, коÑоÑÑй Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð¿Ð¾Ð´ внеÑним Ñоединением (Том Ðейн) § §
ÐгноÑиÑование маÑкиÑовки оÑноÑений Ð´Ð»Ñ Ð¾Ð±Ð½ÑÐ»ÐµÐ½Ð¸Ñ Ð¿Ñи поиÑке ÑÑаÑиÑÑики (РиÑаÑд ÐÑо) §
ÐÑо ÑпÑÑение могло пÑиводиÑÑ Ðº невозможноÑÑи иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑооÑвеÑÑÑвÑÑÑей ÑÑаÑиÑÑики по вÑÑажениÑм или к оÑибкам вида «corrupt MVNDistinct entry» (повÑеждÑÐ½Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑ MVNDistinct).
ÐÑпÑавление обÑабоÑки пÑопÑÑеннÑÑ Ð²ÑÑажений в логике оÑÑеÑÐµÐ½Ð¸Ñ ÑекÑий (Том Ðейн)
ÐÑо ÑпÑÑение могло пÑиводиÑÑ Ðº оÑибкам вида «unrecognized node type» (неÑаÑпознаннÑй Ñип Ñзла) и поÑенÑиалÑно к дÑÑгим пÑоблемам пÑи вÑполнении запÑоÑов к ÑекÑиониÑованнÑм ÑаблиÑам.
СнÑÑие огÑаниÑÐµÐ½Ð¸Ñ ÑазмеÑа ÑÐ°Ð±Ð»Ð¸Ñ dshash в 1 ÐÐ (ÐаÑÑÐ¸Ð°Ñ Ð²Ð°Ð½ де ÐеенÑ) §
ÐÑо позволÑÐµÑ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ Ð¾Ñибок Ñипа «invalid DSA memory alloc request size» (недопÑÑÑимÑй запÑоÑеннÑй ÑÐ°Ð·Ð¼ÐµÑ ÑазделÑемой памÑÑи DSA). Ð¢Ð°ÐºÐ°Ñ ÑиÑÑаÑÐ¸Ñ Ð¼Ð¾Ð³Ð»Ð° возникнÑÑÑ, напÑимеÑ, в ÑÑанзакÑиÑÑ , обÑабаÑÑваÑÑÐ¸Ñ Ð½ÐµÑколÑко миллионов ÑаблиÑ.
ÐÑедоÑвÑаÑение возможного ÑелоÑиÑленного пеÑÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð² ÑÑнкÑии
bringetbitmap()(ÐÐ¶ÐµÐ¹Ð¼Ñ Ð¥Ð°Ð½ÑеÑ, Ðвгений ÐоÑбанÑв) §ÐоÑколÑÐºÑ ÑезÑлÑÑÐ°Ñ Ð¸ÑполÑзÑеÑÑÑ ÑолÑко в ÑÑаÑиÑÑиÑеÑÐºÐ¸Ñ ÑелÑÑ , поÑледÑÑÐ²Ð¸Ñ ÑÑой оÑибки бÑли в оÑновном коÑмеÑиÑеÑкими.
ÐÑклÑÑение поведениÑ, пÑи коÑоÑом Ñже ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ð°Ñ Ð±Ð»Ð¾ÐºÐ¸Ñовка пÑоÑеÑÑа меÑала пÑоÑеÑÑÑ postmaster обÑабаÑÑваÑÑ ÑобÑÑÐ¸Ñ ÑокеÑа (Ð¢Ð¾Ð¼Ð°Ñ ÐанÑо) §
ЧÑезвÑÑайно болÑÑÐ°Ñ Ð½Ð°Ð³ÑÑзка на ÑеÑвеÑÑ, запÑÑкаÑÑие и завеÑÑаÑÑие ÑабоÑÑ Ð¿ÑоÑеÑÑов, могла помеÑаÑÑ Ð¿ÑоÑеÑÑÑ postmaster ÑвоевÑеменно ÑеагиÑоваÑÑ Ð½Ð° Ð²Ñ Ð¾Ð´ÑÑие клиенÑÑкие подклÑÑениÑ.
ÐÑедоÑвÑаÑение заÑÐ¸ÐºÐ»Ð¸Ð²Ð°Ð½Ð¸Ñ ÑезеÑвнÑÑ ÑеÑвеÑов поÑоковой ÑепликаÑии пÑи ÑÑении запиÑей WAL, пеÑÐµÑ Ð¾Ð´ÑÑÐ¸Ñ Ð½Ð° дÑÑгÑÑ ÑÑÑаниÑÑ (ÐÑÑаÑо ХоÑигÑÑи, ÐлекÑÐ°Ð½Ð´Ñ ÐÑкÑÑкин)
ÐÑо могло пÑоизойÑи, еÑли запиÑÑ Ð¿ÑодолжалаÑÑ Ð½Ð° ÑÑÑаниÑе, коÑоÑÑÑ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ бÑло пÑоÑиÑаÑÑ Ð¸Ð· дÑÑгого иÑÑоÑника WAL.
УÑÑÑанение непÑеднамеÑенного повÑÑÐµÐ½Ð¸Ñ ÑÑÐ¾Ð²Ð½Ñ Ð¾Ñибок FATAL до PANIC в наÑале запÑÑка пÑоÑеÑÑов (Ðой ÐиÑ) §
ÐÑо иÑклÑÑÐ°ÐµÑ Ð½ÐµÐºÐ¾ÑоÑÑе маловеÑоÑÑнÑе ÑлÑÑаи, коÑоÑÑе могли пÑивеÑÑи к оÑибкам вида «PANIC: proc_exit() called in child process» (ÐÐÐÐÐÐ: в доÑеÑнем пÑоÑеÑÑе вÑзван proc_exit()).
ÐÑклÑÑение ÑлÑÑаев, в коÑоÑÑÑ Ð¾Ð¿ÐµÑаÑÐ¾Ñ ÑемейÑÑва опеÑаÑоÑов или опоÑÐ½Ð°Ñ Ð¿ÑоÑедÑÑа могли ÑÑаÑÑ Ð½ÐµÐ´ÐµÐ¹ÑÑвиÑелÑнÑми (Том Ðейн) § §
РнекоÑоÑÑÑ ÑлÑÑаÑÑ Ñип даннÑÑ Ð¼Ð¾Ð³ бÑÑÑ ÑдалÑн, а ÑÑÑлки на его OID по-пÑÐµÐ¶Ð½ÐµÐ¼Ñ Ð¾ÑÑавалиÑÑ Ð²
pg_amopилиpg_amproc. ÐÑо могло пÑиводиÑÑ Ðº пÑоблемам в бÑдÑÑем, Ñак как попÑÑка ÑдалиÑÑ Ð²Ð»Ð°Ð´ÐµÑÑее опеÑаÑоÑом ÑемейÑÑво завеÑÑалаÑÑ Ð¾Ñибкой, и pg_dump генеÑиÑовал некоÑÑекÑнÑй вÑвод пÑи вÑгÑÑзке ÑемейÑÑва опеÑаÑоÑов. Ð Ñказанном иÑпÑавлении пÑи Ñоздании и изменении ÑемейÑÑв/клаÑÑов опеÑаÑоÑов добавлÑÑÑÑÑ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñе завиÑимоÑÑи, Ñак ÑÑо пÑи Ñдалении Ñипа даннÑÑ Ñакже ÑдалÑÑÑÑÑ Ð»ÑбÑе завиÑимÑе ÑлеменÑÑ ÑемейÑÑва опеÑаÑоÑов. Ðднако на Ñже ÑÑÑеÑÑвÑÑÑие ÑемейÑÑва опеÑаÑоÑов ÑÑо иÑпÑавление не ÑаÑпÑоÑÑÑанÑеÑÑÑ, поÑÑÐ¾Ð¼Ñ Ð²DROP OPERATOR FAMILYÑакже бÑло добавлено вÑеменное ÑеÑение, ÑÑÐ¾Ð±Ñ Ð¿ÑедоÑвÑаÑиÑÑ Ñбой пÑи Ñдалении ÑемейÑÑва, в коÑоÑом еÑÑÑ Ð½ÐµÐ´ÐµÐ¹ÑÑвиÑелÑнÑе ÑленÑ.УÑÑÑанение множеÑÑвеннÑÑ ÑÑеÑек памÑÑи в вÑводе логиÑеÑкого декодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ (ÐÐ¸Ð³Ð½ÐµÑ Ð¡Ð¸, ÐаÑÐ°Ñ Ð¸ÐºÐ¾ Савада, ÐоÑй Янг) § § §
УÑÑÑанение неболÑÑой ÑÑеÑки памÑÑи пÑи изменении паÑамеÑÑа
application_nameилиcluster_name(ТоÑиг Ðлиев) §ÐÑедоÑвÑаÑение ÑелоÑиÑленного пеÑÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ñи пÑовеÑке ÑÑловиÑ
wal_skip_threshold(Том Ðейн) §ТÑанзакÑиÑ, коÑоÑÐ°Ñ Ñоздавала оÑÐµÐ½Ñ Ð±Ð¾Ð»ÑÑое оÑноÑение, могла по оÑибке ÑеÑиÑÑ Ð¾Ð±ÐµÑпеÑиÑÑ Ð½Ð°Ð´ÑжноÑÑÑ Ð¿ÑÑÑм копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¾ÑноÑÐµÐ½Ð¸Ñ Ð² WAL вмеÑÑо Ñого, ÑÑÐ¾Ð±Ñ ÑÐ¸Ð½Ñ ÑонизиÑоваÑÑ ÐµÐ³Ð¾ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ fsync, Ñем ÑамÑм лиÑÐ°Ñ ÑмÑÑла
wal_skip_threshold. (ÐÑо Ð¸Ð¼ÐµÐµÑ Ð·Ð½Ð°Ñение ÑолÑко в ÑлÑÑае, когда длÑwal_levelÑÑÑановлено знаÑениеminimal, в пÑоÑивном ÑлÑÑае вÑÑ Ñавно ÑÑебÑеÑÑÑ ÐºÐ¾Ð¿Ð¸Ñ WAL.)ÐÑклÑÑение небезопаÑного поÑÑдка опеÑаÑий во вÑÐµÐ¼Ñ Ð¿Ð¾Ð¸Ñка в кеÑе (Ðой ÐиÑ) §
ÐдинÑÑвеннÑм извеÑÑнÑм поÑледÑÑвием Ñакого поÑÑдка бÑло обÑÑно безобидное пÑедÑпÑеждение «you don't own a lock of type ExclusiveLock» (Ð½ÐµÑ Ð±Ð»Ð¾ÐºÐ¸Ñовки Ñипа ExclusiveLock) пÑи вÑзове командÑ
GRANT TABLESPACE.УÑÑÑанение возможнÑÑ Ð¾Ñибок вида «failed to resolve name» (не ÑдалоÑÑ ÑазÑеÑиÑÑ Ð¸Ð¼Ñ) пÑи иÑполÑзовании JIT на ÑÑаÑÑÑ Ð¿Ð»Ð°ÑÑоÑÐ¼Ð°Ñ ARM (Ð¢Ð¾Ð¼Ð°Ñ ÐанÑо) §
Ðни могли поÑвлÑÑÑÑÑ Ð¸Ð·-за неÑооÑвеÑÑÑÐ²Ð¸Ñ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð´Ð»Ñ
-moutline-atomicsÐ¼ÐµÐ¶Ð´Ñ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑоÑами gcc и clang. Ð Debian и Ubuntu поÑÑавлÑÑÑÑÑ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑоÑÑ gcc и clang, оÑиенÑиÑованнÑе на armv8-a, но обÑабоÑка аÑомаÑнÑÑ Ð¾Ð¿ÐµÑаÑий по ÑмолÑÐ°Ð½Ð¸Ñ ÑазлиÑаеÑÑÑ.УÑÑÑанение Ñбоев пÑовеÑоÑнÑÑ ÑÑвеÑждений в запÑоÑаÑ
WITH RECURSIVE ... UNION(ÐÑвид РоÑли) §ÐÑедоÑвÑаÑение Ñбоев пÑовеÑоÑнÑÑ ÑÑвеÑждений пÑи ÑазбоÑе пÑавил в ÑлÑÑаÑÑ , когда конеÑнÑй запÑÐ¾Ñ ÑодеÑÐ¶Ð¸Ñ Ð¾Ð¿ÐµÑаÑии Ñ Ð¼Ð½Ð¾Ð¶ÐµÑÑвами (Ðан ЦзÑн, Том Ðейн) §
ÐÑедоÑвÑаÑение Ñбоев пÑовеÑоÑнÑÑ ÑÑвеÑждений в оÑобÑÑ ÑлÑÑаÑÑ Ð¿Ñи запÑÑке паÑаллелÑнÑÑ Ð·Ð°Ð¿ÑоÑов (Том Ðейн)
УÑÑÑанение Ñбоев пÑовеÑоÑнÑÑ ÑÑвеÑждений во вÑÐµÐ¼Ñ Ð·Ð°Ð²ÐµÑÑÐµÐ½Ð¸Ñ ÑабоÑÑ Ð¿Ñи запиÑи Ñайла ÑÑаÑиÑÑики (ÐикаÑÐ»Ñ ÐакÑе) §
ÐÑедоÑвÑаÑение в ÑÑнкÑии
NULLIF()пеÑедаÑи ÑказаÑÐµÐ»Ñ Ð½Ð° ÑазвÑÑнÑÑÑй обÑÐµÐºÑ Ð´Ð»Ñ ÑÑÐµÐ½Ð¸Ñ Ð¸ запиÑи в ÑÑнкÑÐ¸Ñ ÑавенÑÑва Ð´Ð»Ñ Ñипа даннÑÑ (Том Ðейн) §ÐÑли ÑÑнкÑÐ¸Ñ ÑавенÑÑва изменÑла или ÑдалÑла обÑекÑ, Ð´Ð»Ñ ÐºÐ¾ÑоÑого пеÑедан ÑказаÑÐµÐ»Ñ Ð½Ð° ÑÑение-запиÑÑ, могли возникаÑÑ Ð¾Ñибки, еÑли ÑÑнкÑиÑ
NULLIF()возвÑаÑала ÑÑÐ¾Ñ Ð¾Ð±ÑекÑ. ÐÑÑÑоеннÑе ÑÑнкÑии ÑавенÑÑва не вÑзÑвали пÑоблем, но в ÑÑнкÑиÑÑ Ð½Ð° PL/pgSQL пÑоиÑÑ Ð¾Ð´Ð¸Ð» Ñбой.ÐбеÑпеÑение пÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿ÑедваÑиÑелÑной обÑабоÑки вÑÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ðº знаÑÐµÐ½Ð¸Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ null в
INSERT(Том Ðейн) §ÐÑли Ñелевой ÑÑÐ¾Ð»Ð±ÐµÑ Ñипа домен, планиÑовÑик должен добавлÑÑÑ Ñаг пÑÐ¸Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ðº ÑÐ¸Ð¿Ñ Ð´Ð¾Ð¼ÐµÐ½, а не пÑоÑÑо конÑÑанÑÑ null. Ранее Ð´Ð»Ñ ÑÑого вÑÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð¿ÑопÑÑкалиÑÑ Ð½ÐµÐºÐ¾ÑоÑÑе ÑÑебÑемÑе Ñаги обÑабоÑки. ÐÐ»Ñ Ð´Ð¾Ð¼ÐµÐ½Ð¾Ð², оÑнованнÑÑ Ð½Ð° вÑÑÑоеннÑÑ ÑÐ¸Ð¿Ð°Ñ Ð´Ð°Ð½Ð½ÑÑ , о поÑледÑÑвиÑÑ Ð½Ðµ ÑообÑалоÑÑ, но ÑеоÑеÑиÑеÑки могла возникнÑÑÑ Ð¾Ñибка Ñ Ð´Ð¾Ð¼ÐµÐ½Ð°Ð¼Ð¸, оÑнованнÑми на ÑÐ¸Ð¿Ð°Ñ Ð¸Ð· ÑаÑÑиÑений.
УÑÑÑанение ÑÑеÑек памÑÑи в PL/Python (ÐÑÑ ÐÑÑе, Том Ðейн) §
ÐногокÑаÑное иÑполÑзование
PLyPlan.executeилиplpy.cursorпÑиводило к ÑÑеÑке памÑÑи во вÑÐµÐ¼Ñ Ð²Ñзова ÑÑнкÑии PL/Python.ÐÑпÑавление PL/Tcl Ð´Ð»Ñ ÐºÐ¾ÑÑекÑной компилÑÑии Ñ Tcl 9 (ÐиÑÐµÑ ÐйзенÑÑаÑÑ) §
ÐÑклÑÑение в пÑепÑоÑеÑÑоÑе ecpg возможной некоÑÑекÑной обÑабоÑки кÑÑÑоÑов, ÑÑÑлаÑÑÐ¸Ñ ÑÑ Ð½Ð° пеÑеменнÑе вне ÑекÑÑей облаÑÑи (Том Ðейн)
ÐоÑÑекÑÐ½Ð°Ñ Ð²ÑдаÑа пÑедÑпÑеждений в ecpg об оÑÑÑÑÑÑвии поддеÑжки
COPY ... FROM STDIN(Ð Ñ ÐанбаÑÑи)Ранее пÑедÑпÑеждение не вÑдавалоÑÑ Ð¸Ð·-за опеÑаÑки.
ÐбеÑпеÑение коÑÑекÑной обÑабоÑки имÑн пÑÑей к Ñайлам, закодиÑованнÑÑ Ð² SJIS, в psql (Том Ðейн) §
У некоÑоÑÑÑ Ð´Ð²ÑÑ Ð±Ð°Ð¹ÑовÑÑ Ñимволов в SJIS вÑоÑой Ð±Ð°Ð¹Ñ ÑавнознаÑен обÑаÑÐ½Ð¾Ð¼Ñ ÑлеÑÑ Ð² ASCII (
\). ÐÑи ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð¿Ð¾Ð²ÑеждалиÑÑ Ð¿Ñи ноÑмализаÑии имени пÑÑи, из-за Ñего ÑÐ°Ð¹Ð»Ñ Ñ Ñакими Ñимволами в Ð¸Ð¼ÐµÐ½Ð°Ñ ÑÑановилиÑÑ Ð½ÐµÐ´Ð¾ÑÑÑпнÑ.ÐÑклÑÑение иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½ÐµÐ¿ÑавилÑной веÑÑии
pqsignal()в pgbench и psql (ФÑдзии ÐаÑао, Том Ðейн) §ÐÑа оÑибка могла пÑиводиÑÑ Ðº непÑавилÑÐ½Ð¾Ð¼Ñ Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¿Ñи иÑполÑзовании паÑамеÑÑа
-Tв pgbench или командÑ\watchв psql из-за Ñого, ÑÑо пÑеÑваннÑе ÑиÑÑемнÑе вÑÐ·Ð¾Ð²Ñ Ð½Ðµ возобновлÑлиÑÑ Ð´Ð¾Ð»Ð¶Ð½Ñм обÑазом.ÐÑпÑавление некоÑÑекÑного вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð½ÐµÐºÐ¾ÑоÑÑÑ Ð²Ð»Ð¾Ð¶ÐµÐ½Ð½ÑÑ ÐºÐ¾Ð½ÑÑÑÑкÑий
\ifв pgbench (ÐÐ¸Ñ Ð°Ð¸Ð» Ðиколаев) §Ðоманда
\ifв не Ñой (не вÑполнÑвÑейÑÑ) веÑви\ifоÑибоÑно обÑабаÑÑвалаÑÑ Ñак же, как\elif.ÐÑпÑавление возможного некоÑÑекÑного оÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ ÑообÑений о пÑогÑеÑÑе вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð²Ð¾ вÑÐµÐ¼Ñ Ð¸Ð½Ð¸ÑиализаÑии ÑаблиÑÑ Ð² pgbench (ЮÑи ÐгиваÑа, ТаÑÑо ÐÑии, ФÑдзии ÐаÑао) § §
ÐовÑÑение ÑÑÑойÑивоÑÑи pg_controldata к повÑеждÑннÑм Ñайлам
pg_control(Ян ÐлÑÑÑов, ÐнÑон ÐолоÑин) §ÐоÑколÑÐºÑ pg_controldata пÑÑаеÑÑÑ Ð²ÑводиÑÑ ÑодеÑжимое
pg_control, даже еÑли не пÑойдена пÑовеÑка CRC, должно бÑÑÑ Ð¿ÑедÑÑмоÑÑено коÑÑекÑное поведение пÑи недопÑÑÑимÑÑ Ð·Ð½Ð°ÑениÑÑ Ð¿Ð¾Ð»ÐµÐ¹. ÐÑо иÑпÑавление иÑклÑÑÐ°ÐµÑ Ð½ÐµÐºÐ¾ÑоÑÑе пÑоблемÑ, вÑзÑваемÑе недопÑÑÑимÑми меÑками вÑемени и оÑÑиÑаÑелÑнÑми ÑазмеÑами ÑегменÑов WAL.УÑÑÑанение возможного ÑÐ±Ð¾Ñ Ð² pg_dump из-за поÑледоваÑелÑноÑÑей иденÑиÑикаÑоÑов, коÑоÑÑе ÑвÑÐ·Ð°Ð½Ñ Ñ ÑаблиÑами, пÑинадлежаÑими ÑаÑÑиÑениÑм (Том Ðейн) §
УÑÑÑанение ÑÑеÑки памÑÑи в pg_restore пÑи ÑабоÑе Ñ Ð´Ð°Ð½Ð½Ñми, ÑжаÑÑми Ñ Ð¸ÑполÑзованием zstd (Том Ðейн) §
УÑеÑка пÑоиÑÑ Ð¾Ð´Ð¸Ð»Ð° во вÑÐµÐ¼Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ опеÑаÑии ÑаÑпаковки, поÑÑÐ¾Ð¼Ñ Ð¾Ð½Ð° бÑла наиболее замеÑна в вÑгÑÑÐ·ÐºÐ°Ñ , ÑодеÑжаÑÐ¸Ñ Ð¼Ð½Ð¾Ð³Ð¾ ÑÐ°Ð±Ð»Ð¸Ñ Ð¸Ð»Ð¸ болÑÑÐ¸Ñ Ð¾Ð±ÑекÑов.
ÐÑпÑавление pg_basebackup Ð´Ð»Ñ ÐºÐ¾ÑÑекÑной обÑабоÑки Ñайлов
pg_wal.tar, ÑÐ°Ð·Ð¼ÐµÑ ÐºÐ¾ÑоÑÑÑ Ð¿ÑевÑÑÐ°ÐµÑ 2 ÐРв Windows (ÐÐ°Ð²Ð¸Ð½Ð´ÐµÑ Ð¡Ð¸Ð½Ð³Ñ , Ð¢Ð¾Ð¼Ð°Ñ ÐанÑо) § §ÐÑполÑзование ÑооÑвеÑÑÑвÑÑÑÐ¸Ñ SQL-ÑÑандаÑÑÑ Ñел ÑÑнкÑий в обÑÑвлениÑÑ SQL-ÑÑнкÑий ÑаÑÑиÑениÑ
contrib/earthdistance(Том Ðейн, Ронан ÐанклаÑ) §ÐÑо изменение позволÑÐµÑ ÑазÑеÑаÑÑ ÑÑÑлки на
contrib/cubeво вÑÐµÐ¼Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑаÑÑиÑениÑ, ÑÑо ÑÐ½Ð¸Ð¶Ð°ÐµÑ ÑиÑк ÑвÑзаннÑÑ Ñ Ð¿ÑÑÑми поиÑка Ñбоев и возможнÑÑ Ð°Ñак.Ð ÑаÑÑноÑÑи, ÑÑо воÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ ÑдобÑÑво иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑÑÐ¸Ñ ÑÑнкÑий в конÑекÑÑÐ°Ñ ÑгенеÑиÑованнÑÑ ÑÑолбÑов, Ð´Ð»Ñ ÐºÐ¾ÑоÑÑÑ PostgreSQL веÑÑии 17 огÑаниÑÐ¸Ð²Ð°ÐµÑ Ð¿ÑÑÑ Ð¿Ð¾Ð¸Ñка по ÑообÑажениÑм безопаÑноÑÑи. ÐÑли полÑÑÐµÐ½Ñ ÑообÑÐµÐ½Ð¸Ñ Ð¾ неÑдаÑнÑÑ Ð¿Ð¾Ð¿ÑÑÐºÐ°Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð±Ð°Ð· даннÑÑ Ð´Ð¾ веÑÑии 17 из-за ÑÑой пÑоблемÑ. ÐÑо иÑпÑавление бÑло вклÑÑено в веÑÑÐ¸Ñ 16 Ð´Ð»Ñ Ð¿ÑедоÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾Ð±Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ ÑеÑениÑ: пÑедваÑиÑелÑное обновление ÑаÑÑиÑениÑ
earthdistanceдо ÑÑой веÑÑии должно позволиÑÑ ÑÑпеÑно вÑполниÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ðµ.Ðзменение пÑовеÑок конÑигÑÑаÑии, опÑеделÑÑÑÐ¸Ñ Ð¿ÐµÑеклÑÑаÑели компилÑÑоÑа, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñе Ð´Ð»Ñ Ð´Ð¾ÑÑÑпа к инÑÑÑÑкÑиÑм ARM CRC (Том Ðейн) §
Ðа плаÑÑоÑÐ¼Ð°Ñ ARM, где базовÑй пÑоÑеÑÑÐ¾Ñ Ð½Ðµ поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð¸Ð½ÑÑÑÑкÑии CRC, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ иÑполÑзоваÑÑ Ð¿ÐµÑеклÑÑаÑелÑ
-march, ÑÑÐ¾Ð±Ñ Ð·Ð°ÑÑавиÑÑ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑÐ¾Ñ ÑкомпилиÑоваÑÑ Ñакие инÑÑÑÑкÑии. РпоÑÐ»ÐµÐ´Ð½Ð¸Ñ Ð²ÐµÑÑиÑÑ gcc оÑклонÑÐµÑ Ñанее иÑполÑзÑемое знаÑение, ÑÑо пÑиводило к возвÑаÑÑ Ðº пÑогÑÐ°Ð¼Ð¼Ð½Ð¾Ð¼Ñ CRC без ÑÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¾Ð± ÑÑом.ÐÑпÑавление ÑиÑÑÐµÐ¼Ñ ÑбоÑки meson Ð´Ð»Ñ Ð¿Ð¾Ð´Ð´ÐµÑжки ÑÑаÑÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñек OpenSSL в Windows (ÐаÑек СлÑÑаÑÑик) §
Ðобавление поддеÑжки имÑн ÑÑÑаÑевÑÐ¸Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñек
ssleay32иlibeay32.ÐбеÑпеÑение ÑкÑпоÑÑа вÑÐµÑ ÑÑнкÑий libcommon и libpgport в ÑбоÑÐºÐ°Ñ Windows Ñ Ð¸ÑполÑзованием meson (Ðладлен ÐополиÑов, Хейкки ÐиннакангаÑ) § §
ÐÑо иÑпÑавлÑÐµÑ Ð¾Ñибки ÑбоÑки вида «unresolved external symbol» (неÑазÑеÑÑннÑй внеÑний Ñимвол) Ð´Ð»Ñ ÑаÑÑиÑений.
ÐÑпÑавление пÑоÑеÑÑа конÑигÑÑаÑии meson Ð´Ð»Ñ ÐºÐ¾ÑÑекÑного опÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ñного Ñайла OSSP
uuid.hв MSVC (ÐндÑÑ ÐÑнÑÑан) §УÑÑановка
pgeventвpkglibdir, а не вbindirпÑи ÑбоÑке Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ meson (ÐиÑÐµÑ ÐйзенÑÑаÑÑ) §ÐÑо ÑооÑвеÑÑÑвÑÐµÑ Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ ÑиÑÑÐµÐ¼Ñ ÑбоÑки на оÑнове make и ÑÑаÑой ÑиÑÑÐµÐ¼Ñ ÑбоÑки MSVC.
УÑÑановка
sepgsql.sqlвshare/contrib/, а не вshare/extension/пÑи ÑбоÑке Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ meson (ÐиÑÐµÑ ÐйзенÑÑаÑÑ) §ÐÑо ÑооÑвеÑÑÑвÑÐµÑ Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ ÑиÑÑÐµÐ¼Ñ ÑбоÑки на оÑнове make.
Ðбновление даннÑÑ ÑаÑовÑÑ Ð¿Ð¾ÑÑов до веÑÑии tzdata 2025a, вклÑÑаÑÑее изменение пÑавил пеÑÐµÑ Ð¾Ð´Ð° на леÑнее вÑÐµÐ¼Ñ Ð² ÐаÑагвае, а Ñакже коÑÑекÑиÑÐ¾Ð²ÐºÑ Ð¸ÑÑоÑиÑеÑÐºÐ¸Ñ Ð´Ð°Ð½Ð½ÑÑ Ð´Ð»Ñ Ð¤Ð¸Ð»Ð¸Ð¿Ð¿Ð¸Ð½ (Том Ðейн) §