E.51. ÐÑпÑÑк 13.1
ÐаÑа вÑпÑÑка: 2020-11-12
Ð ÑÑÐ¾Ñ Ð²ÑпÑÑк воÑли ÑазлиÑнÑе иÑпÑавлениÑ, внеÑÑннÑе поÑле веÑÑии 13.0. Ðа инÑоÑмаÑией о нововведениÑÑ Ð²ÐµÑÑии 13 обÑаÑиÑеÑÑ Ðº РазделÑ E.52.
E.51.1. ÐигÑаÑÐ¸Ñ Ð½Ð° веÑÑÐ¸Ñ 13.1
ÐÑли иÑполÑзÑеÑÑÑ Ð²ÐµÑÑÐ¸Ñ 13.X, вÑгÑÑзка/воÑÑÑановление Ð±Ð°Ð·Ñ Ð½Ðµ ÑÑебÑеÑÑÑ.
E.51.2. ÐзменениÑ
ÐапÑеÑение конÑÑÑÑкÑии
DECLARE CURSOR ... WITH HOLDи вÑзова оÑложеннÑÑ ÑÑиггеÑов в вÑÑажениÑÑ Ð¸Ð½Ð´ÐµÐºÑов и запÑоÑов маÑпÑедÑÑавлений (Ðой ÐиÑ) §УÑÑÑанÑÐ½Ð½Ð°Ñ ÑÑзвимоÑÑÑ Ð¿Ð¾ ÑÑÑи позволÑла вÑйÑи из заÑиÑÑнной ÑÑедÑ, в коÑоÑой вÑполнÑÑÑÑÑ Â«Ð¾Ð¿ÐµÑаÑии Ñ Ð¾Ð³ÑаниÑениÑми безопаÑноÑÑи». ÐлоÑмÑÑленник, имеÑÑий пÑаво ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð½Ðµ вÑеменнÑÑ SQL-обÑекÑов, мог воÑполÑзоваÑÑÑÑ ÑÑой ÑÑзвимоÑÑÑÑ Ð´Ð»Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿ÑоизволÑного SQL-кода Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ ÑÑпеÑполÑзоваÑелÑ.
ÐÑÐ¾ÐµÐºÑ PostgreSQL благодаÑÐ¸Ñ ÐÑÑена СÑалманÑа за ÑообÑение об ÑÑой пÑоблеме. (CVE-2020-25695)
ÐÑпÑавление обÑабоÑки ÑложнÑÑ Ð¿Ð°ÑамеÑÑов в ÑÑÑÐ¾ÐºÐ°Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑений в пÑогÑÐ°Ð¼Ð¼Ð°Ñ pg_dump, pg_restore, clusterdb, reindexdb и vacuumdb (Том Ðейн) § §
РаÑгÑменÑе
-dпÑогÑамм pg_dump и pg_restore, а Ñакже в аÑгÑменÑе--maintenance-dbдÑÑÐ³Ð¸Ñ Ð¿ÐµÑеÑиÑленнÑÑ Ð¿ÑогÑамм Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ð´Ð°Ð²Ð°ÑÑÑÑ Â«ÑÑÑока подклÑÑениÑ», ÑодеÑжаÑÐ°Ñ Ð½Ðµ пÑоÑÑо Ð¸Ð¼Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , но и дÑÑгие паÑамеÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑений. Ð ÑлÑÑаÑÑ , когда ÑÑи пÑогÑÐ°Ð¼Ð¼Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±Ñли ÑÑÑанавливаÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑе ÑоединениÑ, напÑимеÑ, Ð´Ð»Ñ Ð¿Ð°ÑаллелÑной обÑабоÑки или ÑабоÑÑ Ñ Ð½ÐµÑколÑкими базами, ÑÑÑока ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÑеÑÑлаÑÑ, и Ð´Ð»Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑений иÑполÑзовалиÑÑ ÑолÑко оÑновнÑе паÑамеÑÑÑ (адÑÐµÑ Ð¸ поÑÑ ÑеÑвеÑа, Ð¸Ð¼Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¸ Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ). ÐÑо могло пÑиводиÑÑ Ðº ÑбоÑм подклÑÑений, еÑли ÑÑÑока подклÑÑÐµÐ½Ð¸Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑно ÑодеÑжала ÑÑÑеÑÑвеннÑÑ Ð¸Ð½ÑоÑмаÑиÑ, напÑимеÑ, изменÑннÑе паÑамеÑÑÑ SSL или GSS. Ð¥Ñже Ñого, ÑÑпеÑно ÑÑÑановленное Ñоединение могло оказаÑÑÑÑ Ð½ÐµÐ·Ð°ÑиÑÑованнÑм (Ñогда как должно бÑло ÑиÑÑоваÑÑÑÑ) или подвеÑженнÑм аÑакам Ñ Ð¿Ð¾ÑÑедником (коÑоÑÑе пÑедоÑвÑаÑалиÑÑ Ð±Ñ Ð¿Ñи иÑполÑзовании заданнÑÑ Ð¿Ð°ÑамеÑÑов). (CVE-2020-25694)ÐбеÑпеÑение иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²ÑÐµÑ Ð½Ðµ пеÑеопÑеделÑннÑÑ Ð¿Ð°ÑамеÑÑов из пÑедÑдÑÑей ÑÑÑоки ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¿Ñи вÑполнении ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ psql
\connect(Том Ðейн) §ÐÑо иÑпÑавление пÑедоÑвÑаÑÐ°ÐµÑ Ð¾Ñибки пеÑеподклÑÑениÑ, коÑоÑÑе могли ÑанÑÑе возникаÑÑ Ð¸Ð·-за ÑпÑÑÐµÐ½Ð¸Ñ Ð·Ð½Ð°ÑимÑÑ Ð¿Ð°ÑамеÑÑов, напÑимеÑ, паÑамеÑÑов SSL или GSS. Ð¥Ñже Ñого, ÑанÑÑе пеÑеподклÑÑение могло пÑоизойÑи ÑÑпеÑно, но пÑи ÑÑом оказаÑÑÑÑ Ð½ÐµÐ·Ð°ÑиÑÑованнÑм (Ñогда как должно бÑло ÑиÑÑоваÑÑÑÑ) или подвеÑженнÑм аÑакам Ñ Ð¿Ð¾ÑÑедником (коÑоÑÑе пÑедоÑвÑаÑалиÑÑ Ð±Ñ Ð¿Ñи иÑполÑзовании заданнÑÑ Ð¿Ð°ÑамеÑÑов). Ðо болÑÑÐ¾Ð¼Ñ ÑÑÑÑÑ ÑÑо Ñа же пÑоблема, ÑÑо и опиÑÐ°Ð½Ð½Ð°Ñ Ð²ÑÑе пÑоблема pg_dump и дÑ., но в ÑлÑÑае psql ÑиÑÑаÑÐ¸Ñ ÑÑложнÑеÑÑÑ Ñем, ÑÑо полÑзоваÑÐµÐ»Ñ Ð¼Ð¾Ð¶ÐµÑ Ð½Ð°Ð¼ÐµÑенно пеÑеопÑеделиÑÑ Ð½ÐµÐºÐ¾ÑоÑÑе паÑамеÑÑÑ Ñоединений. (CVE-2020-25694)
ÐедопÑÑение Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ psql
\gsetÑпеÑиалÑнÑÑ Ð¿ÐµÑеменнÑÑ (Ðой ÐиÑ) §Ðоманда
\gsetбез пÑеÑикÑа Ñанее пеÑеопÑеделÑла лÑбÑе пеÑеменнÑе по ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ ÑеÑвеÑа. Таким обÑазом, ÑкомпÑомеÑиÑованнÑй ÑеÑÐ²ÐµÑ Ð¼Ð¾Ð³ ÑÑÑановиÑÑ Ð¿ÐµÑеменнÑÑ ÑпеÑиалÑного назнаÑениÑ, напÑимеÑPROMPT1, в ÑезÑлÑÑаÑе Ñего бÑло возможно вÑполнение пÑоизволÑного кода оболоÑки в ÑеанÑе полÑзоваÑелÑ.ÐÑÐ¾ÐµÐºÑ PostgreSQL благодаÑÐ¸Ñ Ðика ÐлиÑона за ÑообÑение об ÑÑой пÑоблеме. (CVE-2020-25696)
УÑÑÑанение непÑеднамеÑенного наÑÑÑÐµÐ½Ð¸Ñ Ð¿ÑоÑокола ÑепликаÑии (ÐлÑваÑо ÐÑÑеÑа) § §
ÐÑоÑеÑÑ walsender пеÑедаÑÑ Ð´Ð²Ð° ÑобÑÑÐ¸Ñ Ð¿Ñи завеÑÑении командÑ
START_REPLICATION. ÐÑо не бÑло докÑменÑиÑовано и по-Ð²Ð¸Ð´Ð¸Ð¼Ð¾Ð¼Ñ Ñак вÑÑло непÑеднамеÑенно; а пеÑед вÑпÑÑком 13.0 Ð¼Ñ Ð½Ðµ замеÑили, ÑÑо одно из поÑÐ»ÐµÐ´Ð½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ Ñдалило ÑÑо повÑоÑÑÑÑееÑÑ ÑобÑÑие. Ðднако вÑÑÑнилоÑÑ, ÑÑо оно бÑло нÑжно пÑиÑмникам wal в некоÑоÑÑÑ Ð¼ÐµÑÑÐ°Ñ ÐºÐ¾Ð´Ð°. С ÑÑÑÑом ÑÑого ÑамÑм пÑакÑиÑнÑм ÑеÑением бÑÐ´ÐµÑ ÑÐ¾Ñ ÑаниÑÑ ÑÑо дополниÑелÑное ÑобÑÑие в пÑоÑоколе и Ð²Ð½Ð¾Ð²Ñ Ð¿ÐµÑедаваÑÑ ÐµÐ³Ð¾.ÐбеÑпеÑение должного ÑÐ¾Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ ÐºÐ°Ñалогов SLRU на диÑке во вÑÐµÐ¼Ñ ÐºÐ¾Ð½ÑÑолÑнÑÑ ÑоÑек (Ð¢Ð¾Ð¼Ð°Ñ ÐанÑо) §
Тем ÑамÑм пÑедÑпÑеждаеÑÑÑ ÑиÑк поÑеÑи даннÑÑ Ð² ÑлÑÑае поÑледÑÑÑего ÑÐ±Ð¾Ñ Ð¾Ð¿ÐµÑаÑионной ÑиÑÑемÑ.
ÐÑпÑавление поведениÑ
ALTER ROLEÐ´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑелей, имеÑÑÐ¸Ñ Ð°ÑÑибÑÑBYPASSRLS(Том Ðейн, СÑивен ФÑоÑÑ) §ÐÑÑибÑÑ
BYPASSRLSÑ Ñолей могÑÑ Ð¸Ð·Ð¼ÐµÐ½ÑÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели, но дÑÑгие дейÑÑвиÑALTER ROLE, напÑÐ¸Ð¼ÐµÑ Ñмена паÑолÑ, Ð´Ð¾Ð»Ð¶Ð½Ñ ÑазÑеÑаÑÑÑÑ Ð¸ непÑивилегиÑованнÑм полÑзоваÑелÑм Ñ ÑÑÑÑом обÑÑнÑÑ Ð¾Ð³ÑаниÑений. ÐÑедÑдÑÑÐ°Ñ ÑеализаÑÐ¸Ñ ÑазÑеÑала лÑбÑе опеÑаÑии Ñ ÑолÑÑ, имеÑÑей Ñакой аÑÑибÑÑ, ÑолÑко ÑÑпеÑполÑзоваÑелÑм.ÐапÑеÑение опеÑаÑии
ALTER TABLE ONLY ... DROP EXPRESSIONв ÑлÑÑае налиÑÐ¸Ñ Ð´Ð¾ÑеÑÐ½Ð¸Ñ ÑÐ°Ð±Ð»Ð¸Ñ (ÐиÑÐµÑ ÐйзенÑÑаÑÑ) §Ðа даннÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ ÑÑа опеÑаÑÐ¸Ñ Ð½Ðµ обÑабаÑÑваеÑÑÑ ÐºÐ¾ÑÑекÑно, поÑÑÐ¾Ð¼Ñ Ð¾Ð½Ð° пÑоÑÑо бÑÐ´ÐµÑ Ð·Ð°Ð¿ÑеÑена.
ÐÑедоÑвÑаÑение воздейÑÑвиÑ
ALTER TABLE ONLY ... ENABLE/DISABLE TRIGGERна доÑеÑние ÑаблиÑÑ (ÐлÑваÑо ÐÑÑеÑа) §Ранее Ñлаг
ONLYне ÑÑиÑÑвалÑÑ.УÑÑÑанение оÑибки пÑи вÑполнении
LOCK TABLEÑ Ð¿ÑедÑÑавлением, ÑÑÑлаÑÑимÑÑ Ð½Ð° ÑÐµÐ±Ñ (Том Ðейн) §Ранее Ñакие ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð²Ñдавали оÑÐ¸Ð±ÐºÑ Ñ ÑообÑением о беÑконеÑной ÑекÑÑÑии, однако они вполне могÑÑ Ð²ÑполнÑÑÑÑÑ ÑÑпеÑно.
Ð¡Ð¾Ñ Ñанение ÑÑаÑиÑÑики индекÑа в Ñ Ð¾Ð´Ðµ
REINDEX CONCURRENTLY(ÐикаÑÐ»Ñ ÐакÑе, ФабÑиÑио де Ð Ð¾Ð¹ÐµÑ Ðелло) Â§Ð¢Ð°ÐºÐ°Ñ ÑÑаÑиÑÑика вÑегда ÑÐ¾Ñ ÑанÑлаÑÑ Ð¿Ñи блокиÑÑÑÑем пеÑеÑÑÑоении индекÑов.
ÐÑпÑавление пÑоÑедÑÑÑ Ð¸Ð½ÑоÑмиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¾ пÑогÑеÑÑе опеÑаÑии
REINDEX CONCURRENTLY(ÐаÑÑÐ¸Ð°Ñ Ð²Ð°Ð½ де ÐеенÑ, ÐикаÑÐ»Ñ ÐакÑе) §ÐеÑеÑÑÑÑ Ð³ÐµÐ½ÐµÑиÑÑемÑÑ ÑÑолбÑов (
GENERATED) в ÑлÑÑае Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑÑолбÑов, Ð¾Ñ ÐºÐ¾ÑоÑÑÑ Ð·Ð°Ð²Ð¸ÑÑÑ Ð¿ÐµÑвÑе, поÑÑедÑÑвом пÑавил или в изменÑемом пÑедÑÑавлении (Том Ðейн) §ÐÑо иÑпÑавление Ñакже гаÑанÑиÑÑÐµÑ Ð² подобнÑÑ ÑлÑÑаÑÑ ÐºÐ¾ÑÑекÑное ÑÑабаÑÑвание ÑÑиггеÑа, пÑивÑзанного к ÑÑолбÑÑ.
УÑÑÑанение оÑибок, возникавÑÐ¸Ñ Ñ Ð²ÑÑажениÑми гÑÐ°Ð½Ð¸Ñ ÑекÑий, завиÑÑÑими Ð¾Ñ Ð¿Ñавил ÑоÑÑиÑовки (Том Ðейн) §
ÐоддеÑжка Ñ ÐµÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑекÑÑовÑÑ Ð¼Ð°ÑÑивов (ÐиÑÐµÑ ÐйзенÑÑаÑÑ) §
Ранее Ñ ÐµÑиÑование маÑÑива бÑло невозможно, еÑли Ñип ÑлеменÑа маÑÑива бÑл ÑоÑÑиÑÑемÑм. Рименно, невозможно бÑло иÑполÑзоваÑÑ ÑекÑиониÑование по Ñ ÐµÑÑ, еÑли клÑÑом ÑекÑиониÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð±Ñл ÑÑÐ¾Ð»Ð±ÐµÑ Ñ Ð¼Ð°ÑÑивом ÑекÑÑовÑÑ ÑлеменÑов.
ÐÑедоÑвÑаÑение внÑÑÑеннего пеÑÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ñи межÑиповÑÑ ÑÑавнениÑÑ Ð´Ð°ÑÑ/вÑемени (ÐикиÑа ÐлÑÑ Ð¾Ð², ÐлекÑÐ°Ð½Ð´Ñ ÐоÑоÑков, Том Ðейн) §
Ранее пÑи ÑÑавнении знаÑÐµÐ½Ð¸Ñ Ð´Ð°ÑÑ Ñ Ð´Ð°Ñой/вÑеменем могла пÑоизойÑи оÑибка, еÑли даÑа оказÑвалаÑÑ Ð²Ð½Ðµ диапазона допÑÑÑимÑÑ Ð·Ð½Ð°Ñений даÑÑ/вÑемени. Также в оÑобÑÑ ÑлÑÑаÑÑ Ð±Ñли Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñ Ð¿ÐµÑÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð·Ð½Ð°Ñений даÑÑ/вÑемени, Ð±Ð»Ð¸Ð·ÐºÐ¸Ñ Ðº гÑаниÑнÑм, пÑи пеÑеÑÑÑÑе ÑаÑовÑÑ Ð¿Ð¾ÑÑов.
ÐÑпÑавление оÑибки Ñо Ñдвигом на один оÑÑиÑаÑелÑнÑÑ Ð·Ð½Ð°Ñений, ÑооÑвеÑÑÑвÑÑÑÐ¸Ñ Ð³Ð¾Ð´Ð°Ð¼ до н. Ñ. в ÑÑнкÑиÑÑ
to_date()иto_timestamp()(ÐÐ°Ñ ÐлÑаÑаÑ-Ðемен, Том Ðейн) §ÐÑоме Ñого, оÑÑиÑаÑелÑное знаÑение года Ñ ÑвнÑм Ñказанием «BC» (до н. Ñ.) ÑепеÑÑ ÑÑановиÑÑÑ Ð¿Ð¾Ð»Ð¾Ð¶Ð¸ÑелÑнÑм, оÑноÑÑÑимÑÑ Ðº н. Ñ.
ÐоддеÑжка в меÑоде
jsonpath.datetime()знаÑений даÑÑ/вÑемени, заданнÑÑ Ð² ÑоÑмаÑе ISO 8601 (ÐикиÑа ÐлÑÑ Ð¾Ð²) § §ÐÑого не ÑÑебÑÐµÑ ÑÑандаÑÑ SQL, но ÑÐ°ÐºÐ°Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ ÐºÐ°Ð¶ÐµÑÑÑ ÑмеÑÑной, Ñак как наÑи ÑÑнкÑии
to_json()иÑполÑзÑÑÑ ÑÑÐ¾Ñ ÑоÑÐ¼Ð°Ñ Ð´Ð»Ñ ÑовмеÑÑимоÑÑи Ñ Javascript.ÐбеÑпеÑение аÑÑ Ð¸Ð²Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ñайлов иÑÑоÑии линий вÑемени вмеÑÑе Ñ WAL на ведомÑÑ ÑеÑвеÑÐ°Ñ Ð¿Ñи вÑбÑанном в
archive_modeÑежимеalways(ÐÑигоÑий Смолкин, ФÑдзии ÐаÑао) §ÐÑледÑÑвие ÑÑÑÑанÑнного ÑепеÑÑ ÑпÑÑÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ бÑло лиÑиÑÑÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð° Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð²Ñемени (PITR).
ÐÑпÑавление оÑÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð½ÐµÑÑаÑного оÑклÑÑÐµÐ½Ð¸Ñ Ð¿ÑоÑеÑÑа postmaster на плаÑÑоÑÐ¼Ð°Ñ , где иÑполÑзÑеÑÑÑ
kqueue()(Ð¢Ð¾Ð¼Ð°Ñ ÐанÑо) § §ÐедопÑÑение вÑбоÑа плана инкÑеменÑалÑной ÑоÑÑиÑовки в ÑлÑÑаÑÑ , когда клÑÑом ÑоÑÑиÑовки ÑвлÑеÑÑÑ Ð¸Ð·Ð¼ÐµÐ½Ñивое вÑÑажение (ÐÐ¶ÐµÐ¹Ð¼Ñ ÐоÑлман) §
УÑÑÑанение возможноÑÑи ÑÐ±Ð¾Ñ Ð¿Ñи ÑаÑÑмоÑÑении GEQO-опÑимизаÑоÑом Ñоединений Ñ ÑÑÑÑом ÑекÑиониÑÐ¾Ð²Ð°Ð½Ð¸Ñ (Том Ðейн) §
ÐÑедоÑвÑаÑение беÑконеÑного Ñикла или полÑÑÐµÐ½Ð¸Ñ Ð¸ÑпоÑÑеннÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð² пÑоÑедÑÑе ÑаÑпаковки TOAST (Том Ðейн) § §
ÐÑпÑавление подÑÑÑÑа колиÑеÑÑва ÑлеменÑов в индекÑÐ°Ñ -B-деÑевÑÑÑ Ð¿Ñи вÑполнении ÑолÑко ÑбоÑки в Ñ Ð¾Ð´Ðµ
VACUUM(ÐиÑÐµÑ Ðейган) §ÐбеÑпеÑение ÑаÑпаковки даннÑÑ Ð¿ÐµÑед добавлением Ð¸Ñ Ð² Ð¸Ð½Ð´ÐµÐºÑ BRIN (Ð¢Ð¾Ð¼Ð°Ñ ÐондÑа) §
Ð ÑлеменÑÐ°Ñ Ð¸Ð½Ð´ÐµÐºÑов не Ð´Ð¾Ð»Ð¶Ð½Ñ ÑодеÑжаÑÑÑÑ ÑказаÑели на внеÑние даннÑе TOAST, однако в ÑеализаÑии BRIN ÑÑо не ÑÑли. ÐÑледÑÑвие ÑÑого могли возникаÑÑ Ð¾Ñибки «missing chunk number 0 for toast value NNN» (оÑÑÑÑÑÑвÑÐµÑ Ð¿Ð¾ÑÑÐ¸Ñ Ð½Ð¾Ð¼ÐµÑ 0 Ð´Ð»Ñ TOAST-знаÑÐµÐ½Ð¸Ñ NNN). (ÐÑли Ð²Ñ ÑÑолкнÑлиÑÑ Ñ Ñакой оÑибкой в ÑÑÑеÑÑвÑÑÑем индекÑе, Ð´Ð»Ñ ÑÑÑÑÐ°Ð½ÐµÐ½Ð¸Ñ ÐµÑ Ð´Ð¾Ð»Ð¶Ð½Ð¾ бÑÑÑ Ð´Ð¾ÑÑаÑоÑно вÑполниÑÑ
REINDEX.)ÐÑпÑавление бÑÑеÑизованного поÑÑÑÐ¾ÐµÐ½Ð¸Ñ Ð¸Ð½Ð´ÐµÐºÑов GiST, ÑодеÑжаÑÐ¸Ñ Ð½ÐµÐºÐ»ÑÑевÑе ÑÑолбÑÑ (Ðавел ÐоÑиÑов) §
ÐÑпÑавление непеÑеноÑимого иÑполÑзованиÑ
getnameinfo()в ÑеализаÑии пÑедÑÑавлениÑpg_hba_file_rules(Том Ðейн) §Ðз-за ликвидиÑованной ÑепеÑÑ Ð¾Ñибки на FreeBSD 11 и возможно дÑÑÐ³Ð¸Ñ Ð¿Ð»Ð°ÑÑоÑÐ¼Ð°Ñ ÑÑолбÑÑ
addressиnetmaskв ÑÑом пÑедÑÑавлении вÑегда ÑодеÑжали null.ÐÑедоÑвÑаÑение ÑÐ±Ð¾Ñ Ð¿Ñи запÑÑке паÑаллелÑнÑÑ Ð¸ÑполниÑелей, пÑоиÑÑ Ð¾Ð´Ð¸Ð²Ñего, когда пеÑеменнаÑ
debug_query_stringÑавна NULL (Ðой ÐиÑ) §ÐÑедÑпÑеждение Ñбоев в ÑиÑÑаÑиÑÑ , когда ÑÑиггеÑ
BEFORE ROW UPDATEпÑоÑÑо возвÑаÑÐ°ÐµÑ Â«ÑÑаÑÑÑ» ÑÑÑÐ¾ÐºÑ ÑаблиÑÑ Ñ ÑдалÑннÑми или «оÑÑÑÑÑÑвÑÑÑими» ÑÑолбÑами (ÐÐ¼Ð¸Ñ ÐангоÑе, Том Ðейн) § §ÐÑи Ñаком ÑпоÑобе Ð¿Ð¾Ð´Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ даннÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ бÑло полÑÑиÑÑ Ñбои, неожиданнÑе оÑибки огÑаниÑений
CHECKили невеÑнÑе ÑезÑлÑÑаÑÑ ÑRETURNING, Ñак как Ð´Ð»Ñ ÑÑÐ¸Ñ Ñелей «оÑÑÑÑÑÑвÑÑÑие» ÑÑолбÑÑ Ð²Ð¾ÑпÑинимаÑÑÑÑ ÐºÐ°Ðº ÑодеÑжаÑие NULL. (Рданном ÑлÑÑае ÑÑÐ¾Ð»Ð±ÐµÑ ÑÑиÑаеÑÑÑ Â«Ð¾ÑÑÑÑÑÑвÑÑÑим», еÑли он бÑл добавлен командойALTER TABLE ADD COLUMNÑо знаÑением по ÑмолÑаниÑ, поÑÑоÑннÑм и оÑлиÑнÑм Ð¾Ñ NULL.) Также пÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð¼Ð¾Ð³Ð»Ð¸ возникаÑÑ Ñ ÑдалÑннÑми ÑÑолбÑами.ÐÑпÑавление в XML-вÑводе
EXPLAINÐ²Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ñегов Ð´Ð»Ñ Ð¿Ð»Ð°Ð½Ð¾Ð² инкÑеменÑалÑной ÑоÑÑиÑовки (ÐаниÑÐ»Ñ ÐÑÑÑаÑÑÑон) §Ðзбавление Ð¾Ñ Ð½ÐµÐ¾Ð¿Ñавданной оÑибки пÑи пеÑедаÑе оÑÐµÐ½Ñ Ð±Ð¾Ð»ÑÑого обÑÑма даннÑÑ ÑеÑез оÑеÑеди в ÑазделÑемой памÑÑи (ÐаÑкÑÑ ÐаннеÑ) §
УÑÑÑанение ÑпÑÑÐµÐ½Ð¸Ñ Ñ Ð¿Ñиведением Ñипа ÑезÑлÑÑаÑа в ÑÑнкÑиÑÑ Ð½Ð° ÑзÑке SQL в некоÑоÑÑÑ ÑлÑÑаÑÑ (Том Ðейн) §
Ð ÑезÑлÑÑаÑе ÑÑого ÑпÑÑÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³Ð»Ð¸ вÑдаваÑÑÑÑ Ð½ÐµÐ²ÐµÑнÑе ÑезÑлÑÑаÑÑ Ð¸Ð»Ð¸ пÑоиÑÑ Ð¾Ð´Ð¸ÑÑ Ñбои, в завиÑимоÑÑи Ð¾Ñ Ð·Ð°Ð´ÐµÐ¹ÑÑвованнÑÑ Ñипов даннÑÑ .
ÐÑпÑавление некоÑÑекÑной обÑабоÑки аÑÑибÑÑов ÑаблоннÑÑ ÑÑнкÑий пÑи генеÑиÑовании JIT-кода (ÐндÑÐµÑ Ð¤Ñойнд) § §
Сбои вÑледÑÑвие некоÑÑекÑной обÑабоÑки наблÑдалиÑÑ Ð½Ð° плаÑÑоÑме
s390x, но вполне веÑоÑÑно, ÑÑо подобное могло имеÑÑ Ð¼ÐµÑÑо и на дÑÑÐ³Ð¸Ñ Ð¿Ð»Ð°ÑÑоÑÐ¼Ð°Ñ .УлÑÑÑение кода, генеÑиÑÑемого Ð´Ð»Ñ Ð¾Ð¿ÐµÑаÑий compare_exchange и fetch_add на PPC (Ðой ÐиÑ) § §
УÑÑÑанение ÑÑеÑек памÑÑи в кеÑе оÑноÑений пÑи иÑполÑзовании полиÑик RLS (Том Ðейн) §
ÐиквидаÑÐ¸Ñ ÑÑеÑки памÑÑи в оÑобÑÑ ÑлÑÑаÑÑ Ð² ÑÑнкÑии
index_get_partition()(ÐжаÑÑин ÐÑизби) §УÑÑÑанение неболÑÑой ÑÑеÑки памÑÑи пÑи обÑабоÑке Ñигнала SIGHUP, возникавÑей Ñ Ð½Ð¾Ð²Ñми знаÑениÑми GUC-пеÑеменнÑÑ , коÑоÑÑе нелÑÐ·Ñ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ Ð±ÐµÐ· пеÑезагÑÑзки (Том Ðейн) §
ÐиквидаÑÐ¸Ñ ÑÑеÑек памÑÑи пÑи обÑабоÑки командÑ
CALLв PL/pgsql (Ðавел СÑÐµÑ Ñле, Том Ðейн) §ÐÑказ в libpq Ð´Ð»Ñ Windows Ð¾Ñ Ð²Ñзовов
WSACleanup()и Ñведение вÑзововWSAStartup()к Ð¾Ð´Ð½Ð¾Ð¼Ñ ÐµÐ´Ð¸Ð½ÑÑÐ²ÐµÐ½Ð½Ð¾Ð¼Ñ Ð´Ð»Ñ Ð¿ÑоÑеÑÑа (Том Ðейн, ÐлекÑÐ°Ð½Ð´Ñ ÐÐ°Ñ Ð¸Ð½)Ранее libpq вÑзÑвала
WSAStartup()пÑи ÑÑÑановлении каждого ÑоединениÑ, аWSACleanup()â пÑи закÑÑÑии ÑоединениÑ. Ðднако как оказалоÑÑ, вÑзовWSACleanup()Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾Ð²Ð»Ð¸ÑÑÑ Ð½Ð° дÑÑгие опеÑаÑии пÑогÑаммÑ, а именно, Ð¼Ñ Ð¸Ð½Ð¾Ð³Ð´Ð° наблÑдали иÑÑезновение ожидаемого вÑвода пÑогÑаммÑ. Ðо вÑей видимоÑÑи, ликвидаÑÐ¸Ñ ÑÑого вÑзова не должна имеÑÑ Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ Ð¿Ð¾Ð±Ð¾ÑнÑÑ ÑÑÑекÑов, поÑÑÐ¾Ð¼Ñ Ð¾Ð½ бÑл ÑдалÑн. (ÐÑо Ñакже ÑпоÑобÑÑвÑÐµÑ Ð¿Ð¾Ð²ÑÑÐµÐ½Ð¸Ñ Ð¿ÑоизводиÑелÑноÑÑи, еÑли пÑогÑамма ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð¼Ð½Ð¾Ð¶ÐµÑÑво подклÑÑений к ÑеÑвеÑÑ, Ñак как она не бÑÐ´ÐµÑ Ð¿Ð¾ÑÑоÑнно загÑÑжаÑÑ Ð¸ вÑгÑÑжаÑÑ DLL.)ÐÑпÑавление логики иниÑиализаÑии поÑоков в библиоÑеке ecpg Ð´Ð»Ñ Windows (Том Ðейн, ÐлекÑÐ°Ð½Ð´Ñ ÐÐ°Ñ Ð¸Ð½) §
Ðз-за некоÑÑекÑной ÑÑÑановки блокиÑовок многопоÑоÑнÑе пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ecpg пÑи Ñедком ÑÑеÑении обÑÑоÑÑелÑÑÑв могли ÑабоÑаÑÑ Ð½ÐµÐºÐ¾ÑÑекÑно.
ÐÑпÑавление некоÑÑекÑной обÑабоÑки в ecpg ÑÑÑок
B'...'иX'...'(ШенÑÑ Ð°Ð¾ Ðан) § §Смена в Windows Ñежима ÑÑÐµÐ½Ð¸Ñ Ð²Ñвода ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Â«Ð¾Ð±ÑаÑнÑй апоÑÑÑоÑ» в psql Ñ Ð´Ð²Ð¾Ð¸Ñного на ÑекÑÑовÑй (Том Ðейн) §
ÐлагодаÑÑ ÑÑÐ¾Ð¼Ñ Ð±ÑдÑÑ ÐºÐ¾ÑÑекÑно обÑабаÑÑваÑÑÑÑ ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð½Ð¾Ð²Ð¾Ð¹ ÑÑÑоки.
ÐклÑÑение в pg_dump ÑбоÑа инÑоÑмаÑии о ÑÑолбÑÐ°Ñ Ð² ÑаблиÑÐ°Ñ ÐºÐ¾Ð½ÑигÑÑаÑии ÑаÑÑиÑений (ФабÑиÑио де Ð Ð¾Ð¹ÐµÑ Ðелло, Том Ðейн) § §
Ðз-за оÑÑÑÑÑÑÐ²Ð¸Ñ ÑÑой инÑоÑмаÑии пÑоиÑÑ Ð¾Ð´Ð¸Ð»Ð¸ Ñбои пÑи загÑÑзке даннÑÑ ÑаблиÑÑ, вÑгÑÑженнÑÑ Ñ Ñказанием
--insertsили Ñ Ð½ÐµÐ¿Ð¾Ð»Ð½Ñми (Ñ Ð¾ÑÑ Ð¾Ð±ÑÑно коÑÑекÑнÑми) командамиCOPY.Ðобавление в pg_upgrade пÑовеÑки ÑÑÑеÑÑÐ²Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ°Ñалогов ÑаблиÑнÑÑ Ð¿ÑоÑÑÑанÑÑв в Ñелевом клаÑÑеÑе (ÐÑÑÑ ÐомджÑн) § §
УÑÑÑанение возможноÑÑи ÑÑеÑки памÑÑи в
contrib/pgcrypto(ÐикаÑÐ»Ñ ÐакÑе) §Ðобавление пÑовеÑки на ÑлÑÑай маловеÑоÑÑной оÑибки во вÑÐµÐ¼Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð²
contrib/pgcrypto(ÐаниÑÐ»Ñ ÐÑÑÑаÑÑÑон) §ÐÑпÑавление недавно добавленнÑÑ Ð² ÑеÑÑÑ Ð¿ÑовеÑок
timetz, коÑоÑÑе ÑабоÑали ÑолÑко когда в СШРдейÑÑвовало леÑнее вÑÐµÐ¼Ñ (Том Ðейн) §Ðбновление даннÑÑ ÑаÑовÑÑ Ð¿Ð¾ÑÑов до веÑÑии tzdata 2020d, вклÑÑаÑÑее изменение пÑавил пеÑÐµÑ Ð¾Ð´Ð° на леÑнее вÑÐµÐ¼Ñ Ð½Ð° Фиджи, в ÐаÑокко, ÐалеÑÑине, канадÑком Юконе, на оÑÑÑове ÐаккÑоÑи и на ÑÑанÑии ÐейÑи (ÐнÑаÑкÑика), а Ñакже коÑÑекÑиÑÐ¾Ð²ÐºÑ Ð¸ÑÑоÑиÑеÑÐºÐ¸Ñ Ð´Ð°Ð½Ð½ÑÑ Ð´Ð»Ñ Ð¤ÑанÑии, ÐенгÑии, Ðонако и ÐалеÑÑинÑ. § §
Ð¡Ð¸Ð½Ñ ÑонизаÑÐ¸Ñ Ð½Ð°Ñей копии библиоÑеки timezone Ñ Ð²ÑпÑÑенной IANA веÑÑией tzcode 2020d (Том Ðейн) § §
С ÑÑой веÑÑией к нам попало изменение вÑбиÑаемого по ÑмолÑÐ°Ð½Ð¸Ñ ÑоÑмаÑа вÑвода zic Ñ Â«fat» (ÑаÑÑиÑеннÑй) на «slim» (минималÑнÑй). ÐÐ»Ñ Ð½Ð°ÑÐ¸Ñ Ñелей ÑÑо не Ð¸Ð¼ÐµÐµÑ Ð¿ÑакÑиÑеÑкого знаÑениÑ, Ñак как Ð¼Ñ Ð¿Ñодолжаем иÑполÑзоваÑÑ ÑоÑÐ¼Ð°Ñ Â«fat» в веÑÑиÑÑ Ð½Ð¸Ð¶Ðµ 13. Также ÑепеÑÑ Ð³Ð°ÑанÑиÑÑеÑÑÑ, ÑÑо
strftime()бÑÐ´ÐµÑ Ð¼ÐµÐ½ÑÑÑ Ð·Ð½Ð°Ñениеerrno, ÑолÑко еÑли пÑоизойдÑÑ Ð¾Ñибка.