E.50. ÐÑпÑÑк 12
ÐаÑа вÑпÑÑка: 2019-10-03
E.50.1. ÐбзоÑ
Ð ÑиÑло клÑÑевÑÑ ÑÑовеÑÑенÑÑвований PostgreSQL 12 Ð²Ñ Ð¾Ð´ÑÑ:
ÐбÑÐ°Ñ Ð¾Ð¿ÑимизаÑÐ¸Ñ Ð¿ÑоизводиÑелÑноÑÑи, в ÑаÑÑноÑÑи:
ÐпÑимизаÑÐ¸Ñ ÑазмеÑа на диÑке и пÑоизводиÑелÑноÑÑи запиÑи/ÑÑÐµÐ½Ð¸Ñ Ð¸Ð½Ð´ÐµÐºÑов-B-деÑевÑев
ÐпÑимизаÑÐ¸Ñ Ð¿ÑоизводиÑелÑноÑÑи ÑекÑиониÑованиÑ, в Ñом ÑиÑле ÑÑкоÑение запÑоÑов Ñ ÑаблиÑами, ÑазбиÑÑми на ÑÑÑÑÑи ÑекÑий, ÑвелиÑение ÑкоÑоÑÑи Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð¼Ð¸ INSERT и COPY, а Ñакже ÑеализаÑÐ¸Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи вÑполнениÑ
ALTER TABLE ATTACH PARTITIONбез блокиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð´ÑÑÐ³Ð¸Ñ Ð·Ð°Ð¿ÑоÑовÐвÑомаÑиÑеÑкое вÑÑÑаивание в запÑÐ¾Ñ Ð¾Ð±ÑÐ¸Ñ ÑаблиÑнÑÑ Ð²ÑÑажений (CTE), Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑÑ Ð¿ÐµÑеопÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÑÑого поведениÑ
УменÑÑение нагÑÑзки на WAL пÑи Ñоздании индекÑов GiST, GIN и SP-GiST
ÐоддеÑжка покÑÑваÑÑÐ¸Ñ Ð¸Ð½Ð´ÐµÐºÑов GiST, ÑеализÑÐµÐ¼Ð°Ñ Ð¿Ñедложением
INCLUDEÐозможноÑÑÑ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ CREATE STATISTICS многоколоноÑной ÑÑаÑиÑÑики ÑамÑÑ ÑаÑÑÑÑ Ð·Ð½Ð°Ñений (MCV), ÑÑо позволÑÐµÑ Ð¿Ð¾Ð»ÑÑаÑÑ Ð»ÑÑÑие Ð¿Ð»Ð°Ð½Ñ Ð´Ð»Ñ Ð·Ð°Ð¿ÑоÑов, пÑовеÑÑÑÑÐ¸Ñ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð½ÐµÑколÑÐºÐ¸Ñ ÑÑолбÑов Ñ Ð½ÐµÑавномеÑнÑм ÑаÑпÑеделением
УлÑÑÑÐµÐ½Ð¸Ñ ÑÑнкÑионалÑноÑÑи админиÑÑÑиÑованиÑ, в Ñом ÑиÑле:
Ðоманда
REINDEX CONCURRENTLYÐ¼Ð¾Ð¶ÐµÑ Ð¿ÐµÑеÑÑÑаиваÑÑ Ð¸Ð½Ð´ÐµÐºÑ, не блокиÑÑÑ Ð·Ð°Ð¿Ð¸ÑÑ Ð² ÑелевÑÑ ÑаблиÑÑУÑилиÑа pg_checksums Ð¼Ð¾Ð¶ÐµÑ Ð²ÐºÐ»ÑÑаÑÑ/оÑклÑÑаÑÑ ÐºÐ¾Ð½ÑÑолÑнÑе ÑÑÐ¼Ð¼Ñ (позволÑÑÑие вÑÑвлÑÑÑ Ð¿Ð¾Ð²ÑÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ ) в оÑÑановленном клаÑÑеÑе
ÐÑвод инÑоÑмаÑии о пÑоÑеÑÑе вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´ CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL и pg_checksums
ÐоддеÑжка ÑзÑка пÑÑей SQL/JSON
Ð¥ÑанимÑе в базе генеÑиÑÑемÑе ÑÑолбÑÑ
ÐедеÑеÑминиÑованнÑе пÑавила ÑоÑÑиÑовки на базе ICU, позволÑÑÑие вÑполнÑÑÑ Ð³ÑÑппиÑÐ¾Ð²ÐºÑ Ð¸ ÑÑавнение ÑÑÑок без ÑÑÑÑа ÑегиÑÑÑа и знаков ÑдаÑениÑ
ÐовÑе возможноÑÑи аÑÑенÑиÑикаÑии, в Ñом ÑиÑле:
ШиÑÑование Ñоединений TCP/IP пÑи аÑÑенÑиÑикаÑии Ñ Ð¸ÑполÑзованием GSSAPI
ÐбнаÑÑжение адÑеÑов ÑеÑвеÑов LDAP в запиÑÑÑ DNS SRV (Ð¢Ð¾Ð¼Ð°Ñ ÐанÑо)
ÐногоÑакÑоÑÐ½Ð°Ñ Ð¿ÑовеÑка подлинноÑÑи пÑи иÑполÑзовании ваÑианÑа
clientcert=verify-fullÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑм меÑодом аÑÑенÑиÑикаÑии вpg_hba.conf
ÐÑедÑдÑÑие пÑнкÑÑ Ð±Ð¾Ð»ÐµÐµ подÑобно опиÑÐ°Ð½Ñ Ð² ÑледÑÑÑÐ¸Ñ ÑÐ°Ð·Ð´ÐµÐ»Ð°Ñ .
E.50.2. ÐигÑаÑÐ¸Ñ Ð½Ð° веÑÑÐ¸Ñ 12
Тем, кÑо Ñ Ð¾ÑÐµÑ Ð¼Ð¸Ð³ÑиÑоваÑÑ Ð´Ð°Ð½Ð½Ñе из лÑбой пÑедÑдÑÑей веÑÑии, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ вÑполниÑÑ Ð²ÑгÑÑзкÑ/загÑÑÐ·ÐºÑ Ð´Ð°Ð½Ð½ÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ pg_dumpall либо иÑполÑзоваÑÑ pg_upgrade или логиÑеÑкÑÑ ÑепликаÑиÑ. ÐбÑÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ пеÑÐµÑ Ð¾Ð´Ðµ на более новÑÑ Ð¾ÑновнÑÑ Ð²ÐµÑÑÐ¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ найÑи в Разделе 17.6.
РвеÑÑии 12 Ñеализован ÑÑд изменений, коÑоÑÑе могÑÑ Ð¿Ð¾Ð²Ð»Ð¸ÑÑÑ Ð½Ð° ÑовмеÑÑимоÑÑÑ Ñ Ð¿ÑедÑдÑÑими вÑпÑÑками. РаÑÑмоÑÑиÑе ÑледÑÑÑие неÑовмеÑÑимÑе аÑпекÑÑ:
ÐиквидаÑÐ¸Ñ ÑпеÑиалÑнÑÑ ÑÑолбÑов oid (ÐндÑÐµÑ Ð¤Ñойнд, Ðжон ÐейлоÑ) §
Ранее в ÑаблиÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ бÑло добавиÑÑ ÑÑолбеÑ
oid(невидимÑй в обÑÑнÑÑ Ð·Ð°Ð¿ÑоÑÐ°Ñ ), ÑÐ¾Ð·Ð´Ð°Ð²Ð°Ñ ÐµÑ Ñ ÑказаниемWITH OIDS; ÑепеÑÑ Ñакой возможноÑÑи неÑ. ÐÑи ÑÑом по-пÑÐµÐ¶Ð½ÐµÐ¼Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ ÑоздаваÑÑ ÑÑолбÑÑ Ñ Ñипомoid. С ÑÑÑÑом ÑÑого Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ð¾ÑÑдок иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑаблиÑ, ÑозданнÑÑ Ñ ÑказаниемWITH OIDS, поÑÑебÑеÑÑÑ ÑкоÑÑекÑиÑоваÑÑ.СиÑÑемнÑе каÑалоги, в коÑоÑÑÑ Ð±Ñли ÑкÑÑÑÑе ÑÑолбÑÑ
oid, ÑепеÑÑ ÑодеÑÐ¶Ð°Ñ Ð¾Ð±ÑÑнÑе ÑÑолбÑÑoid. Таким обÑазом, ÑÑи ÑÑолбÑÑ Ð±ÑдÑÑ Ð²ÑводиÑÑÑÑ Ð² ÑезÑлÑÑаÑе запÑоÑаSELECT *, Ñогда как Ñанее они вÑводилиÑÑ ÑолÑко в ÑлÑÑае Ñвного ÑказаниÑ.Удаление Ñипов даннÑÑ
abstime,reltimeиtinterval(ÐндÑÐµÑ Ð¤Ñойнд) §ÐÑ Ð·Ð°Ð¼ÐµÐ½ÑÑÑ ÑипÑ, опÑеделÑннÑе в ÑÑандаÑÑе SQL, напÑимеÑ
timestamp.Удаление ÑаÑÑиÑениÑ
timetravel(ÐндÑÐµÑ Ð¤Ñойнд)ÐеÑÐµÐ½Ð¾Ñ Ð¿Ð°ÑамеÑÑов
recovery.confвpostgresql.conf(ÐаÑао ФÑдзии, Саймон РиггÑ, ÐÐ±Ñ Ð¸Ð´Ð¶Ð¸Ñ Ðенон-Сен, СеÑгей ÐоÑнилов) §Файл
recovery.confболее не иÑполÑзÑеÑÑÑ, и ÑеÑÐ²ÐµÑ Ð½Ðµ запÑÑÑиÑÑÑ, еÑли обнаÑÑÐ¶Ð¸Ñ ÐµÐ³Ð¾. ТепеÑÑ Ð´Ð»Ñ Ð¿ÐµÑеклÑÑÐµÐ½Ð¸Ñ ÑеÑвеÑа из Ñежима ведÑÑего иÑполÑзÑÑÑÑÑ ÑÐ°Ð¹Ð»Ñ recovery.signal иstandby.signal. ÐаÑамеÑÑtrigger_fileбÑл пеÑеименован в promote_trigger_file, а паÑамеÑÑstandby_modeÑдалÑн.ÐедопÑÑение конÑликÑа множеÑÑвеннÑÑ Ñказаний
recovery_target* (ÐиÑÐµÑ ÐйзенÑÑаÑÑ) §Рименно, допÑÑкаеÑÑÑ ÑолÑко одно из Ñказаний recovery_target, recovery_target_lsn, recovery_target_name, recovery_target_time или recovery_target_xid. Ранее в конÑигÑÑаÑии могли пÑиÑÑÑÑÑвоваÑÑ Ð½ÐµÑколÑко ÑÑÐ¸Ñ Ð¿Ð°ÑамеÑÑов, а дейÑÑвовало ÑолÑко поÑледнее Ð²Ñ Ð¾Ð¶Ð´ÐµÐ½Ð¸Ðµ. СейÑÐ°Ñ Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ð´Ð°Ð²Ð°ÑÑÑÑ ÑолÑко один, Ñ Ð¾ÑÑ ÐµÑли он задаÑÑÑÑ Ð½ÐµÐ¾Ð´Ð½Ð¾ÐºÑаÑно, дейÑÑвÑÐµÑ Ñак же ÑолÑко поÑледнее Ñказание.
ÐеÑÐµÑ Ð¾Ð´ в пÑоÑеÑÑе воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ðº поÑледней линии вÑемени (ÐиÑÐµÑ ÐйзенÑÑаÑÑ) §
То еÑÑÑ Ð¿Ð°ÑамеÑÑ recovery_target_timeline ÑепеÑÑ Ð¸Ð¼ÐµÐµÑ Ð·Ð½Ð°Ñение по ÑмолÑаниÑ
latest. Ранее подÑазÑмевалоÑÑ Ð·Ð½Ð°Ñениеcurrent.РеоÑганизаÑÐ¸Ñ ÐºÐ¾Ð´Ð° геомеÑÑиÑеÑÐºÐ¸Ñ ÑÑнкÑий и опеÑаÑоÑов (ÐмÑе ХаÑегели) § § §
ÐÑпÑÐ°Ð²Ð»ÐµÐ½Ð½Ð°Ñ ÑеализаÑÐ¸Ñ Ð¼Ð¾Ð¶ÐµÑ Ð²ÑдаваÑÑ Ð±Ð¾Ð»ÐµÐµ ÑоÑнÑе ÑезÑлÑÑаÑÑ, неÑколÑко оÑлиÑаÑÑиеÑÑ Ð¾Ñ Ð¿ÑÐµÐ¶Ð½Ð¸Ñ . Ð ÑаÑÑноÑÑи, опеÑаÑии Ñо знаÑениÑми NaN, а Ñакже пеÑеполнение или анÑипеÑеполнение ÑепеÑÑ Ð¾Ð±ÑабаÑÑваÑÑÑÑ Ð±Ð¾Ð»ÐµÐµ ÑоглаÑованнÑм обÑазом.
УвелиÑение ÑкоÑоÑÑи вÑвода знаÑений
realиdouble precisionблагодаÑÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ алгоÑиÑма (ÐндÑÑ ÐиÑÑ) § §Ранее вÑводимÑе ÑиÑла Ñ Ð¿Ð»Ð°Ð²Ð°ÑÑей ÑоÑкой окÑÑглÑлиÑÑ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð´Ð¾ 6 или до 15 ÑиÑÑ (Ð´Ð»Ñ Ñипов
realиdouble precision, ÑооÑвеÑÑÑвенно); дÑÑÐ³Ð°Ñ ÑоÑноÑÑÑ Ð¼Ð¾Ð³Ð»Ð° задаваÑÑÑÑ Ð·Ð½Ð°Ñением extra_float_digits. ТепеÑÑ Ð¶Ðµ пÑи лÑбом положиÑелÑном знаÑенииextra_float_digits(по ÑмолÑÐ°Ð½Ð¸Ñ ÑейÑÐ°Ñ Ð²ÑбÑано Ñакое знаÑение) вÑводиÑÑÑ ÑолÑко минималÑное колиÑеÑÑво ÑиÑÑ, коÑоÑое ÑÑебÑеÑÑÑ Ð´Ð»Ñ ÑÐ¾Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ ÑоÑного двоиÑного пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑла. ÐÑи нÑлевом или оÑÑиÑаÑелÑном знаÑенииextra_float_digitsповедение оÑÑалоÑÑ Ð¿Ñежним.ÐÑоме Ñого, на вÑÐµÑ Ð¿Ð»Ð°ÑÑоÑÐ¼Ð°Ñ ÑепеÑÑ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ð¾ вÑводиÑÑÑ ÑкÑпоненÑа ÑиÑла Ñ Ð¿Ð»Ð°Ð²Ð°ÑÑей ÑоÑкой: Ð´Ð»Ñ Ð½ÐµÑ Ð²ÑделÑÑÑÑÑ Ð´Ð²Ðµ ÑиÑÑÑ, еÑли ÑÑого доÑÑаÑоÑно, а инаÑе â ÑÑи. РпÑедÑдÑÑÐ¸Ñ Ð²ÐµÑÑиÑÑ Ð½Ð° плаÑÑоÑме Windows вÑегда вÑводилиÑÑ ÑÑи ÑиÑÑÑ.
Ðоведение
random()иsetseed()ÑÑало единообÑазнÑм на вÑÐµÑ Ð¿Ð»Ð°ÑÑоÑÐ¼Ð°Ñ (Том Ðейн) § §ÐоÑледоваÑелÑноÑÑÑ Ð·Ð½Ð°Ñений
random(), полÑÑÐ°ÐµÐ¼Ð°Ñ Ð¿Ð¾Ñле вÑзоваsetseed()Ñ Ð¾Ð¿ÑеделÑнной заÑÑавкой, ÑкоÑее вÑего бÑÐ´ÐµÑ Ð¾ÑлиÑаÑÑÑÑ Ð¾Ñ Ð²Ñдаваемой пÑедÑдÑÑими веÑÑиÑми. Ðднако она бÑÐ´ÐµÑ Ð¿Ð¾Ð²ÑоÑÑемой, ÑÑо ÑанÑÑе не гаÑанÑиÑовалоÑÑ Ð² ÑлÑÑае паÑаллелÑного иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð³ÐµÐ½ÐµÑаÑоÑа ÑлÑÑайнÑÑ ÑиÑел внÑÑÑи ÑеÑвеÑа. ÐÐ»Ñ Ð¾Ð±ÐµÑпеÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ð²ÑоÑÑемоÑÑи SQL-ÑÑнкÑиÑrandom()ÑепеÑÑ ÑÐ¾Ñ ÑанÑÐµÑ ÑобÑÑвенное ÑоÑÑоÑние в ÑÐ°Ð¼ÐºÐ°Ñ ÑеанÑа.Ðзменение Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ ÑÑнкÑии
substring(), вÑзÑваемой в ÑÑиле SQL, на ÑооÑвеÑÑÑвÑÑÑее ÑÑандаÑÑÑ, «жадное» (Том Ðейн) §РÑлÑÑаÑÑ , когда иÑкомÑй Ñаблон Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð²ÑбÑан в ÑÑÑоке неÑколÑкими ÑпоÑобами, наÑалÑÐ½Ð¾Ð¼Ñ ÑегменÑÑ Ñаблона ÑопоÑÑавлÑеÑÑÑ Ð½Ðµ наиболÑÑаÑ, а наименÑÑÐ°Ñ Ð¿Ð¾Ð´ÑÑÑока; напÑимеÑ, Ñаблон
%#"aa*#"%ÑепеÑÑ Ð²ÑбиÑÐ°ÐµÑ Ð¸Ð· Ð²Ñ Ð¾Ð´Ð½Ð¾Ð¹ ÑÑÑоки не поÑледнее, а пеÑвое Ð²Ñ Ð¾Ð¶Ð´ÐµÐ½Ð¸Ðµ ÑÑдаa.Ð¡Ð¾Ñ Ñанение иÑÑ Ð¾Ð´Ð½Ð¾Ð³Ð¾ ÑоÑмаÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑезÑлÑÑаÑа ÑÑнкÑии
xpath()или конÑÑÑÑкÑииXMLTABLE(Том Ðейн) §ÐÑи некоÑоÑÑÑ ÑÑловиÑÑ ÑÑи ÑÑнкÑии могли вÑÑавлÑÑÑ Ð² знаÑÐµÐ½Ð¸Ñ Ñзлов дополниÑелÑнÑе пÑобелÑнÑе ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ (пÑÐ¾Ð±ÐµÐ»Ñ Ð¸/или пеÑÐµÐ²Ð¾Ð´Ñ ÑÑÑок). Ðднако в обÑем ÑлÑÑае ÑÑо нежелаÑелÑно, Ñак как пÑобелÑнÑе ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð² опÑеделÑннÑÑ ÑÑенаÑиÑÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ Ð·Ð½Ð°ÑимÑми.
ÐеÑеименование ÑÑилиÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¹ ÑÑÑоки pg_verify_checksums в pg_checksums (ÐикаÑÐ»Ñ ÐакÑе) §
Ðобавление в pg_restore ÑÑÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ»ÑÑа
-f -Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ ÑодеÑжимого дампа ÑеÑез ÑÑандаÑÑное ÑÑÑÑойÑÑво вÑвода (ÐÐ¹Ð»ÐµÑ Ð¢Ð°Ð²ÐµÐ¹Ñа)Ранее дамп вÑводилÑÑ Ð² ÑÑандаÑÑное ÑÑÑÑойÑÑво вÑвода и Ñогда, когда назнаÑение не ÑказÑвалоÑÑ, но ÑÑо бÑло пÑизнано нежелаÑелÑнÑм поведением.
ÐедопÑÑение неоднознаÑнÑÑ ÑокÑаÑений в команде
\pset formatÑÑилиÑÑ psql (ÐаниÑÐ»Ñ ÐеÑиÑе) § §Ранее, напÑимеÑ, пÑи вводе командÑ
\pset format aвÑбиÑалÑÑ Ð²Ð°ÑианÑaligned; однако возможен и ваÑианÑasciidoc, поÑÑÐ¾Ð¼Ñ ÑепеÑÑ Ð½Ðµ бÑÐ´ÐµÑ Ð²ÑбиÑаÑÑÑÑ Ð½Ð¸ÐºÐ°ÐºÐ¾Ð¹.РновÑÑ Ð¸Ð½Ð´ÐµÐºÑÐ°Ñ btree макÑималÑнÑй ÑÐ°Ð·Ð¼ÐµÑ Ð·Ð°Ð¿Ð¸Ñи индекÑа ÑокÑаÑÑн на 8 Ð±Ð°Ð¹Ñ Ñ ÑелÑÑ ÑÑовеÑÑенÑÑÐ²Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ð±ÑабоÑки повÑоÑÑÑÑÐ¸Ñ ÑÑ ÑлеменÑов (ÐиÑÐµÑ Ðейган) §
ÐÑледÑÑвие ÑÑого пÑи вÑполнении REINDEX Ñ Ð¸Ð½Ð´ÐµÐºÑом, полÑÑеннÑм в ÑезÑлÑÑаÑе Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿ÑедÑдÑÑей веÑÑии Ñ Ð¿Ñименением pg_upgrade, Ð¼Ð¾Ð¶ÐµÑ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ½ÑÑÑ Ð¾Ñибка.
ÐÑеÑÑвание оÑибкой вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ
DROP IF EXISTS FUNCTION/PROCEDURE/AGGREGATE/ROUTINEв ÑлÑÑаÑÑ , когда ей не пеÑедаÑÑÑÑ ÑпиÑок аÑгÑменÑов, а ÑÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¼Ñ Ð¸Ð¼ÐµÐ½Ð¸ ÑооÑвеÑÑÑвÑÑÑ Ð½ÐµÑколÑко обÑекÑов (ÐÑвид РоÑли) §Также ÑлÑÑÑена ÑоÑмÑлиÑовка ÑообÑÐµÐ½Ð¸Ñ Ð¾ Ñакой оÑибке.
Разделение каÑалога
pg_statistic_extна два и добавление пÑедÑÑавлениÑpg_stats_extнад новÑми каÑалогами (Ðин РаÑид, Ð¢Ð¾Ð¼Ð°Ñ ÐондÑа) § §ÐлагодаÑÑ ÑÑÐ¾Ð¼Ñ Ð¿Ð¾ÑвилаÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ ÑкÑÑÑÑ Ð¾Ñ Ð½ÐµÐ¿ÑивилегиÑованнÑÑ Ð¿Ð¾Ð»ÑзоваÑелей даннÑе ÑÑаÑиÑÑики, поÑенÑиалÑно ÑодеÑжаÑие конÑиденÑиалÑнÑÑ Ð¸Ð½ÑоÑмаÑиÑ.
Удаление ненÑжного ÑÑолбÑа
pg_constraint.consrc(ÐиÑÐµÑ ÐйзенÑÑаÑÑ) §ÐÑÐ¾Ñ ÑÑÐ¾Ð»Ð±ÐµÑ Ð´Ð°Ð²Ð½Ð¾ ÑÑиÑалÑÑ ÑÑÑаÑевÑим, Ñак как в нÑм не оÑÑажалиÑÑ ÐºÐ¾ÑвеннÑе Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐµÐ³Ð¾ ÑодеÑжимого в каÑалоге (напÑимеÑ, пеÑÐµÐ¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð¸Ñ ÑÑолбÑов). ÐмеÑÑо него Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð² ÑекÑÑовом виде вÑÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð¾Ð³ÑаниÑениÑ-пÑовеÑки из
pg_constraintÑекомендÑеÑÑÑ Ð¸ÑполÑзоваÑÑ ÑÑнкÑиÑpg_get_expr(conbin, conrelid). Также Ð´Ð»Ñ ÑÑого Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð° ÑÑнкÑиÑpg_get_constraintdef().Удаление ненÑжного ÑÑолбÑа
pg_attrdef.adsrc(ÐиÑÐµÑ ÐйзенÑÑаÑÑ) §ÐÑÐ¾Ñ ÑÑÐ¾Ð»Ð±ÐµÑ Ð´Ð°Ð²Ð½Ð¾ ÑÑиÑалÑÑ ÑÑÑаÑевÑим, Ñак как в нÑм не оÑÑажалиÑÑ ÐºÐ¾ÑвеннÑе Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐµÐ³Ð¾ ÑодеÑжимого в каÑалоге (напÑимеÑ, пеÑÐµÐ¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð¸Ñ ÑÑолбÑов). ÐмеÑÑо него Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð² ÑекÑÑовом виде вÑÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð¸Ð·
pg_attrdefÑекомендÑеÑÑÑ Ð¸ÑполÑзоваÑÑ ÑÑнкÑиÑpg_get_expr(adbin, adrelid).ÐазнаÑение ÑÑолбÑам, имеÑÑим Ñип name, по ÑмолÑÐ°Ð½Ð¸Ñ Ð¿Ñавила ÑоÑÑиÑовки «C» (Том Ðейн, ÐаниÑÐ»Ñ ÐеÑиÑе) § §
ÐпеÑаÑоÑÑ ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ñипа даннÑÑ
nameмогÑÑ ÑепеÑÑ Ð¸ÑполÑзоваÑÑ Ð»ÑбÑе пÑавила ÑоÑÑиÑовки, а не иÑклÑÑиÑелÑно пÑавило ÑоÑÑиÑовки «C». ÐÐ»Ñ ÑÐ¾Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð¿ÑедÑдÑÑего Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿ÑоÑов ÑÑолбÑÑ ÑипаnameÑепеÑÑ Ñвно помеÑаÑÑÑÑ ÐºÐ°Ðº имеÑÑие пÑавило ÑоÑÑиÑовки «C». ÐÑо Ð¸Ð¼ÐµÐµÑ Ð¸ побоÑнÑй ÑÑÑÐµÐºÑ â опеÑаÑоÑÑ ÑегÑлÑÑнÑÑ Ð²ÑÑажений Ñо ÑÑолбÑамиnameÑепеÑÑ Ð±ÑдÑÑ Ð¸ÑполÑзоваÑÑ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð½Ðµ пÑавило ÑоÑÑиÑовки, заданное Ð´Ð»Ñ Ð±Ð°Ð·Ñ, а пÑавило «C». Ð ÑаÑÑноÑÑи, ÑÑо повлиÑÐµÑ Ð½Ð° поведение завиÑÑÑÐ¸Ñ Ð¾Ñ Ð»Ð¾ÐºÐ°Ð»Ð¸ ÑлеменÑов ÑегÑлÑÑнÑÑ Ð²ÑÑажений (напÑимеÑ,\w). ÐÑли Ð²Ñ Ñ Ð¾ÑиÑе полÑÑиÑÑ Ð¾ÑлиÑное Ð¾Ñ C поведение ÑегÑлÑÑного вÑÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ñо ÑÑолбÑомname, добавÑÑе Ñвное ÑказаниеCOLLATE. (ÐÐ»Ñ ÑоздаваемÑÑ Ð¿Ð¾Ð»ÑзоваÑелем ÑÑолбÑовnameÑакже можно задаÑÑ Ð´ÑÑгое пÑавило ÑоÑÑиÑовки пÑи Ñоздании ÑаблиÑÑ; но пÑи ÑÑом пÑоблема обÑаÑной ÑовмеÑÑимоÑÑи пÑоÑÑо ÑмеÑаеÑÑÑ Ð² облаÑÑÑ Ð¾Ð¿ÐµÑаÑоÑов ÑÑавнениÑ.)ÐбÑабоÑка ÑÑолбÑов, ÑодеÑжаÑÐ¸Ñ Ð¸Ð¼ÐµÐ½Ð° обÑекÑов в пÑедÑÑавлениÑÑ
information_schema, как имеÑÑÐ¸Ñ Ñипname, а неvarchar(Том Ðейн) § § §СоглаÑно ÑÑандаÑÑÑ SQL ÑÑолбÑÑ Ñ Ð¸Ð¼ÐµÐ½Ð°Ð¼Ð¸ обÑекÑов в пÑедÑÑавлениÑÑ
information_schemaÐ´Ð¾Ð»Ð¶Ð½Ñ Ð¸Ð¼ÐµÑÑ Ð´Ð¾Ð¼ÐµÐ½Ð½Ñй Ñипsql_identifier. Ð PostgreSQL нижележаÑие ÑÑолбÑÑ ÐºÐ°Ñалога ÑакÑиÑеÑки имеÑÑ Ñипname. Ð ÑезÑлÑÑаÑе ÑÑого Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñипsql_identifierоказÑваеÑÑÑ Ð´Ð¾Ð¼ÐµÐ½Ð¾Ð¼ повеÑÑ Ñипаname, а неvarchar, как бÑло ÑанÑÑе. Тем ÑамÑм ÑÑÑÑанÑеÑÑÑ Ð½ÐµÑооÑвеÑÑÑвие пÑи ÑÑавнении и ÑоÑÑиÑовке, ÑÑо знаÑиÑелÑно ÑÑкоÑÑÐµÑ Ð¿Ð¾Ð¸Ñк в пÑедÑÑавлениÑÑinformation_schemaпо Ñаким ÑÑолбÑам. Ðднако замеÑÑÑе, ÑÑо пÑи пÑовеÑке неÑавенÑÑва, напÑимеÑ:SELECT ... FROM information_schema.tables WHERE table_name < 'foo';
без дополниÑелÑнÑÑ Ñказаний бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð¿Ñавило ÑоÑÑиÑовки, пÑинÑÑое Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»Ð¸ «C», а не пÑавило ÑоÑÑиÑовки, вÑбÑанное в ÑекÑÑей базе по ÑмолÑаниÑ. УпоÑÑдоÑиваÑÑÑÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ ÑÑÐ¸Ñ ÑÑолбÑов Ñак же бÑдÑÑ Ð¿Ð¾ пÑÐ°Ð²Ð¸Ð»Ñ Â«C». СÑаÑое (и неÑÑÑекÑивное) поведение можно веÑнÑÑÑ, добавив Ñказание
COLLATE "default".Удаление возможноÑÑи оÑклÑÑÐµÐ½Ð¸Ñ Ð´Ð¸Ð½Ð°Ð¼Ð¸ÑеÑкой обÑей памÑÑи (ÐÑÑаÑо ХоÑигÑÑи)
Таким обÑазом, паÑамеÑÑ dynamic_shared_memory_type ÑепеÑÑ Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑинимаÑÑ Ð·Ð½Ð°Ñение
none.РеализаÑÐ¸Ñ Ð±Ð¾Ð»ÐµÐµ ÑÑÑогой пÑовеÑки ÑелоÑиÑленнÑÑ Ð¿Ð°ÑамеÑÑов libpq (ФабÑен ÐоÑлÑо)
РпÑедÑдÑÑÐ¸Ñ Ð²ÑпÑÑÐºÐ°Ñ Ð½ÐµÐ´Ð¾Ð¿ÑÑÑимÑе ÑелоÑиÑленнÑе знаÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑов подклÑÑениÑ
connect_timeout,keepalives,keepalives_count,keepalives_idle,keepalives_intervalиportпÑоÑÑо игноÑиÑовалиÑÑ ÐºÐ¾Ð´Ð¾Ð¼ libpq или пÑовоÑиÑовали некоÑÑекÑнÑе ÑообÑÐµÐ½Ð¸Ñ Ð¾Ð± оÑÐ¸Ð±ÐºÐ°Ñ .
E.50.3. ÐзменениÑ
Ðиже Ð²Ñ Ð½Ð°Ð¹Ð´ÑÑе подÑобнÑй ÑпиÑок изменений, пÑоизоÑедÑÐ¸Ñ Ð¼ÐµÐ¶Ð´Ñ Ð¿ÑедÑдÑÑим оÑновнÑм вÑпÑÑком и вÑпÑÑком PostgreSQL 12.
E.50.3.1. СеÑвеÑ
E.50.3.1.1. СекÑиониÑование
УвелиÑение ÑкоÑоÑÑи вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¼Ð½Ð¾Ð³Ð¸Ñ Ð¾Ð¿ÐµÑаÑий Ñ ÑекÑиониÑованнÑми ÑаблиÑами (ÐÐ¼Ð¸Ñ ÐангоÑе, ÐÑвид РоÑли, Том Ðейн, ÐлÑваÑо ÐÑÑеÑа) § § § § §
СпоÑобноÑÑÑ ÑÑÑекÑивно вÑполнÑÑÑ Ð² ÑаблиÑÐ°Ñ Ñ ÑÑÑÑÑами доÑеÑÐ½Ð¸Ñ ÑекÑий опеÑаÑии, ÑакÑиÑеÑки заÑÑагиваÑÑие лиÑÑ Ð½ÐµÐ±Ð¾Ð»ÑÑое колиÑеÑÑво ÑекÑий.
ÐозможноÑÑÑ ÑÑÑлаÑÑÑÑ Ð²Ð¾ внеÑÐ½Ð¸Ñ ÐºÐ»ÑÑÐ°Ñ Ð½Ð° ÑекÑиониÑованнÑе ÑаблиÑÑ (ÐлÑваÑо ÐÑÑеÑа) §
УÑкоÑение опеÑаÑии
COPYпÑи копиÑовании даннÑÑ Ð² ÑекÑиониÑованнÑе ÑаблиÑÑ (ÐÑвид РоÑли) §ÐозможноÑÑÑ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð³ÑÐ°Ð½Ð¸Ñ ÑекÑий в виде пÑоизволÑнÑÑ Ð²ÑÑажений (ÐÑÑаÑо ХоÑигÑÑи, Том Ðейн, ÐÐ¼Ð¸Ñ ÐангоÑе) §
Такие вÑÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð²ÑÑиÑлÑÑÑÑÑ Ð² Ð¼Ð¾Ð¼ÐµÐ½Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑекÑиониÑованной ÑаблиÑÑ. Ранее гÑаниÑÑ ÑекÑий могли задаваÑÑÑÑ ÑолÑко пÑоÑÑÑми конÑÑанÑами.
РаÑпÑоÑÑÑанение заданного в
CREATE TABLEÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ ÑаблиÑного пÑоÑÑÑанÑÑва на доÑеÑние ÑекÑии ÑекÑиониÑованной ÑаблиÑÑ (ÐÑвид РоÑли, ÐлÑваÑо ÐÑÑеÑа) §ÐÑклÑÑение избÑÑоÑной ÑоÑÑиÑовки пÑи ÑканиÑовании ÑекÑий в нÑжном поÑÑдке (ÐÑвид РоÑли) §
ÐÑполнение
ALTER TABLE ATTACH PARTITIONÑ Ð±Ð¾Ð»ÐµÐµ мÑгкими ÑÑебованиÑми блокиÑовки (РобеÑÑ Ð¥Ð°Ð°Ñ) §РеализаÑÐ¸Ñ ÑÑнкÑий Ð´Ð»Ñ Ð¿ÑоÑмоÑÑа конÑигÑÑаÑии ÑекÑиониÑÐ¾Ð²Ð°Ð½Ð¸Ñ (ÐикаÑÐ»Ñ ÐакÑе, ÐлÑваÑо ÐÑÑеÑа, ÐÐ¼Ð¸Ñ ÐангоÑе) § § §
ÐÐ¾Ð²Ð°Ñ ÑÑнкÑиÑ
pg_partition_root()вÑдаÑÑ Ð²ÐµÑÑ Ð½ÑÑ ÑаблиÑÑ Ð² деÑеве ÑекÑиониÑованиÑ,pg_partition_ancestors()вÑдаÑÑ Ð²ÑÑеÑÑоÑÑие оÑноÑÐµÐ½Ð¸Ñ ÑекÑии, аpg_partition_tree()вÑÐ²Ð¾Ð´Ð¸Ñ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ ÑекÑиÑÑ .ÐклÑÑение ÑекÑиониÑованнÑÑ Ð¸Ð½Ð´ÐµÐºÑов в ÑиÑÑемное пÑедÑÑавление
pg_indexes(СÑÑадж ХаÑаге)Ðобавление в psql командÑ
\dP, показÑваÑÑей ÑекÑиониÑованнÑе ÑаблиÑÑ Ð¸ индекÑÑ (Ðавел СÑÐµÑ Ñле) §УлÑÑÑение оÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ ÑекÑиониÑованнÑÑ ÑÐ°Ð±Ð»Ð¸Ñ Ð² вÑводе команд
\dи\zв psql (Ðавел СÑÐµÑ Ñле, ÐикаÑÐ»Ñ ÐакÑе, ÐлÑваÑо ÐÑÑеÑа) § § §ÐÑпÑавление оÑибок, в ÑезÑлÑÑаÑе коÑоÑÑÑ Ð¿Ð¾Ñле
ALTER TABLE DETACH PARTITIONÑÑ ÐµÐ¼Ð° завиÑимоÑÑей могла оказаÑÑÑÑ Ð½ÐµÐºÐ¾ÑÑекÑной. ÐÑледÑÑвие ÑÑого, напÑимеÑ, пÑи Ñдалении ÑаблиÑÑ, Ñанее ÑвлÑвÑейÑÑ ÑекÑией, могли не ÑдалиÑÑÑÑ ÐµÑ Ð¸Ð½Ð´ÐµÐºÑÑ (Том Ðейн) §
E.50.3.1.2. ÐндекÑÑ
УвелиÑение бÑÑÑÑодейÑÑÐ²Ð¸Ñ Ð¸ ÑменÑÑение ÑазмеÑа индекÑов btree, ÑодеÑжаÑÐ¸Ñ Ð¼Ð½Ð¾Ð¶ÐµÑÑво повÑоÑÑÑÑÐ¸Ñ ÑÑ Ð·Ð½Ð°Ñений (ÐиÑÐµÑ Ðейган, Хейкки ÐиннакангаÑ) § § §
Ранее повÑоÑÑÑÑиеÑÑ ÑлеменÑÑ Ð¸Ð½Ð´ÐµÐºÑа Ñ ÑанилиÑÑ Ð½ÐµÑпоÑÑдоÑеннÑми внÑÑÑи гÑÑÐ¿Ð¿Ñ ÑавнÑÑ Ð·Ð½Ð°Ñений. С ÑÑим бÑли ÑвÑÐ·Ð°Ð½Ñ Ð¸Ð·Ð´ÐµÑжки пÑи добавлении новÑÑ Ð·Ð°Ð¿Ð¸Ñей, пÑи многокÑаÑном Ñазделении ÑÑÑÐ°Ð½Ð¸Ñ ÑаÑÑ Ð¾Ð´Ð¾Ð²Ð°Ð»Ð¾ÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑное пÑоÑÑÑанÑÑво, и возможноÑÑей пеÑеÑабоÑаÑÑ ÑелÑе ÑÑÑаниÑÑ Ð¿Ñи
VACUUMоказÑвалоÑÑ Ð·Ð½Ð°ÑиÑелÑно менÑÑе. ТепеÑÑ Ð¿Ð¾Ð²ÑоÑÑÑÑиеÑÑ ÑлеменÑÑ Ð¸Ð½Ð´ÐµÐºÑа Ñ ÑанÑÑÑÑ Ð¿Ð¾ поÑÑÐ´ÐºÑ Ð¸Ñ ÑазмеÑÐµÐ½Ð¸Ñ Ð² кÑÑе.ÐÑо ÑлÑÑÑение не ÑаÑпÑоÑÑÑанÑеÑÑÑ Ð½Ð° индекÑÑ, полÑÑеннÑе в ÑезÑлÑÑаÑе Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿ÑедÑдÑÑей веÑÑии Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ pg_upgrade.
РеализаÑÐ¸Ñ Ð±Ð¾Ð»ÐµÐµ компакÑного Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð¼Ð½Ð¾Ð³Ð¾ÐºÐ¾Ð»Ð¾Ð½Ð¾ÑнÑÑ Ð¸Ð½Ð´ÐµÐºÑов btree (ÐиÑÐµÑ Ðейган, Хейкки ÐиннакангаÑ)
ÐнÑÑÑенние ÑÑÑаниÑÑ Ð¸ индикаÑоÑÑ Ð¼Ð¸Ð½Ð¸Ð¼Ñма/макÑимÑма на ÑÑÑаниÑÐ°Ñ Ð»Ð¸ÑÑÑев ÑепеÑÑ ÑодеÑÐ¶Ð°Ñ Ð½Ðµ вÑе клÑÑи индекÑа, а ÑолÑко Ñе, изменение коÑоÑÑÑ ÑвлÑеÑÑÑ Ð¾Ð¿ÑеделÑÑÑим. ÐÑо Ñакже ÑлÑÑÑÐ°ÐµÑ ÑоÑÑедоÑоÑенноÑÑÑ Ð¾Ð±ÑаÑений к индекÑÑ.
ÐÑо ÑлÑÑÑение не ÑаÑпÑоÑÑÑанÑеÑÑÑ Ð½Ð° индекÑÑ, полÑÑеннÑе в ÑезÑлÑÑаÑе Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿ÑедÑдÑÑей веÑÑии Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ pg_upgrade.
УвелиÑение ÑкоÑоÑÑи Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ Ð² Ð¸Ð½Ð´ÐµÐºÑ btree благодаÑÑ ÑокÑаÑÐµÐ½Ð¸Ñ Ð¸Ð·Ð´ÐµÑжек, ÑвÑзаннÑÑ Ñ Ð±Ð»Ð¾ÐºÐ¸Ñовками (ÐлекÑÐ°Ð½Ð´Ñ ÐоÑоÑков) §
ÐоддеÑжка дополниÑелÑнÑÑ ÑÑолбÑов (
INCLUDE) в индекÑÐ°Ñ GiST (ÐндÑей ÐоÑодин) §РеализаÑÐ¸Ñ Ð¿Ð¾Ð´Ð´ÐµÑжки поиÑка ближайÑÐ¸Ñ ÑоÑедей (KNN) Ñ Ð¸ÑполÑзованием индекÑов SP-GiST (ÐикиÑа ÐлÑÑ Ð¾Ð², ÐлекÑÐ°Ð½Ð´Ñ ÐоÑоÑков, ÐладиÑлав СÑеÑжанов) §
УменÑÑение нагÑÑзки на WAL пÑи Ñоздании индекÑов GiST, GIN и SP-GiST (ÐнаÑÑаÑÐ¸Ñ ÐÑбенникова, ÐндÑей ÐÐµÐ¿Ð¸Ñ Ð¾Ð²) §
Ðолее ÑÑÑекÑивное вÑполнение ÑканиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑолÑко индекÑа пÑимениÑелÑно к индекÑам по неÑколÑким ÑÑолбÑам (ÐонÑÑанÑин Ðнижник) §
УвелиÑение пÑоизводиÑелÑноÑÑи ÑканиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñи оÑиÑÑке индекÑов GiST (ÐндÑей ÐоÑодин, ÐонÑÑанÑин ÐÑзнеÑов, Хейкки ÐиннакангаÑ) §
Удаление из индекÑа GiST пÑÑÑÑÑ ÑÑÑÐ°Ð½Ð¸Ñ Ð½Ð° ÑÑовне лиÑÑÑев пÑи вÑполнении
VACUUM(ÐндÑей ÐоÑодин) §СмÑгÑение ÑÑебований блокиÑовки Ð´Ð»Ñ Ð¿ÐµÑÐµÐ¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð½Ð´ÐµÐºÑа (ÐиÑÐµÑ ÐйзенÑÑаÑÑ) §
E.50.3.1.3. ÐпÑимизаÑоÑ
ÐозможноÑÑÑ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ CREATE STATISTICS ÑÑаÑиÑÑики ÑамÑÑ ÑаÑÑÑÑ ÐºÐ¾Ð¼Ð±Ð¸Ð½Ð°Ñий по неÑколÑким ÑÑолбÑам (Ð¢Ð¾Ð¼Ð°Ñ ÐондÑа) § §
Ð¢Ð°ÐºÐ°Ñ ÑÑаÑиÑÑика Ð¿Ð¾Ð¼Ð¾Ð³Ð°ÐµÑ Ð¾Ð¿ÑимизиÑоваÑÑ Ð·Ð°Ð¿ÑоÑÑ, в коÑоÑÑÑ Ð¿ÑовеÑÑÑÑÑÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð½ÐµÑколÑÐºÐ¸Ñ ÑÑолбÑов, когда ÑÑебÑеÑÑÑ Ð¾ÑениÑÑ ÑÑÑÐµÐºÑ ÑовмеÑÐµÐ½Ð¸Ñ Ð½ÐµÑколÑÐºÐ¸Ñ Ð¿Ñедложений
WHERE. ÐÑли ÑÑолбÑÑ ÐºÐ¾ÑÑелиÑÑÑÑ Ð¼ÐµÐ¶Ð´Ñ Ñобой и Ñ Ð°ÑакÑеÑизÑÑÑÑÑ Ð½ÐµÑавномеÑнÑм ÑаÑпÑеделением, многоколоноÑÐ½Ð°Ñ ÑÑаÑиÑÑика Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ Ð¿Ð¾Ð»ÑÑиÑÑ Ð³Ð¾Ñаздо более каÑеÑÑвеннÑе оÑенки.ÐозможноÑÑÑ Ð²ÑÑÑÐ°Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¾Ð±ÑÐ¸Ñ ÑаблиÑнÑÑ Ð²ÑÑажений (CTE) во внеÑний запÑÐ¾Ñ (ÐндÑÐµÐ°Ñ ÐаÑлÑÑон, ÐндÑÑ ÐиÑÑ, Ðавид ФеÑÑеÑ, Том Ðейн) § §
ÐÑÑажение CTE авÑомаÑиÑеÑки вÑÑÑаиваеÑÑÑ Ð²Ð¾ внеÑний запÑоÑ, еÑли оно не Ð¸Ð¼ÐµÐµÑ Ð¿Ð¾Ð±Ð¾ÑнÑÑ ÑÑÑекÑов, неÑекÑÑÑивно и ÑигÑÑиÑÑÐµÑ Ð² запÑоÑе однокÑаÑно. ÐÑÑÑаивание можно пÑедоÑвÑаÑиÑÑ, Ñказав
MATERIALIZED, либо наобоÑоÑ, пÑинÑдиÑелÑно вÑÑÑоиÑÑ ÑигÑÑиÑÑÑÑее многокÑаÑно вÑÑажение, ÑказавNOT MATERIALIZED. Ранее вÑÑÐ°Ð¶ÐµÐ½Ð¸Ñ CTE никогда не вÑÑÑаивалиÑÑ Ð¸ вÑегда вÑÑиÑлÑлиÑÑ Ð´Ð¾ оÑÑалÑного ÑодеÑжимого запÑоÑа.УпÑавление вÑбоÑом обÑÐ¸Ñ Ð¿Ð»Ð°Ð½Ð¾Ð² пÑи вÑполнении подгоÑовленнÑÑ Ð¾Ð¿ÐµÑаÑоÑов (Ðавел СÑÐµÑ Ñле) §
ÐÐ»Ñ ÑеализаÑии ÑÑой возможноÑÑи введÑн ÑеÑвеÑнÑй паÑамеÑÑ plan_cache_mode.
УлÑÑÑение опÑимизаÑии запÑоÑов Ñ ÑекÑиÑми и Ñ
UNION ALL, когда в подплане оказÑваеÑÑÑ ÑолÑко один поÑомок (ÐÑвид РоÑли) §УлÑÑÑение обÑабоÑки доменов, Ñ ÐºÐ¾ÑоÑÑÑ Ð¾ÑÑÑÑÑÑвÑÑÑ Ð¾Ð³ÑаниÑениÑ-пÑовеÑки (Том Ðейн) §
ÐоменÑ, пÑедÑÑавлÑÑÑие Ñобой пÑоÑÑо ÑÐ¸Ð½Ð¾Ð½Ð¸Ð¼Ñ Ñипов, ÑепеÑÑ Ð½Ðµ пÑепÑÑÑÑвÑÑÑ Ð¾Ð¿ÑимизаÑии запÑоÑов.
ÐÑедваÑиÑелÑное вÑÑиÑление ÑÑнкÑий
LEASTиGREATESTÑ Ð¿Ð¾ÑÑоÑннÑми аÑгÑменÑами (Ðик ФиÑинг) §УлÑÑÑение ÑпоÑобноÑÑи планиÑовÑика опÑеделÑÑÑ, пÑÐ¸Ð³Ð¾Ð´Ð½Ñ Ð»Ð¸ к иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² запÑоÑÐ°Ñ ÑаÑÑиÑнÑе индекÑÑ Ñ ÑÑловиÑми
IS NOT NULL(Том Ðейн, ÐÐ¶ÐµÐ¹Ð¼Ñ ÐоÑлман) § §ÐÑигодноÑÑÑ Ðº иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑÐ°ÐºÐ¸Ñ Ð¸Ð½Ð´ÐµÐºÑов ÑепеÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾Ð¿Ñеделена в болÑÑем колиÑеÑÑве ÑлÑÑаев, когда в вÑзÑваÑÑем запÑоÑе пÑиÑÑÑÑÑвÑÑÑ Ð¿ÑÐ¸Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ обÑÑмнÑе конÑÑÑÑкÑии
.xIN (маÑÑив)ÐÑÑиÑление ÑÑаÑиÑÑики
ANALYZEÑ ÑÑÑÑом пÑавила ÑоÑÑиÑовки, опÑеделÑнного Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑÑолбÑа (Том Ðейн) §Ранее Ð´Ð»Ñ Ð²ÑÐµÑ ÑÑаÑиÑÑик иÑполÑзовалоÑÑ Ð¿Ñавило ÑоÑÑиÑовки, вÑбÑанное по ÑмолÑаниÑ. Реализованное ÑÑовеÑÑенÑÑвование позволÑÐµÑ ÑлÑÑÑиÑÑ Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ðµ опÑимизаÑоÑа пÑи анализе ÑÑолбÑов Ñ Ð´ÑÑгими пÑавилами ÑоÑÑиÑовки.
УлÑÑÑение оÑенки избиÑаÑелÑноÑÑи пÑи пÑовеÑке неÑавенÑÑва Ñо знаÑениÑми ÑÑолбÑов
ctid(ÐдмÑнд ХоÑнеÑ) §УлÑÑÑение опÑимизаÑии Ñоединений по ÑÑолбÑам Ñипа
tid(Том Ðейн) § §ÐÑи Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ñежде вÑего ÑлÑÑÑаÑÑ ÑÑÑекÑивноÑÑÑ Ð·Ð°Ð¼ÐºÐ½ÑÑÑÑ Ñоединений по ÑÑолбÑам
ctid.ÐÑидание пÑизнака геÑмеÑиÑноÑÑи ÑÑÐ´Ñ Ð¾Ð¿ÐµÑаÑоÑов ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ð¸ опоÑнÑÑ ÑÑнкÑий btree (Том Ðейн) § §
ÐлагодаÑÑ ÑÑÐ¾Ð¼Ñ ÑÑали Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñ Ð¾Ð¿ÑимизаÑии, не пÑименÑвÑиеÑÑ Ñанее в ÑлÑÑае налиÑÐ¸Ñ Ð¿ÑедÑÑавлений Ñ Ð±Ð°ÑÑеÑами безопаÑноÑÑи или заÑиÑÑ Ð½Ð° ÑÑовне ÑÑÑок.
E.50.3.1.4. ÐбÑÐ°Ñ Ð¿ÑоизводиÑелÑноÑÑÑ
ÐкÑиваÑÐ¸Ñ JIT-компилÑÑии по ÑмолÑаниÑ, еÑли ÑеÑÐ²ÐµÑ ÑобиÑаеÑÑÑ Ñ ÑооÑвеÑÑÑвÑÑÑей поддеÑжкой (ÐндÑÐµÑ Ð¤Ñойнд) §
ÐамеÑÑÑе, ÑÑо ÑÑÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶ÐºÑ Ð½Ñжно вклÑÑаÑÑ Ñвно на ÑÑапе конÑигÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑбоÑки.
УÑкоÑение поиÑка клÑÑевÑÑ Ñлов (Ðжон ÐейлоÑ, ÐÑÑг ÐонненбеÑгеÑ, Том Ðейн) § §
УвелиÑение ÑкоÑоÑÑи поиÑка многобайÑовÑÑ Ñимволов в
position()и ÑвÑзаннÑÑ ÑÑнкÑиÑÑ (Хейкки ÐиннакангаÑ)РеализаÑÐ¸Ñ ÑаÑпаковки знаÑений TOAST в минималÑно Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾Ð¼ обÑÑме (Ðол РамÑей) §
ÐÑо полезно в ÑлÑÑаÑÑ , когда доÑÑаÑоÑно пÑоÑиÑаÑÑ ÑолÑко наÑало полÑ, Ñпакованного в TOAST.
ÐÑклÑÑение ненÑжного ÑканиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑаблиÑÑ Ð¿Ñи вÑполнении
ALTER TABLE ... SET NOT NULL(СеÑгей ÐоÑнилов)СканиÑование Ð¼Ð¾Ð¶ÐµÑ Ð½Ðµ вÑполнÑÑÑÑÑ, когда из огÑаниÑений ÑÑолбÑа ÑледÑеÑ, ÑÑо он не Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ NULL.
УÑÑÑанение Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑи пеÑезапиÑи ÑаблиÑÑ Ð¿Ñи пеÑÐµÑ Ð¾Ð´Ðµ Ð¼ÐµÐ¶Ð´Ñ Ñипами
timestampиtimestamptzÑ Ð¿Ð¾Ð¼Ð¾ÑÑÑALTER TABLE ... SET DATA TYPE, когда ÑекÑÑий ÑаÑовой поÑÑ ÑеанÑа â UTC (Ðой ÐиÑ)Ð ÑаÑовом поÑÑе UTC ÑÑи два Ñипа даннÑÑ ÑвлÑÑÑÑÑ Ð´Ð²Ð¾Ð¸Ñно ÑовмеÑÑимÑми.
УÑкоÑение пÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑÑÑок в ÑелоÑиÑленнÑе ÑипÑ
int2иint4(ÐндÑÐµÑ Ð¤Ñойнд) §ÐозможноÑÑÑ ÑаÑпаÑÐ°Ð»Ð»ÐµÐ»Ð¸Ð²Ð°Ð½Ð¸Ñ Ð·Ð°Ð¿ÑоÑов в Ñежиме изолÑÑии
SERIALIZABLE(Ð¢Ð¾Ð¼Ð°Ñ ÐанÑо) §Ранее в данном Ñежиме ÑаÑпаÑаллеливание запÑоÑов запÑеÑалоÑÑ.
ÐÑполÑзование ÑÑнкÑий
pread()иpwrite()Ð´Ð»Ñ Ð²Ð²Ð¾Ð´Ð°/вÑвода в пÑоизволÑной позиÑии (ÐÑкаÑи СааÑенмаа, Ð¢Ð¾Ð¼Ð°Ñ ÐанÑо) § §ÐлагодаÑÑ ÑÑÐ¾Ð¼Ñ Ð´Ð»Ñ Ð¾Ð¿ÐµÑаÑий ввода/вÑвода ÑÑебÑеÑÑÑ Ð²ÑполнÑÑÑ Ð¼ÐµÐ½ÑÑе ÑиÑÑемнÑÑ Ð²Ñзовов.
ÐÑполÑзование более бÑÑÑÑого меÑода Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° пÑоÑеÑÑа во FreeBSD (Ð¢Ð¾Ð¼Ð°Ñ ÐанÑо) §
E.50.3.1.5. ÐониÑоÑинг
ÐозможноÑÑÑ ÑегиÑÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð² жÑÑнале ÑолÑко некоÑоÑого пÑоÑенÑа ÑÑанзакÑий (ÐдÑиен ÐайÑаÑ) §
ÐÐ¾Ð»Ñ ÑÑанзакÑий задаÑÑÑÑ Ð¿Ð°ÑамеÑÑом log_transaction_sample_rate.
ÐÑвод инÑоÑмаÑии о пÑоÑеÑÑе вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¾Ð¿ÐµÑаÑий
CREATE INDEXиREINDEX(ÐлÑваÑо ÐÑÑеÑа, ÐиÑÐµÑ ÐйзенÑÑаÑÑ) § §ÐолÑÑиÑÑ ÑÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ ÑеÑез ÑиÑÑемное пÑедÑÑавление
pg_stat_progress_create_index.ÐÑвод инÑоÑмаÑии о пÑоÑеÑÑе вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´
CLUSTERиVACUUM FULL(ТаÑÑÑо Ямада) §ÐолÑÑиÑÑ ÑÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ ÑеÑез ÑиÑÑемное пÑедÑÑавление
pg_stat_progress_cluster.ÐÑвод инÑоÑмаÑии о пÑоÑеÑÑе вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ pg_checksums (ÐÐ¸Ñ Ð°ÑÐ»Ñ Ðанк, ÐеÑнд Хелмле) §
ÐÐ»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ ÑÑой инÑоÑмаÑии добавÑÑе клÑÑ
--progress.Ðобавление ÑÑÑÑÑика оÑибок конÑÑолÑнÑÑ ÑÑмм в пÑедÑÑавление
pg_stat_database(ÐагнÑÑ Ð¥Ð°Ð³Ð°Ð½Ð´ÐµÑ) §Ðобавление ÑÑаÑиÑÑики глобалÑнÑÑ Ð¾Ð±ÑекÑов в ÑиÑÑемное пÑедÑÑавление
pg_stat_database(ÐÑлÑен Ð Ñо) §РÑÑÑоке, показÑваÑÑей глобалÑнÑе обÑекÑÑ, поле
pg_stat_database.datidÑавно нÑлÑ.ÐÑедоÑÑавление возможноÑÑи пÑоÑмаÑÑиваÑÑ ÑодеÑжимое аÑÑ Ð¸Ð²Ð½Ð¾Ð³Ð¾ каÑалога (ÐÑиÑÑÐ¾Ñ ÐÑÐ½Ñ -ТегедеÑ) §
ÐÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ ÑеализÑÐµÑ ÑÑнкÑиÑ
pg_ls_archive_statusdir().ÐÑедоÑÑавление возможноÑÑи пÑоÑмаÑÑиваÑÑ ÑодеÑжимое вÑеменнÑÑ ÐºÐ°Ñалогов (ÐаÑан ÐоÑÑаÑÑ) §
ÐÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ ÑеализÑÐµÑ ÑÑнкÑиÑ
pg_ls_tmpdir(), пÑинимаÑÑÐ°Ñ Ð² каÑеÑÑве необÑзаÑелÑного аÑгÑменÑа Ñказание ÑаблиÑного пÑоÑÑÑанÑÑва.Ðобавление инÑоÑмаÑии о клиенÑÑком ÑеÑÑиÑикаÑе в ÑиÑÑемное пÑедÑÑавление
pg_stat_ssl(ÐиÑÐµÑ ÐйзенÑÑаÑÑ) §ÐÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¿ÑедоÑÑавлÑÑÑ Ð½Ð¾Ð²Ñе ÑÑолбÑÑ
client_serialиissuer_dn. СÑолбеÑclientdnÐ´Ð»Ñ ÐµÐ´Ð¸Ð½Ð¾Ð¾Ð±ÑÐ°Ð·Ð¸Ñ Ð¿ÐµÑеименован вclient_dn.ÐгÑаниÑение видимоÑÑи ÑÑÑок в
pg_stat_sslÐ´Ð»Ñ Ð½ÐµÐ¿ÑивилегиÑованнÑÑ Ð¿Ð¾Ð»ÑзоваÑелей (ÐиÑÐµÑ ÐйзенÑÑаÑÑ) §ÐÑвод в жÑÑнал ÑообÑÐµÐ½Ð¸Ñ Ñ Ð½Ð¾Ð¼ÐµÑом веÑÑии ÑеÑвеÑа пÑи запÑÑке (ÐÑиÑÑÐ¾Ñ ÐеÑг) §
Ðодавление ÑообÑений «incomplete startup packet» (неполнÑй ÑÑаÑÑовÑй пакеÑ), вÑводимÑÑ Ð² жÑÑнал пÑи закÑÑÑии нового ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð´Ð¾ пеÑедаÑи даннÑÑ (Том Ðейн) §
ÐÑо позволÑÐµÑ Ð¸Ð·Ð±Ð°Ð²Ð¸ÑÑÑÑ Ð¾Ñ Ð»Ð¸ÑÐ½Ð¸Ñ ÑообÑений, поÑождаемÑÑ Ð¿Ñи опÑеделÑннÑÑ Ð¼ÐµÑÐ¾Ð´Ð°Ñ Ð¼Ð¾Ð½Ð¸ÑоÑинга.
Ðобавление в ÑообÑÐµÐ½Ð¸Ñ log_connections Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ (application_name), еÑли оно задано (Ðон ÐейлеÑ) §
ÐÑполÑзование в каÑеÑÑве алÑÑеÑнаÑивного имени пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ walreceiver имени клаÑÑеÑа, еÑли оно задано (ÐиÑÐµÑ ÐйзенÑÑаÑÑ) §
Ðобавление вÑемени поÑледнего полÑÑенного Ð¾Ñ Ð²ÐµÐ´Ð¾Ð¼Ð¾Ð³Ð¾ ÑеÑвеÑа ÑообÑÐµÐ½Ð¸Ñ Ð² пÑедÑÑавление
pg_stat_replication(Ðим ÐÑнгÑ) §Ðобавление ÑобÑÑÐ¸Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ ÑÐ¸Ð½Ñ ÑонизаÑии Ñ Ð¤Ð¡ ÑегменÑов WAL (ÐонÑÑанÑин Ðнижник) §
E.50.3.1.6. ÐÑÑенÑиÑикаÑиÑ
Ðобавление поддеÑжки ÑиÑÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑÑедÑÑвами GSSAPI (Робби ХаÑвÑд, СÑивен ФÑоÑÑ) §
ÐÐ¾Ð²Ð°Ñ ÑÑнкÑионалÑноÑÑÑ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ ÑиÑÑоваÑÑ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ TCP/IP пÑи иÑполÑзовании аÑÑенÑиÑикаÑии GSSAPI, избавлÑÑ Ð¾Ñ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑи пÑименÑÑÑ Ð¾ÑделÑнÑе ÑÑедÑÑва ÑиÑÑованиÑ, Ñакие как SSL. Рдополнение в
pg_hba.confÐ´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ñ ÑÐ¸Ð¿Ñ Ð·Ð°Ð¿Ð¸Ñейhostgssencиhostnogssenc(подобнÑе ÑÑÑеÑÑвовавÑим Ñанее Ñипамhostsslиhostnossl), позволÑÑÑие вÑбÑаÑÑ ÑоединениÑ, коÑоÑÑе иÑполÑзÑÑÑ Ð»Ð¸Ð±Ð¾ не иÑполÑзÑÑÑ ÑиÑÑование GSSAPI. ÐÑоме Ñого, Ñеализовано новое ÑиÑÑемное пÑедÑÑавление pg_stat_gssapi и в libpq поÑвилÑÑ Ð¿Ð°ÑамеÑÑ gssencmode.РеализаÑÐ¸Ñ Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑа
clientcertвpg_hba.confваÑианÑа пÑовеÑки, ÑооÑвеÑÑÑвÑÐµÑ Ð»Ð¸ Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð±Ð°Ð·Ñ Ð¾Ð±ÑÐµÐ¼Ñ Ð¸Ð¼ÐµÐ½Ð¸ (cn), ÑÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¼Ñ Ð² ÑеÑÑиÑикаÑе полÑзоваÑÐµÐ»Ñ (ÐжÑлиан ÐаÑквоÑÑ, ÐаÑиÑÑ Ð¢Ð¸Ð¼Ð¼ÐµÑ) §ÐÑÑ Ð¿ÑовеÑÐºÑ Ð²ÐºÐ»ÑÑÐ°ÐµÑ Ð·Ð½Ð°Ñение
clientcert=verify-full.ÐозможноÑÑÑ Ð¾Ð±Ð½Ð°ÑÑÐ¶ÐµÐ½Ð¸Ñ Ð°Ð´ÑеÑа ÑеÑвеÑа LDAP в запиÑÑÑ DNS SRV (Ð¢Ð¾Ð¼Ð°Ñ ÐанÑо)
ÐÑо позволÑÐµÑ ÑделаÑÑ Ñказание
ldapserverнеобÑзаÑелÑнÑм. ÐаннÑй ваÑÐ¸Ð°Ð½Ñ Ð¿Ð¾Ð´Ð´ÐµÑживаеÑÑÑ, ÑолÑко еÑли PostgreSQL бÑл ÑобÑан Ñ Ð¸ÑполÑзованием OpenLDAP.
E.50.3.1.7. ÐонÑигÑÑаÑÐ¸Ñ ÑеÑвеÑа
РеализаÑÐ¸Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи вклÑÑаÑÑ/оÑклÑÑаÑÑ ÐºÐ¾Ð½ÑÑолÑнÑе ÑÑÐ¼Ð¼Ñ Ð² клаÑÑеÑе Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ pg_checksums (ÐÐ¸Ñ Ð°ÑÐ»Ñ Ðанк, ÐикаÑÐ»Ñ ÐакÑе) §
ÐÐ»Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑÑÐ¸Ñ Ð¾Ð¿ÐµÑаÑий клаÑÑÐµÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ бÑÑÑ Ð¾ÑÑановлен.
УменÑÑение знаÑÐµÐ½Ð¸Ñ Ð¿Ð°ÑамеÑÑа autovacuum_vacuum_cost_delay по ÑмолÑÐ°Ð½Ð¸Ñ Ð´Ð¾ 2 Ð¼Ñ (Том Ðейн) §
ÐлагодаÑÑ ÑÑÐ¾Ð¼Ñ Ð¾Ð¿ÐµÑаÑии авÑооÑиÑÑки ÑепеÑÑ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð±ÑдÑÑ Ð²ÑполнÑÑÑÑÑ Ð±ÑÑÑÑее.
ÐозможноÑÑÑ ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð´ÑобнÑÑ Ð·Ð½Ð°Ñений vacuum_cost_delay, позволÑÑÑÐ°Ñ Ð·Ð°Ð´Ð°Ð²Ð°ÑÑ Ð·Ð°Ð´ÐµÑÐ¶ÐºÑ Ñ Ð´Ð¾Ð»Ñми миллиÑекÑнд (Том Ðейн) §
ÐозможноÑÑÑ ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð² паÑамеÑÑÐ°Ñ ÑеÑвеÑа инÑеÑвалов вÑемени в микÑоÑекÑÐ½Ð´Ð°Ñ (
us) (Том Ðейн) §ÐопÑÑение пÑиÑÐ²Ð°Ð¸Ð²Ð°Ð½Ð¸Ñ ÑелоÑиÑленнÑм паÑамеÑÑам ÑеÑвеÑа дÑобнÑÑ Ð·Ð½Ð°Ñений (Том Ðейн) §
ÐапÑимеÑ, ÑепеÑÑ Ð´Ð¾Ð¿ÑÑкаеÑÑÑ Ð¿ÑиÑваивание знаÑениÑ
SET work_mem = '30.1GB', Ñ Ð¾ÑÑ Ð¿Ð°ÑамеÑÑwork_memÑвлÑеÑÑÑ ÑелоÑиÑленнÑм. Ð ÑÑом ÑлÑÑае знаÑение бÑÐ´ÐµÑ Ð¾ÐºÑÑглено до Ñелого поÑле пеÑеÑÑÑÑа в единиÑÑ Ð¸Ð·Ð¼ÐµÑÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ паÑамеÑÑа.ÐозможноÑÑÑ ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ ÐµÐ´Ð¸Ð½Ð¸Ñ Ð¸Ð·Ð¼ÐµÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÑеÑвеÑнÑÑ Ð¿Ð°ÑамеÑÑов, имеÑÑÐ¸Ñ Ñип ÑиÑла Ñ Ð¿Ð»Ð°Ð²Ð°ÑÑей ÑоÑкой (Том Ðейн)
Ðобавление ÑеÑвеÑнÑÑ Ð¿Ð°ÑамеÑÑов wal_recycle и wal_init_zero Ð´Ð»Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿ÐµÑеÑабоÑкой Ñайлов WAL (ÐжеÑÑи Ðжелинек) §
ÐÑ Ð¿ÐµÑеÑабоÑки Ñайлов Ð¸Ð¼ÐµÐµÑ ÑмÑÑл оÑказаÑÑÑÑ Ð¿Ñи иÑполÑзовании ÑайловÑÑ ÑиÑÑем, пÑоизводÑÑÐ¸Ñ ÐºÐ¾Ð¿Ð¸Ñование пÑи запиÑи, напÑÐ¸Ð¼ÐµÑ ZFS.
Ðобавление ÑеÑвеÑного паÑамеÑÑа tcp_user_timeout Ð´Ð»Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ñайм-аÑÑом TCP-подклÑÑений (Ð ÑÑ Ñй ÐагаÑÑа) §
ÐозможноÑÑÑ Ð¾Ð³ÑаниÑÐµÐ½Ð¸Ñ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»Ñной и макÑималÑной веÑÑии пÑоÑокола SSL (ÐиÑÐµÑ ÐйзенÑÑаÑÑ) §
ÐÑой Ñели ÑлÑÐ¶Ð°Ñ ÑеÑвеÑнÑе паÑамеÑÑÑ ssl_min_protocol_version и ssl_max_protocol_version.
Ðобавление ÑеÑвеÑного паÑамеÑÑа ssl_library, позволÑÑÑего ÑзнаÑÑ Ð²ÐµÑÑÐ¸Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñеки SSL, коÑоÑÐ°Ñ Ð¸ÑполÑзÑеÑÑÑ ÑеÑвеÑом (ÐиÑÐµÑ ÐйзенÑÑаÑÑ) §
Ðобавление ÑеÑвеÑного паÑамеÑÑа shared_memory_type Ð´Ð»Ñ Ð²ÑбоÑа Ñипа иÑполÑзÑемой обÑей памÑÑи (ÐндÑÐµÑ Ð¤Ñойнд) §
ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ñвно вÑбÑаÑÑ Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð°Ð¼ÑÑÑÑ System V, еÑли ÑÑо ÑÑебÑеÑÑÑ.
E.50.3.2. ÐоÑÐ¾ÐºÐ¾Ð²Ð°Ñ ÑепликаÑÐ¸Ñ Ð¸ воÑÑÑановление
РеализаÑÐ¸Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑÑда паÑамеÑÑов воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ñи пеÑезагÑÑзке конÑигÑÑаÑии (ÐиÑÐµÑ ÐйзенÑÑаÑÑ) §
ÐÑа возможноÑÑÑ ÑаÑпÑоÑÑÑанÑеÑÑÑ Ð½Ð° паÑамеÑÑÑ archive_cleanup_command, promote_trigger_file, recovery_end_command и recovery_min_apply_delay.
ÐозможноÑÑÑ ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñайм-аÑÑа поÑоковой ÑепликаÑии (wal_sender_timeout) Ð´Ð»Ñ Ð¾ÑделÑного ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ (ТакаÑки ЦÑнакава) §
Ранее ÑÑÐ¾Ñ Ñайм-аÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ бÑло задаÑÑ ÑолÑко на ÑÑовне клаÑÑеÑа.
РеализаÑÐ¸Ñ ÑÑнкÑии
pg_promote()Ð´Ð»Ñ Ð¿Ð¾Ð²ÑÑÐµÐ½Ð¸Ñ Ð²ÐµÐ´Ð¾Ð¼Ð¾Ð³Ð¾ ÑеÑвеÑа до ведÑÑего (ÐаÑÑÐµÐ½Ñ ÐлÑбе, ÐикаÑÐ»Ñ ÐакÑе) § §РанÑÑе ÑÑÑ Ð¾Ð¿ÐµÑаÑÐ¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ бÑло вÑполниÑÑ, ÑолÑко воÑполÑзовавÑиÑÑ pg_ctl или Ñоздав ÑÑиггеÑнÑй Ñайл.
РеализаÑÐ¸Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑлоÑов ÑепликаÑии (ÐаÑÐ°Ñ Ð¸ÐºÐ¾ Савада) §
ÐÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð¿ÑедоÑÑавлÑÑÑ ÑÑнкÑии
pg_copy_physical_replication_slot()иpg_copy_logical_replication_slot().ÐÑклÑÑение колиÑеÑÑва пÑоÑеÑÑов max_wal_senders из max_connections (ÐлекÑÐ°Ð½Ð´Ñ ÐÑкÑÑкин) §
Ðобавление Ñвного знаÑениÑ
currentÐ´Ð»Ñ recovery_target_timeline (ÐиÑÐµÑ ÐйзенÑÑаÑÑ) §ÐÑеÑÑвание воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñ Ð¾Ñибкой в ÑлÑÑае повÑÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ñайла ÑоÑÑоÑÐ½Ð¸Ñ Ð´Ð²ÑÑ ÑазнÑÑ ÑÑанзакÑий (ÐикаÑÐ»Ñ ÐакÑе) §
Ранее вÑводилоÑÑ Ð¿ÑедÑпÑеждение и воÑÑÑановление пÑодолжалоÑÑ, в ÑезÑлÑÑаÑе Ñего могли поÑеÑÑÑÑÑÑ ÑÑанзакÑии.
E.50.3.3. СлÑжебнÑе командÑ
Ðобавление пÑÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ REINDEX
CONCURRENTLY, позволÑÑÑего пÑоизвеÑÑи пеÑеиндекÑиÑование, не блокиÑÑÑ Ð·Ð°Ð¿Ð¸ÑÑ (ÐикаÑÐ»Ñ ÐакÑе, ÐндÑÐµÐ°Ñ ÐаÑлÑÑон, ÐиÑÐµÑ ÐйзенÑÑаÑÑ) §Также пеÑеиндекÑиÑование в неблокиÑÑÑÑем Ñежиме можно запÑÑÑиÑÑ, пеÑедав пÑогÑамме reindexdb клÑÑ
--concurrently.РеализаÑÐ¸Ñ Ð¿Ð¾Ð´Ð´ÐµÑжки генеÑиÑÑемÑÑ ÑÑолбÑов (ÐиÑÐµÑ ÐйзенÑÑаÑÑ) §
СодеÑжимое генеÑиÑÑемÑÑ ÑÑолбÑов вÑÑиÑлÑеÑÑÑ Ð²ÑÑажениÑми (в коÑоÑÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ обÑаÑаÑÑÑÑ Ðº дÑÑгим ÑÑолбÑам Ñой же ÑаблиÑÑ), а не задаÑÑÑÑ Ñвно в командаÑ
INSERTилиUPDATE.Ðобавление в
COPY FROMпÑедложениÑWHERE, позволÑÑÑего огÑаниÑиваÑÑ Ð¼Ð½Ð¾Ð¶ÐµÑÑво загÑÑжаемÑÑ ÑÑÑок (СÑÑаÑел ТемеÑген) §РÑезÑлÑÑаÑе поÑвилÑÑ Ð¿ÑоÑÑой ÑпоÑоб ÑилÑÑÑоваÑÑ Ð¿Ð¾ÑÑÑпаÑÑие даннÑе.
СмÑгÑение огÑаниÑений пÑи добавлении знаÑений пеÑеÑиÑÐ»ÐµÐ½Ð¸Ñ (ÐндÑÑ ÐÑнÑÑан, Том Ðейн, Ð¢Ð¾Ð¼Ð°Ñ ÐанÑо) §
Ранее
ALTER TYPE ... ADD VALUEможно бÑло вÑполнÑÑÑ Ð² блоке ÑÑанзакÑии, ÑолÑко еÑли Ñип-пеÑеÑиÑление ÑоздавалÑÑ Ð² Ñой же ÑÑанзакÑии. СейÑÐ°Ñ ÑÑÑ Ð¾Ð¿ÐµÑаÑÐ¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ вÑполниÑÑ Ð¸ позже, в дÑÑгой ÑÑанзакÑии, нелÑÐ·Ñ Ð»Ð¸ÑÑ Ð¾Ð±ÑаÑаÑÑÑÑ Ðº Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð½Ð¾Ð¼Ñ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð¿ÐµÑеÑиÑÐ»ÐµÐ½Ð¸Ñ Ð´Ð¾ ÑикÑаÑии ÑÑой ÑÑанзакÑии.РеализаÑÐ¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´, позволÑÑÑÐ¸Ñ ÑÑÐ°Ð·Ñ Ð¿Ð¾Ñле завеÑÑÐµÐ½Ð¸Ñ ÑÑанзакÑии наÑаÑÑ Ð½Ð¾Ð²ÑÑ (ÐиÑÐµÑ ÐйзенÑÑаÑÑ)
ÐÐ»Ñ Ð¾ÑганизаÑии ÑепоÑки ÑÑанзакÑий пÑедназнаÑÐµÐ½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ
COMMIT AND CHAINиROLLBACK AND CHAIN.Ðобавление Ð´Ð»Ñ VACUUM и
CREATE TABLEпаÑамеÑÑов, позволÑÑÑÐ¸Ñ Ð¿ÑедоÑвÑаÑиÑÑ Ð¾ÑÑеÑение поÑÐ»ÐµÐ´Ð½Ð¸Ñ Ð¿ÑÑÑÑÑ ÑÑÑÐ°Ð½Ð¸Ñ Ð² пÑоÑеÑÑеVACUUM(ТакаÑки ЦÑнакава) § §ÐÑи паÑамеÑÑÑ Ð½Ð°Ð·ÑваÑÑÑÑ
vacuum_truncateиtoast.vacuum_truncate. ÐÑполÑзÑÑ Ð¸Ñ , можно оÑклÑÑиÑÑ Ð¾ÑÑеÑение, в ÑезÑлÑÑаÑе ÑегоVACUUMне поÑÑебÑÐµÑ Ð±Ð¾Ð»ÐµÐµ ÑилÑной блокиÑовки, но оÑвободивÑееÑÑ Ð¿ÑоÑÑÑанÑÑво не бÑÐ´ÐµÑ Ð²Ð¾Ð·Ð²ÑаÑено опеÑаÑионной ÑиÑÑеме.РеализаÑÐ¸Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи пÑопÑÑкаÑÑ Ð¾ÑиÑÑÐºÑ Ð¸Ð½Ð´ÐµÐºÑа в пÑоÑеÑÑе
VACUUM(ÐаÑÐ°Ñ Ð¸ÐºÐ¾ Савада) § §РÑелÑÑ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾ÑиÑÑкой индекÑа бÑл добавлен паÑамеÑÑ
INDEX_CLEANUPÐ´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´ÑVACUUM, а Ñакже паÑамеÑÑ Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ ÑаблиÑvacuum_index_cleanup. ÐÑклÑÑение оÑиÑÑки индекÑов помеÑÐ°ÐµÑ Ð¾Ð¿ÑимизиÑоваÑÑ Ð·Ð°Ð½Ð¸Ð¼Ð°ÐµÐ¼Ð¾Ðµ ими пÑоÑÑÑанÑÑво, ÑÑо ÑÑеваÑо ÑаздÑванием индекÑов, но Ð¼Ð¾Ð¶ÐµÑ Ð¸Ð¼ÐµÑÑ ÑмÑÑл, когда в пеÑвÑÑ Ð¾ÑеÑÐµÐ´Ñ ÑÑебÑеÑÑÑ Ð·Ð°Ð¼Ð¾ÑозиÑÑ ÑÑаÑÑе коÑÑежи.Ðобавление возможноÑÑи пÑопÑÑкаÑÑ Ð¾Ð¿ÐµÑаÑии
VACUUMиANALYZEÐ´Ð»Ñ ÑаблиÑ, коÑоÑÑе не ÑдаÑÑÑÑ Ð·Ð°Ð±Ð»Ð¾ÐºÐ¸ÑоваÑÑ Ð½ÐµÐ¼ÐµÐ´Ð»ÐµÐ½Ð½Ð¾ (ÐаÑан ÐоÑÑаÑÑ) §ÐÑедназнаÑенное Ð´Ð»Ñ ÑÑого новое Ñказание назÑваеÑÑÑ
SKIP_LOCKED.РеализаÑÐ¸Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи задаваÑÑ Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑов
VACUUMиANALYZEнеобÑзаÑелÑнÑе логиÑеÑкие знаÑÐµÐ½Ð¸Ñ (ÐаÑÐ°Ñ Ð¸ÐºÐ¾ Савада) §УÑÑÑанение ÑÑÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ð±Ð»Ð¾ÐºÐ¸Ñовки командами TRUNCATE,
VACUUMиANALYZEÐ´Ð»Ñ ÑаблиÑ, к коÑоÑÑм полÑзоваÑÐµÐ»Ñ Ð½Ðµ Ð¸Ð¼ÐµÐµÑ Ð´Ð¾ÑÑÑпа (ÐикаÑÐ»Ñ ÐакÑе) § §Тем ÑамÑм иÑклÑÑаÑÑÑÑ ÑиÑÑаÑии, когда не имеÑÑий пÑав полÑзоваÑÐµÐ»Ñ Ð¼Ð¾Ð³ меÑаÑÑ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿ÑоÑов дÑÑÐ³Ð¸Ñ Ð¿Ð¾Ð»ÑзоваÑелей.
Ðобавление Ð´Ð»Ñ EXPLAIN ÑказаниÑ
SETTINGS, позволÑÑÑего ÑвидеÑÑ Ð½ÐµÑÑандаÑÑнÑе знаÑÐµÐ½Ð¸Ñ Ð¿Ð°ÑамеÑÑов опÑимизаÑоÑа (Ð¢Ð¾Ð¼Ð°Ñ ÐондÑа) §ÐÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ñакже Ð¼Ð¾Ð¶ÐµÑ Ð²ÑдаваÑÑ Ð¼Ð¾Ð´ÑÐ»Ñ auto_explain; Ð´Ð»Ñ ÑÑого в нÑм пÑедÑÑмоÑÑен паÑамеÑÑ
auto_explain.log_settings.РеализаÑÐ¸Ñ ÑказаниÑ
OR REPLACEÐ´Ð»Ñ CREATE AGGREGATE (ÐндÑÑ ÐиÑÑ) §ÐозможноÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑвойÑÑв ÑиÑÑемнÑÑ ÐºÐ°Ñалогов Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ALTER TABLE (ÐиÑÐµÑ ÐйзенÑÑаÑÑ) §
ТепеÑÑ Ð¿Ð¾Ð´Ð´ÐµÑживаеÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ðµ паÑамеÑÑов
reloptionsи авÑооÑиÑÑки Ð´Ð»Ñ ÑÑÐ¸Ñ ÐºÐ°Ñалогов. (ÐÑо в лÑбом ÑлÑÑае ÑÑебÑÐµÑ Ð²ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ñежима allow_system_table_mods.)ÐÑполÑзование имÑн вÑÐµÑ ÐºÐ»ÑÑевÑÑ ÑÑолбÑов пÑи ÑоÑмиÑовании авÑомаÑиÑеÑкого имени огÑаниÑÐµÐ½Ð¸Ñ Ð²Ð½ÐµÑнего клÑÑа (ÐиÑÐµÑ ÐйзенÑÑаÑÑ) §
Ранее в имени огÑаниÑÐµÐ½Ð¸Ñ Ð¸ÑполÑзовалоÑÑ Ð¸Ð¼Ñ ÑолÑко пеÑвого ÑÑолбÑа, ÑÑо поÑождало неоднознаÑноÑÑÑ Ð¿Ñи Ñоздании внеÑÐ½Ð¸Ñ ÐºÐ»ÑÑей, вклÑÑаÑÑÐ¸Ñ Ð½ÐµÑколÑко ÑÑолбÑов.
E.50.3.4. Ð¢Ð¸Ð¿Ñ Ð´Ð°Ð½Ð½ÑÑ
ÐÑиведение ÑазнообÑазнÑÑ Ð¿ÑедÑÑавлений о Unicode в ÑооÑвеÑÑÑвие Ñо ÑÑандаÑÑом Unicode 12.1.0 (ÐиÑÐµÑ ÐйзенÑÑаÑÑ) § §
Ð ÑаÑÑноÑÑи, ÑÑо ÑпоÑобÑÑвовало ÑеÑÐµÐ½Ð¸Ñ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð½ÐµÐºÐ¾ÑÑекÑного ÑоÑмаÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð²Ñвода Ñ ÑоÑÑавнÑми Ñимволами в psql.
Ðбновление ÑловаÑей ÑÑеммеÑа Snowball, вклÑÑаÑÑее добавление поддеÑжки новÑÑ ÑзÑков (ÐÑÑÑÑ ÐакиÑов) §
ÐлагодаÑÑ ÑÑÐ¾Ð¼Ñ Ð¿Ð¾ÑвилаÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð¸ÑполÑзоваÑÑ Ð¿Ñи полноÑекÑÑовом поиÑке ÑÑÐµÐ¼Ð¼ÐµÑ Ð´Ð»Ñ Ð°ÑабÑкого, индонезийÑкого, иÑландÑкого, непалÑÑкого и ÑамилÑÑкого ÑзÑков.
ÐозможноÑÑÑ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ñавил ÑоÑÑиÑовки, позволÑÑÑÐ¸Ñ ÑÑиÑаÑÑ ÑавнÑми ÑÑÑоки, коÑоÑÑе не ÑÐ°Ð²Ð½Ñ Ð¿Ð¾Ð±Ð¸Ñово (ÐиÑÐµÑ ÐйзенÑÑаÑÑ) §
Таким обÑазом Ñеализована поддеÑжка «недеÑеÑминиÑованнÑÑ Â» пÑавил ÑоÑÑиÑовки, коÑоÑÑе могÑÑ Ð¾Ð¿ÑеделÑÑÑ ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ð±ÐµÐ· ÑÑÑÑа ÑегиÑÑÑа или знаков ÑдаÑениÑ. ÐлагодаÑÑ ÑÑÐ¾Ð¼Ñ Ð¿ÑовеÑка огÑаниÑÐµÐ½Ð¸Ñ ÑникалÑноÑÑи ÑекÑÑового ÑÑолбÑа без ÑÑÑÑа ÑегиÑÑÑа Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿ÑоÑе, Ñем ÑанÑÑе. Ðднако ÑÑо поддеÑживаÑÑ ÑолÑко пÑавила ÑоÑÑиÑовки ICU.
ÐоддеÑжка аÑÑибÑÑов Ð´Ð»Ñ Ð¿Ñавил ÑоÑÑиÑовки ICU Ñо ÑÑаÑÑми веÑÑиÑми ICU (ÐиÑÐµÑ ÐйзенÑÑаÑÑ) §
ÐÑÑибÑÑÑ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÑÑ Ð½Ð°ÑÑÑаиваÑÑ Ð¿Ñавила ÑоÑÑиÑовки Ñак, ÑÑÐ¾Ð±Ñ Ð¾Ð½Ð¸ ÑабоÑали одинаково Ñо вÑеми веÑÑиÑми ICU.
ÐозможноÑÑÑ Ð±Ð¾Ð»ÐµÐµ пÑозÑаÑного ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ñипа даннÑÑ name Ñ Ð´ÑÑгими Ñипами (Том Ðейн) §
Тип
nameÑепеÑÑ Ð¿Ð¾Ð´Ð¾Ð±ÐµÐ½ Ð´Ð¾Ð¼ÐµÐ½Ñ Ð¿Ð¾Ð²ÐµÑÑ ÑипаtextÑ Ð¿Ñавилом ÑоÑÑиÑовки «C». ÐÑо позволÑÐµÑ Ð²ÑполнÑÑÑ Ð¼ÐµÐ¶ÑиповÑе ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ð±Ð¾Ð»ÐµÐµ ÑÑÑекÑивно.
E.50.3.5. ФÑнкÑии
РеализаÑÐ¸Ñ Ð¿Ð¾Ð´Ð´ÐµÑжки ÑзÑка пÑÑей SQL/JSON (ÐикиÑа ÐлÑÑ Ð¾Ð², ФÑÐ´Ð¾Ñ Ð¡Ð¸Ð³Ð°ÐµÐ², ÐлекÑÐ°Ð½Ð´Ñ ÐоÑоÑков, Ðлег ÐаÑÑÑнов, ÐÑдмила ÐанÑÑова) § § §
ТепеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ вÑполнÑÑÑ ÑложнÑе запÑоÑÑ Ðº даннÑм
JSON, иÑполÑзÑÑ ÑзÑк ÑÑандаÑÑа SQL.Ðобавление поддеÑжки гипеÑболиÑеÑÐºÐ¸Ñ ÑÑнкÑий (ÐеÑиÑÐ¸Ñ ÐвÑо) §
ÐÑоме Ñого, Ð´Ð»Ñ ÑооÑвеÑÑÑÐ²Ð¸Ñ ÑÑандаÑÑам ÑÑнкÑиÑ
log()дополниÑелÑно полÑÑила алÑÑеÑнаÑивное имÑlog10().УлÑÑÑена ÑоÑноÑÑÑ ÑÑаÑиÑеÑÐºÐ¸Ñ Ð°Ð³ÑегаÑнÑÑ ÑÑнкÑий, напÑимеÑ
variance(), благодаÑÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð±Ð¾Ð»ÐµÐµ ÑоÑнÑÑ Ð°Ð»Ð³Ð¾ÑиÑмов (Ðин РаÑид) §Ðобавление длÑ
date_trunc()необÑзаÑелÑного аÑгÑменÑа, задаÑÑего ÑаÑовой поÑÑ (Ðик ФиÑинг, Том Ðейн) §ÐÐ¾Ð²Ð°Ñ ÑоÑма ÑÑнкÑии бÑÑÑÑее и пÑоÑе в иÑполÑзовании, Ñем пÑедложение
AT TIME ZONE.Ðзменение Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ ÑÑнкÑий
to_timestamp()/to_date()на более гибкое в ÑлÑÑае неÑооÑвеÑÑÑÐ²Ð¸Ñ ÑÑÑоки ÑÐ°Ð±Ð»Ð¾Ð½Ñ (ÐÑÑÑÑ ÐакиÑов, ÐлекÑÐ°Ð½Ð´Ñ ÐоÑоÑков, ÐÑдмила ÐанÑÑова) §Ðовое поведение в болÑÑей ÑÑепени ÑооÑвеÑÑÑвÑÐµÑ Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾Ð´Ð½Ð¾Ð¸Ð¼ÑннÑÑ ÑÑнкÑий в Oracle.
ÐÑпÑавление ÑазнообÑазнÑÑ Ð¾Ñибок в XML-ÑÑнкÑиÑÑ (Ðавел СÑÐµÑ Ñле, ÐаÑкÑÑ Ðинанд, Чепмен ФлÑк)
Ð ÑаÑÑноÑÑи, в ÑÑнкÑиÑÑ
xpath(),xmlexists()иXMLTABLEÑÑÑÑÐ°Ð½ÐµÐ½Ñ Ð°Ð½Ð¾Ð¼Ð°Ð»Ð¸Ð¸, когда в каÑеÑÑве Ñзла не вÑводилоÑÑ Ð½Ð¸Ñего, вÑдавалаÑÑ Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ð°Ñ Ð¾Ñибка или пÑопÑÑкалиÑÑ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñе ÑпеÑиалÑнÑе ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ XML.ÐоддеÑжка ÑказаниÑ
BY VALUEв конÑÑÑÑкÑиÑÑXMLEXISTSиXMLTABLE(Чепмен ФлÑк) §ÐÑо опиÑанное в ÑÑандаÑÑе SQL Ñказание не игÑÐ°ÐµÑ Ð½Ð¸ÐºÐ°ÐºÐ¾Ð¹ Ñоли в ÑеализаÑии PostgreSQL, но Ñанее оно безоÑноваÑелÑно не пÑинималоÑÑ.
ÐедопÑÑение вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ð°ÑаллелÑнÑми иÑполниÑелÑми ÑÑнкÑий
current_schema()иcurrent_schemas(), не ÑвлÑÑÑÐ¸Ñ ÑÑ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑнÑми Ð´Ð»Ñ ÑаÑпаÑÐ°Ð»Ð»ÐµÐ»Ð¸Ð²Ð°Ð½Ð¸Ñ (ÐикаÑÐ»Ñ ÐакÑе) §ÐозможноÑÑÑ Ð¸ÑполÑзованиÑ
RECORDиRECORD[]в каÑеÑÑве Ñипов ÑÑолбÑов в ÑпиÑке опÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÑÑолбÑов запÑоÑа Ð´Ð»Ñ ÑаблиÑной ÑÑнкÑии, обÑÑвленной как возвÑаÑаÑÑаÑRECORD(ÐÐ»Ð²Ð¸Ñ ÐÑанÑкевиÑÑÑ) §
E.50.3.6. PL/pgSQL
РазÑеÑение конÑликÑа имÑн пеÑеменнÑÑ Ñ Ð¸Ð¼ÐµÐ½Ð°Ð¼Ð¸ SQL-команд пÑи попÑÑке иÑполÑзованиÑÑ ÑÑÐ¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´ в ÑÑнкÑии PL/pgSQL (Том Ðейн) §
ÐапÑимеÑ, ÑепеÑÑ Ð¿ÐµÑеменнаÑ
commentÐ¼Ð¾Ð¶ÐµÑ ÑоÑÑÑеÑÑвоваÑÑ Ð² ÑÑнкÑии Ñ Ð²Ñзовом SQL-командÑCOMMENTSQL. Ранее подобное ÑоÑеÑание вÑзÑвало оÑÐ¸Ð±ÐºÑ ÑазбоÑа.Ðобавление в PL/pgSQL новÑÑ Ð¾ÑклÑÑаемÑÑ Ð¿ÑовеÑок оÑибок и пÑедÑпÑеждений (Ðавел СÑÐµÑ Ñле)
ÐовÑе пÑовеÑки позволÑÑÑ ÐºÐ¾Ð½ÑÑолиÑоваÑÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво ÑÑолбÑов и оÑÑÑÑÑÑвие лиÑÐ½Ð¸Ñ ÑÑÑок в ÑезÑлÑÑаÑе
INTO.
E.50.3.7. ÐлиенÑÑкие инÑеÑÑейÑÑ
Ðобавление паÑамеÑÑа ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ tcp_user_timeout Ð´Ð»Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ñайм-аÑÑом TCP-подклÑÑений Ñо ÑÑоÑÐ¾Ð½Ñ libpq (Ð ÑÑ Ñй ÐагаÑÑа) §
ÐозможноÑÑÑ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð² ÑообÑениÑÑ Ð¾Ð± оÑÐ¸Ð±ÐºÐ°Ñ , коÑоÑÑе вÑдаÑÑ libpq (а знаÑиÑ, и psql), ÑолÑко знаÑений
SQLSTATE(ÐидÑе ÐоÑÑон) §Ðобавление в libpq ÑÑнкÑии
PQresultMemorySize(), позволÑÑÑей ÑзнаÑÑ, какой обÑÑм занÑл ÑезÑлÑÑÐ°Ñ Ð·Ð°Ð¿ÑоÑа в памÑÑи (ÐаÑÑ ÐаниÑ, Том Ðейн) §Удаление Ñлага оÑладоÑной инÑоÑмаÑии из опиÑÐ°Ð½Ð¸Ñ Ð¿Ð°ÑамеÑÑа подклÑÑениÑ
optionsв libpq (ÐиÑÐµÑ ÐйзенÑÑаÑÑ) §ÐлагодаÑÑ ÑÑÐ¾Ð¼Ñ postgres_fdw ÑепеÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑ Ð´Ð°Ð½Ð½Ñй паÑамеÑÑ.
ÐозможноÑÑÑ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð² ecpg пеÑеменнÑÑ Ñипа даннÑÑ
bytea(Ð Ñ ÐаÑÑмÑÑа) §ТепеÑÑ ÐºÐ»Ð¸ÐµÐ½ÑÑ ECPG могÑÑ ÑабоÑаÑÑ Ñ Ð´Ð°Ð½Ð½Ñми
byteaнепоÑÑедÑÑвенно, без пÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² ÑекÑÑовое пÑедÑÑавление.РеализаÑÐ¸Ñ Ð¿Ð¾Ð´Ð´ÐµÑжки
PREPARE ASв ECPG (Ð Ñ ÐаÑÑмÑÑа) §
E.50.3.8. ÐлиенÑÑкие пÑиложениÑ
РеализаÑÐ¸Ñ Ð² vacuumdb возможноÑÑи оÑбиÑаÑÑ ÑаблиÑÑ Ð¿Ð¾ гоÑизонÑÑ Ð²Ð¸Ð´Ð¸Ð¼Ð¾ÑÑи (ÐаÑан ÐоÑÑаÑÑ) §
ÐадаÑÑ Ð³Ð¾ÑÐ¸Ð·Ð¾Ð½Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÑÑ Ð¿Ð°ÑамеÑÑÑ
--min-xid-ageи--min-mxid-age.РеализаÑÐ¸Ñ Ð² vacuumdb возможноÑÑи иÑклÑÑиÑÑ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ðµ блокиÑовок или не допÑÑÑиÑÑ Ð¿ÑопÑÑка полноÑÑÑÑ Ð²Ð¸Ð´Ð¸Ð¼ÑÑ ÑÑÑÐ°Ð½Ð¸Ñ (ÐаÑан ÐоÑÑаÑÑ) §
ÐÐ»Ñ ÑÑого пÑедназнаÑÐµÐ½Ñ Ð¿Ð°ÑамеÑÑÑ
--skip-lockedи--disable-page-skipping, ÑооÑвеÑÑÑвенно.Ðобавление ÑвеÑового оÑоÑÐ¼Ð»ÐµÐ½Ð¸Ñ Ð²Ñвода ÑÑÐ¸Ð»Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¹ ÑÑÑоки (ÐиÑÐµÑ ÐйзенÑÑаÑÑ) §
ÐÑвод ÑÑановиÑÑÑ ÑвеÑнÑм, когда пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¾ÐºÑÑжениÑ
PG_COLORÐ¸Ð¼ÐµÐµÑ Ð·Ð½Ð°Ñениеalwaysилиauto. УÑÑановиÑÑ Ð¾Ð¿ÑеделÑннÑе ÑвеÑа Ð´Ð»Ñ ÑазлиÑнÑÑ Ñипов инÑоÑмаÑии можно, воÑполÑзовавÑиÑÑ Ð¿ÐµÑеменной окÑÑжениÑPG_COLORS, в коÑоÑой задаÑÑÑÑ ÑвеÑовÑе ÑпеÑÐºÐ¾Ð´Ñ ANSI. ÐапÑимеÑ, ÑвеÑовое оÑоÑмление по ÑмолÑÐ°Ð½Ð¸Ñ Ð²ÑÑажаеÑÑÑ Ð·Ð½Ð°ÑениемPG_COLORS="error=01;31:warning=01;35:locus=01".
E.50.3.8.1. psql
Ðобавление в psql Ñежима вÑвода ÑÐ°Ð±Ð»Ð¸Ñ Ð² ÑоÑмаÑе CSV (ÐаниÑÐ»Ñ ÐеÑиÑе) §
ÐÑÐ¾Ñ Ñежим вклÑÑаеÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹
\pset format csvили аÑгÑменÑом командной ÑÑÑоки--csv.ÐÑобÑажение адÑеÑа ÑооÑвеÑÑÑвÑÑÑей ÑÑÑаниÑÑ Ð´Ð¾ÐºÑменÑаÑии в вÑводе psql
\helpÐ´Ð»Ñ SQL-ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ (ÐиÑÐµÑ ÐйзенÑÑаÑÑ) §ÐÑобÑажение IP-адÑеÑа в вÑводе psql
\conninfo(ФабÑен ÐоÑлÑо) § §УлÑÑÑение Ð´Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑабÑлÑÑией Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´
CREATE TABLE,CREATE TRIGGER,CREATE EVENT TRIGGER,ANALYZE,EXPLAIN,VACUUM,ALTER TABLE,ALTER INDEX,ALTER DATABASEиALTER INDEX ALTER COLUMN(ÐагÑинн ÐлÑмаÑи ÐаннÑакеÑ, ТаÑÑÑо Ямада, ÐикаÑÐ»Ñ ÐакÑе, Том Ðейн, ÐжаÑÑин ÐÑизби) § § § § § § § § §
E.50.3.8.2. pgbench
РеализаÑÐ¸Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи пÑиÑваиваÑÑ Ð²ÑдаваемÑе запÑоÑами знаÑÐµÐ½Ð¸Ñ Ð¿ÐµÑеменнÑм pgbench (ФабÑен ÐоÑлÑо, ÐлÑваÑо ÐÑÑеÑа) § §
ÐÐ»Ñ ÑÑого пÑедназнаÑена команда
\gset.УвелиÑение ÑоÑноÑÑи паÑамеÑÑа pgbench
--rate(Том Ðейн) §УлÑÑÑение инÑоÑмаÑивноÑÑи оÑибок, вÑдаваемÑÑ Ð¿ÑогÑаммой pgbench, в ÑаÑÑноÑÑи, иÑпÑавление ÑекÑÑа ÑообÑений и кодов вÑÑ Ð¾Ð´Ð° (ÐиÑÐµÑ ÐйзенÑÑаÑÑ) §
E.50.3.9. СеÑвеÑнÑе пÑиложениÑ
РеализаÑÐ¸Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи пÑокÑÑÑки Ñайла жÑÑнала Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ pg_ctl (ÐÑÑаÑо ХоÑигÑÑи, ÐлекÑÐ°Ð½Ð´Ñ ÐÑзÑменков, ÐлекÑанд ÐоÑоÑков) §
Ранее ÑÑÑ Ð¾Ð¿ÐµÑаÑÐ¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ бÑло вÑполниÑÑ ÑолÑко оÑпÑавив Ñигнал пÑоÑеÑÑÑ Ð¸Ð»Ð¸ вÑзвав SQL-ÑÑнкÑиÑ.
ÐÑÑоединение запÑÑкаемого ÑеÑвеÑного пÑоÑеÑÑа пÑи вÑполнении
pg_ctl start(Ðол ÐÑо)ÐÑо пÑедоÑвÑаÑÐ°ÐµÑ Ð¾ÑклÑÑение ÑеÑвеÑа в ÑлÑÑае поÑледÑÑÑего пÑеÑÑÐ²Ð°Ð½Ð¸Ñ ÑкÑипÑа оболоÑки, в коÑоÑом вÑзÑвалаÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° pg_ctl.
ÐозможноÑÑÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² pg_upgrade ÑÑнкÑионалÑноÑÑи клониÑованиÑ, еÑли ÑÐ°ÐºÐ¾Ð²Ð°Ñ Ð¿ÑедоÑÑавлÑеÑÑÑ Ñайловой ÑиÑÑемой (ÐиÑÐµÑ ÐйзенÑÑаÑÑ) §
ÐовÑй паÑамеÑÑ
--cloneдаÑÑ Ñе же пÑеимÑÑеÑÑва, ÑÑо и--link, но позволÑÐµÑ ÑÐ¾Ñ ÑаниÑÑ ÑÑаÑÑй клаÑÑÐµÑ Ð² иÑÑ Ð¾Ð´Ð½Ð¾Ð¼ ÑоÑÑоÑнии поÑле запÑÑка нового.РеализаÑÐ¸Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи пеÑедаÑÑ pg_upgrade пÑÑÑ ÐºÐ°Ñалога ÑокеÑа (ÐаниÑÐ»Ñ ÐÑÑÑаÑÑÑон) §
ÐÑÐ¾Ñ ÐºÐ°Ñалог задаÑÑÑÑ Ð¿Ð°ÑамеÑÑом
--socketdir; по ÑмолÑÐ°Ð½Ð¸Ñ Ð¿Ð¾Ð´ÑазÑмеваеÑÑÑ ÑекÑÑий каÑалог.ÐозможноÑÑÑ Ð¾ÑклÑÑиÑÑ Ð² pg_checksums ÑÐ¸Ð½Ñ ÑонизаÑÐ¸Ñ Ñ Ð¤Ð¡ (ÐикаÑÐ»Ñ ÐакÑе) §
ÐÐ»Ñ ÑÑого пÑедназнаÑен паÑамеÑÑ
--no-sync.ÐозможноÑÑÑ Ð¾ÑклÑÑиÑÑ Ð² pg_rewind ÑÐ¸Ð½Ñ ÑонизаÑÐ¸Ñ Ñ Ð¤Ð¡ (ÐикаÑÐ»Ñ ÐакÑе) §
ÐÑпÑавление в pg_test_fsync измеÑÐµÐ½Ð¸Ñ Ð´Ð»Ð¸ÑелÑноÑÑи
open_datasyncв Windows (ÐаÑÑÐµÐ½Ñ ÐлÑбе) § §
E.50.3.9.1. pg_dump, pg_dumpall, pg_restore
ÐозможноÑÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð² вÑводе pg_dump неÑколÑÐºÐ¸Ñ ÑÑÑок даннÑÑ Ð² одной команде
INSERT, когда ÑÑи ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¸ÑполÑзÑÑÑÑÑ Ð²Ð¼ÐµÑÑоCOPY(СÑÑаÑел ТемеÑген, ÐÑвид РоÑли) § §ÐолиÑеÑÑво ÑÑÑок задаÑÑÑÑ Ð¿Ð°ÑамеÑÑом
--rows-per-insert.ÐозможноÑÑÑ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð² вÑводе pg_dump команд
INSERT ... ON CONFLICT DO NOTHING(СÑÑаÑел ТемеÑген) Â§Ð¢Ð°ÐºÐ°Ñ Ð²Ð°ÑиаÑÐ¸Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ ÐºÐ¾Ð½ÑликÑов пÑи воÑÑÑановлении; она вклÑÑаеÑÑÑ Ð¿Ð°ÑамеÑÑом
--on-conflict-do-nothing.ÐÑделение поÑÑдка опеÑаÑий в паÑаллелÑном Ñежиме pg_dump Ð¾Ñ Ð¿Ð¾ÑÑдка, в коÑоÑом пÑÐ¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ Ð¿Ð°ÑаллелÑное воÑÑÑановление pg_restore (Том Ðейн) §
ÐÑо Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ pg_restore доÑÑигаÑÑ Ð±Ð¾Ð»ÑÑей ÑÑепени ÑаÑпаÑаллеливаниÑ, оÑобенно в ÑлÑÑÐ°Ñ , когда даннÑе вÑгÑÑжалиÑÑ Ð½Ðµ в паÑаллелÑном Ñежиме. ÐланиÑование заданий в паÑаллелÑном Ñежиме pg_dump Ñакже бÑло ÑлÑÑÑено.
ÐозможноÑÑÑ ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¿Ð°ÑамеÑÑа extra_float_digits Ð´Ð»Ñ Ð¿ÑогÑамм pg_dump и pg_dumpall (ÐндÑÑ ÐÑнÑÑан) §
ÐÑежде вÑего она полезна, когда Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ полÑÑиÑÑ Ð¿ÑигоднÑе Ð´Ð»Ñ ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ð´Ð°Ð¼Ð¿Ñ Ñ ÑеÑвеÑов ÑазнÑÑ Ð²ÐµÑÑий. ÐÑли же Ñакой Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑи неÑ, иÑполÑзоваÑÑ Ð´Ð°Ð½Ð½Ñй паÑамеÑÑ Ð½Ðµ ÑледÑеÑ, ÑÑÐ¾Ð±Ñ Ð½Ðµ поÑеÑÑÑÑ ÑоÑноÑÑÑ Ð¿Ñи воÑÑÑановлении даннÑÑ .
Ðобавление в pg_dumpall паÑамеÑÑа
--exclude-database(ÐндÑÑ ÐÑнÑÑан) §
E.50.3.10. ÐÑÑ Ð¾Ð´Ð½Ñй код
Ðобавление ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ CREATE ACCESS METHOD Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð½Ð¾Ð²ÑÑ Ñипов ÑÐ°Ð±Ð»Ð¸Ñ (ÐндÑÐµÑ Ð¤Ñойнд, ХаÑÐ¸Ð±Ð°Ð±Ñ Ðомми, ÐлÑваÑо ÐÑÑеÑа, ÐлекÑÐ°Ð½Ð´Ñ ÐоÑоÑков, ÐмиÑÑий Ðолгов) § § § § § § § § §
ÐÑо позволÑÐµÑ ÑазÑабаÑÑваÑÑ Ð½Ð¾Ð²Ñе ÑаблиÑнÑе меÑÐ¾Ð´Ñ Ð´Ð¾ÑÑÑпа Ñ ÑелÑÑ Ð¾Ð¿ÑимизаÑии Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ Ð´Ð»Ñ ÑазлиÑнÑÑ ÑÑенаÑиев иÑполÑзованиÑ. СÑÑеÑÑвÑÑÑий меÑод доÑÑÑпа
heapоÑÑаÑÑÑÑ Ð¼ÐµÑодом по ÑмолÑаниÑ.Ðобавление инÑеÑÑейÑов Ð´Ð»Ñ Ð²ÑпомогаÑелÑнÑÑ ÑÑнкÑий планиÑовÑика, позволÑÑÑÐ¸Ñ ÑлÑÑÑиÑÑ Ð¾Ñенки опÑимизаÑоÑа, иÑполÑзование в индекÑÐ°Ñ Ð¸ вÑÑÑаивание ÑÑнкÑий (Том Ðейн) § § §
ÐÑо позволÑÐµÑ ÑоздаваÑÑ Ð² ÑаÑÑиÑениÑÑ Ð²ÑпомогаÑелÑнÑе ÑÑнкÑии Ð´Ð»Ñ Ð¿Ð»Ð°Ð½Ð¸ÑовÑика, коÑоÑÑе могÑÑ Ð²ÑÑиÑлÑÑÑ Ð¸Ð·Ð±Ð¸ÑаÑелÑноÑÑÑ, ÑÑоимоÑÑÑ Ð¸ оÑÐµÐ½ÐºÑ ÐºÐ¾Ð»Ð¸ÑеÑÑва ÑÑÑок Ð´Ð»Ñ Ð¾Ð¿ÑеделÑнной ÑÑнкÑии в завиÑимоÑÑи Ð¾Ñ ÐµÑ Ð°ÑгÑменÑов. ÐÑпомогаÑелÑнÑе ÑÑнкÑии Ñакже могÑÑ Ð²ÑдаваÑÑ ÑпÑоÑÑнное пÑедÑÑавление вÑзова и ÑÑÐ»Ð¾Ð²Ð¸Ñ Ð¸Ð½Ð´ÐµÐºÑа, ÑÑо знаÑиÑелÑно ÑаÑÑиÑÑÐµÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи опÑимизаÑии.
УпÑоÑение пеÑенÑмеÑаÑии знаÑений OID, назнаÑаемÑÑ Ð²ÑÑÑнÑÑ, и пÑинÑÑие в ÑÐ°Ð¼ÐºÐ°Ñ Ð¿ÑоекÑа новой полиÑики ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ñакими OID (John Naylor, Tom Lane) § §
Ð ÑазÑабаÑÑваемÑÑ Ð¼Ð¾Ð´Ð¸ÑикаÑиÑÑ ÐºÐ¾Ð´Ð°, ÑÑебÑÑÑÐ¸Ñ Ð½Ð°Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ OID Ð´Ð»Ñ Ð½Ð¾Ð²ÑÑ Ð²ÑÑÑоеннÑÑ Ð¾Ð±ÑекÑов (напÑимеÑ, новÑÑ ÑÑнкÑий), ÑÑи знаÑÐµÐ½Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð²ÑбиÑаÑÑÑÑ ÑлÑÑайнÑм обÑазом в диапазоне 8000â9999. РконÑе Ñикла ÑазÑабоÑки и пеÑед пÑинÑÑием ÑÑÐ¸Ñ Ð¼Ð¾Ð´Ð¸ÑикаÑий иÑполÑзованнÑе в Ð½Ð¸Ñ OID пеÑенÑмеÑÑÑÑÑÑ Ð¸ полÑÑаÑÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð² нижнем диапазоне, в наÑÑоÑÑее вÑÐµÐ¼Ñ 4
xxx, Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð½Ð¾Ð²Ð¾Ð³Ð¾ ÑкÑипÑаrenumber_oids.pl. ÐÑÐ¾Ñ Ð¿Ð¾Ð´Ñ Ð¾Ð´ знаÑиÑелÑно ÑменÑÑÐ°ÐµÑ Ð²ÐµÑоÑÑноÑÑÑ ÐºÐ¾Ð½ÑликÑов OID Ð¼ÐµÐ¶Ð´Ñ Ð¿Ð°ÑаллелÑно ÑазÑабаÑÑваемÑми модиÑикаÑиÑми кода.ХоÑÑ ÑпеÑиалÑнÑÑ ÑоглаÑений о ÑезеÑвиÑовании диапазона OID Ð´Ð»Ñ Ð²Ð½ÐµÑнего иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½ÐµÑ, в пÑоизводнÑÑ Ð¸ дÑÑÐ³Ð¸Ñ Ð¿ÑоекÑÐ°Ñ ÑекомендÑеÑÑÑ Ð²ÑбиÑаÑÑ Ð²ÑÑÑнÑÑ Ð½Ð°Ð·Ð½Ð°ÑаемÑе OID в веÑÑ Ð½ÐµÐ¹ ÑаÑÑи диапазона 7
xxx. ÐÑо Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ ÐºÐ¾Ð½ÑликÑов Ñ Ð¿ÑинимаемÑми в оÑновной код модиÑикаÑиÑми, Ñак как оÑновной пÑÐ¾ÐµÐºÑ Ð´Ð¾ÑÑÐ¸Ð³Ð½ÐµÑ ÑÑого диапазона оÑÐµÐ½Ñ Ð½ÐµÑкоÑо.СбоÑка иÑполнÑемÑÑ Ñайлов Cygwin Ñ Ð¸ÑполÑзованием динамиÑеÑÐºÐ¸Ñ , а не ÑÑаÑиÑеÑÐºÐ¸Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñек (ÐаÑко ÐÑзеÑи) §
ÐиквидаÑÐ¸Ñ Ð¿Ð°ÑамеÑÑа configure
--disable-strong-random(ÐикаÑÐ»Ñ ÐакÑе) §ТепеÑÑ Ð½Ð°Ð´ÑжнÑй иÑÑоÑник ÑлÑÑайнÑÑ ÑиÑел ÑвлÑеÑÑÑ Ð¾Ð±ÑзаÑелÑнÑм.
УниÑиÑиÑование Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ ÑÑнкÑий ÑемейÑÑва
printf, а Ñакжеstrerrorиstrerror_rна ÑазнÑÑ Ð¿Ð»Ð°ÑÑоÑÐ¼Ð°Ñ Ð² ÑÐ°Ð¼ÐºÐ°Ñ ÐºÐ¾Ð´Ð° PostgreSQL (Том Ðейн) § § § §Рименно,
printfÑепеÑÑ Ð²Ð¾ÑпÑинимаеÑ%mвезде, в WindowsstrerrorполноÑенно обÑабаÑÑÐ²Ð°ÐµÑ ÐºÐ¾Ð´Ñ Ð¾Ñибок Winsock (ÑанÑÑе они обÑабаÑÑвалиÑÑ Ð² клиенÑÑком, но не в ÑеÑвеÑном коде), а ÑезÑлÑÑаÑstrerror_rвÑегда ÑооÑвеÑÑÑвÑÐµÑ ÑоглаÑÐµÐ½Ð¸Ñ GNU.ТÑебование компилÑÑоÑа, ÑовмеÑÑимого Ñ C99, и MSVC 2013 или новее в Windows (ÐндÑÐµÑ Ð¤Ñойнд) §
ÐÑполÑзование pandoc вмеÑÑо lynx Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð´Ð¾ÐºÑменÑаÑии в ÑоÑмаÑе обÑÑнÑÑ ÑекÑÑовÑÑ Ñайлов (ÐиÑÐµÑ ÐйзенÑÑаÑÑ) § §
ÐÑо каÑаеÑÑÑ ÑолÑко Ñайла
INSTALL, генеÑиÑÑемого в ÑезÑлÑÑаÑеmake distи Ñедко ÑÑебÑÑÑегоÑÑ ÑекÑÑового Ñайлаpostgres.txt. Pandoc по ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ñ lynx вÑдаÑÑ Ð±Ð¾Ð»ÐµÐµ каÑеÑÑвеннÑй ÑезÑлÑÑÐ°Ñ Ð¸ ÑеÑÐ°ÐµÑ ÑÑд пÑоблем Ñ ÐºÐ¾Ð´Ð¸Ñовкой/локалÑÑ. ÐеÑÑÐ¸Ñ pandoc должна бÑÑÑ Ð½Ðµ ниже 1.13.ÐоддеÑжка вклÑÑÐµÐ½Ð¸Ñ Ð¸Ð»Ð»ÑÑÑÑаÑий в докÑменÑаÑÐ¸Ñ PostgreSQL (ЮÑген ÐÑÑÑÑ) §
E.50.3.11. ÐополниÑелÑнÑе модÑли
ÐозможноÑÑÑ Ð¿ÐµÑедаÑи ÑоÑÑиÑовки
ORDER BYи пÑедложениÑLIMITÑÑоÑонним ÑеÑвеÑам (postgres_fdw) в более ÑазнообÑазнÑÑ ÑлÑÑаÑÑ (ÐÑÑÑо ФÑдзиÑа) § §ÐнеÑение коÑÑекÑив в ÑаÑÑÑÑ Ð¾Ñенки ÑÑоимоÑÑи, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼ÑÑ Ð¿Ñи иÑполÑзовании postgres_fdw (ÐÑÑÑо ФÑдзиÑа) § § §
ÐÑпÑавление Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¿ÑедÑÑавлений, обÑаÑаÑÑÐ¸Ñ ÑÑ Ðº ÑаблиÑам postgres_fdw и имеÑÑÐ¸Ñ ÑвойÑÑво
CHECK OPTION(ÐÑÑÑо ФÑдзиÑа)Тогда как Ð´Ð»Ñ ÑÐ°Ð±Ð»Ð¸Ñ postgres_fdw Ñказание
CHECK OPTIONигноÑиÑÑеÑÑÑ (Ñак как они ÑвлÑÑÑÑÑ ÑдалÑннÑми), обÑаÑаÑÑиеÑÑ Ðº ним пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑÑиÑаÑÑÑÑ Ð»Ð¾ÐºÐ°Ð»ÑнÑми, и поÑÑÐ¾Ð¼Ñ ÑепеÑÑ Ð´Ð»Ñ Ð½Ð¸Ñ Ð¿ÑовеÑÑеÑÑÑ Ð²Ñполнение ÑказаниÑCHECK OPTION. Ранее пÑовеÑÑлиÑÑ ÑолÑко ÑезÑлÑÑаÑÑ Ð·Ð°Ð¿ÑоÑовINSERTиUPDATEÑ Ð¿ÑедложениÑмиRETURNING, обÑаÑаÑÑÐ¸Ñ ÑÑ Ðº пÑедÑÑавлениÑм Ñо ÑвойÑÑвомCHECK OPTION.ÐозможноÑÑÑ ÑоÑеÑного ÑбÑоÑа ÑÑаÑиÑÑики Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ
pg_stat_statements_reset()(ХаÑÐ¸Ð±Ð°Ð±Ñ Ðомми, ÐÐ¼Ð¸Ñ Ðапила) §ТепеÑÑ ÑÑа ÑÑнкÑÐ¸Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ ÑбÑаÑÑваÑÑ ÑÑаÑиÑÑÐ¸ÐºÑ Ð´Ð»Ñ Ð¾Ð¿ÑеделÑнной Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , полÑзоваÑÐµÐ»Ñ Ð¸Ð»Ð¸ запÑоÑа.
ÐозможноÑÑÑ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑÑовнем деÑализаÑии auto_explain (Том ÐÑнÑÑан, ÐндÑÑ ÐÑнÑÑан) §
Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð²ÑбÑан ÑÑÐ¾Ð²ÐµÐ½Ñ Ð´ÐµÑализаÑии
LOG.Ðбновление пÑавил unaccent, вклÑÑаÑÑее добавление новÑÑ Ð·Ð½Ð°ÐºÐ¾Ð² пÑнкÑÑаÑии и Ñимволов (Ð¥ÑÑ Ð Ð°Ð½Ð°Ð»Ð»Ð¸, ÐикаÑÐ»Ñ ÐакÑе) §
РеализаÑÐ¸Ñ Ð² unaccent обÑабоÑки знаков ÑдаÑениÑ, пÑедÑÑавленнÑÑ Ð² ÑоÑÑавнÑÑ ÑÐ¸Ð¼Ð²Ð¾Ð»Ð°Ñ (Ð¥ÑÑ Ð Ð°Ð½Ð°Ð»Ð»Ð¸) §
РеализаÑÐ¸Ñ Ð² unaccent ÑÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð·Ð½Ð°ÐºÐ¾Ð² ÑдаÑÐµÐ½Ð¸Ñ Ð¸Ð· гÑеÑеÑÐºÐ¸Ñ Ñимволов (ТаÑÐ¾Ñ ÐаÑÑ Ð°Ð»Ð¸Ð´Ð¸Ñ) §
Ðобавление в ÑÑнкÑиÑ
bt_index_parent_check()в модÑле amcheck паÑамеÑÑа Ð´Ð»Ñ Ð¿ÑовеÑки каждого коÑÑежа индекÑа, наÑÐ¸Ð½Ð°Ñ Ð¾Ñ ÐºÐ¾ÑÐ½Ñ (ÐиÑÐµÑ Ðейган) §ÐÑиведение поÑÑдка обÑабоÑки паÑамеÑÑов oid2name и vacuumlo в ÑооÑвеÑÑÑвие Ñ Ð¿ÑинÑÑÑм в дÑÑÐ³Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ñ (ТаÑÑÑо Ямада) § §
E.50.4. ÐлагодаÑÑÑвеннÑй ÑпиÑок
ÐеÑеÑиÑленнÑе ниже (в алÑавиÑном поÑÑдке) лиÑа Ñделали вклад в ÑÑÐ¾Ñ Ð²ÑпÑÑк, ÑазÑабаÑÑваÑ, ÑовеÑÑенÑÑвÑÑ Ð¸ ÑеÑензиÑÑÑ ÐºÐ¾Ð´, пÑÐ¸Ð½Ð¸Ð¼Ð°Ñ Ð¿Ñавки, пÑÐ¾Ð²Ð¾Ð´Ñ ÑеÑÑиÑование или ÑообÑÐ°Ñ Ð¾ пÑÐ¾Ð±Ð»ÐµÐ¼Ð°Ñ .
| ÐÐ±Ñ Ð¸Ð´Ð¶Ð¸Ñ Ðенон-Сен (Abhijit Menon-Sen) |
| Ðдам ÐеланÑÑкий (Adam Bielanski) |
| Ðдам ÐеÑлин (Adam Berlin) |
| ÐдиÑÑÑ Ð¢Ð¾Ñнивал (Aditya Toshniwal) |
| ÐдÑиен ÐайÑÐ°Ñ (Adrien Nayrat) |
| Ðйзек ÐоÑленд (Isaac Morland) |
| Ðлан ÐжекÑон (Alan Jackson) |
| ÐÐ»ÐµÐºÑ ÐейÑи (Alex Macy) |
| ÐлекÑÐ°Ð½Ð´Ñ ÐкÑипеÑÑов (Alex Aktsipetrov) |
| ÐлекÑÐ°Ð½Ð´Ñ ÐлекÑеев (Aleksander Alekseev) |
| ÐлекÑÐ°Ð½Ð´Ñ ÐоÑоÑков (Alexander Korotkov) |
| ÐлекÑÐ°Ð½Ð´Ñ ÐÑзÑменков (Alexander Kuzmenkov) |
| ÐлекÑÐ°Ð½Ð´Ñ ÐÑкÑÑкин (Alexander Kukushkin) |
| ÐлекÑÐ°Ð½Ð´Ñ ÐÐ°Ñ Ð¸Ð½ (Alexander Lakhin) |
| ÐлекÑандÑа Ð ÑÐ¶ÐµÐ²Ð¸Ñ (Alexandra Ryzhevich) |
| ÐлекÑей ÐаÑÑанов (Alexey Bashtanov) |
| ÐлекÑей ÐÑмаков (Alexey Ermakov) |
| ÐлекÑей ÐлÑкин (Alex Kliukin) |
| ÐлекÑей ÐлÑкин (Oleksii Kliukin) |
| ÐлекÑей ÐондÑаÑов (Alexey Kondratov) |
| ÐлекÑей ÐÑÑÑков (Alexey Kryuchkov) |
| ÐлекÑей СÑепанов (Alexey Stepanov) |
| ÐлиÑÑа РоÑÑ (Alyssa Ross) |
| ÐллиÑон ÐапÑÑÑ (Allison Kaptur) |
| ÐлÑбеÑÑ Ð¨Ð°Ð±Ñ ÑÑÐ»Ñ (Albert Schabhuetl) |
| ÐлÑваÑо ÐÑÑеÑа (Ãlvaro Herrera) |
| ÐÐ¼Ð¸Ñ Ðапила (Amit Kapila) |
| ÐÐ¼Ð¸Ñ ÐангоÑе (Amit Langote) |
| ÐÐ¼Ð¸Ñ Ð¥Ð°Ð½Ð´ÐµÐºÐ°Ñ (Amit Khandekar) |
| ÐмÑл СÑл (Amul Sul) |
| ÐнаÑÑаÑÐ¸Ñ ÐÑбенникова (Anastasia Lubennikova) |
| ÐндÑе ÐÐµÐ½Ð·ÐµÐ»Ñ (André Hänsel) |
| ÐндÑеа ÐжелÑмини (Andrea Gelmini) |
| ÐндÑÐµÐ°Ñ ÐÐ¶Ð¾Ð·ÐµÑ ÐÑог (Andreas Joseph Krogh) |
| ÐндÑÐµÐ°Ñ ÐелÑÑенÑÐµÐ¹Ñ (Andreas Seltenreich) |
| ÐндÑÐµÐ°Ñ ÐаÑлÑÑон (Andreas Karlsson) |
| ÐндÑÐµÐ°Ñ ÐÑнеÑÑ (Andreas Kunert) |
| ÐндÑÐµÐ°Ñ Ð¨ÐµÑбаÑм (Andreas Scherbaum) |
| ÐндÑей ÐоÑодин (Andrey Borodin) |
| ÐндÑей ÐгоÑов (Andrei Yahorau) |
| ÐндÑей ÐлÑÑков (Andrey Klychkov) |
| ÐндÑей ÐÑаÑиÑков (Andrew Krasichkov) |
| ÐндÑей ÐÐµÐ¿Ð¸Ñ Ð¾Ð² (Andrey Lepikhov) |
| ÐндÑÐµÑ Ð¤Ñойнд (Andres Freund) |
| ÐнÑонин ХоÑÑка (Antonin Houska) |
| ÐÑне Роланд (Arne Roland) |
| ÐÑÑений Ð¨ÐµÑ (Arseny Sher) |
| ÐÑÑÑÑ ÐакиÑов (Artur Zakirov) |
| ÐÑ Ð¸Ð»Ð»ÐµÑ ÐанÑÐ¸Ð¾Ñ (Achilleas Mantzios) |
| ÐÑ ÐаÑÐ°Ñ (Ash Marath) |
| ÐÑвин ÐгÑавал (Ashwin Agrawal) |
| ÐÑÑÑÐ¾Ñ ÐÐ°Ð¿Ð°Ñ (Ashutosh Bapat) |
| ÐÑÑÑÐ¾Ñ Ð¨Ð°Ñма (Ashutosh Sharma) |
| ÐÑ ÐваÑа (Aya Iwata) |
| ÐаÑÑÐ¾Ñ Ðолник (Bartosz Polnik) |
| Ðейзил ÐÑÑк (Basil Bourque) |
| ÐеÑнд Хелмле (Bernd Helmle) |
| ÐÑÐ¸Ð¶Ð¸Ñ Ðлан-ÐаÑей (Brigitte Blanc-Lafay) |
| ÐÑÑно ÐолÑÑ (Bruno Wolff) |
| ÐÑÑд Ðейонг (Brad DeJong) |
| ÐÑÑÑ ÐлÑйн (Bruce Klein) |
| ÐÑÑÑ ÐомджÑн (Bruce Momjian) |
| ÐайÑнави ÐÑабакаÑан (Vaishnavi Prabakaran) |
| ÐиджайкÑÐ¼Ð°Ñ Ðжайн (Vijaykumar Jain) |
| Ðик ФиÑинг (Vik Fearing) |
| ÐикÑÐ¾Ñ ÐÐ°Ð³Ð½ÐµÑ (Victor Wagner) |
| ÐикÑÐ¾Ñ ÐгоÑов (Victor Yegorov) |
| ÐикÑÐ¾Ñ ÐеÑÑовÑÑ (Victor Petrovykh) |
| ÐÐ»Ð°Ð´Ð¸Ð¼Ð¸Ñ ÐаÑанов (Vladimir Baranoff) |
| ÐÐ»Ð°Ð´Ð¸Ð¼Ð¸Ñ ÐÑÑков (Vladimir Kriukov) |
| ÐладиÑлав СÑеÑжанов (Vlad Sterzhanov) |
| ÐÑ Ð¤ÐµÐ¹ (Wu Fei) |
| Ðаби ШилÑдеÑÑ (Gaby Schilders) |
| ÐеоÑгий ТаÑаÑов (George Tarasov) |
| ÐеоÑÐ³Ð¸Ð¾Ñ ÐоколаÑÐ¾Ñ (Georgios Kokolatos) |
| ÐеÑÑ ÐоббеÑÑÐ°Ð»Ñ (Geert Lobbestael) |
| Ðийом ÐелаÑж (Guillaume Lelarge) |
| ÐÑег СÑаÑк (Greg Stark) |
| ÐÑигоÑий Смолкин (Grigory Smolkin) |
| ÐÑннлаÑгÑÑ Ð¢Ð¾Ñ ÐÑием (Gunnlaugur Thor Briem) |
| ÐÑÑÐ¶Ð¸Ñ Ð¡Ð¸Ð½Ð³Ñ (Gurjeet Singh) |
| Ðавид ФеÑÑÐµÑ (David Fetter) |
| Ðаг Ð Ñди (Doug Rady) |
| ÐагÑинн ÐлÑмаÑи ÐаннÑÐ°ÐºÐµÑ (Dagfinn Ilmari MannsÃ¥ker) |
| ÐайÑÑÐºÑ Ð¥Ð¸Ð³ÑÑи (Daisuke Higuchi) |
| ÐÐ°Ð½Ð¸ÐµÐ»Ñ ÐеÑÑеÑман (Daniel Westermann) |
| ÐаниÑÐ»Ñ ÐеÑиÑе (Daniel Vérité) |
| ÐаниÑÐ»Ñ ÐилÑÑÐµÑ (Daniel Wilches) |
| ÐаниÑÐ»Ñ ÐÑÑÑаÑÑÑон (Daniel Gustafsson) |
| ÐаниÑÐ»Ñ Ð¤Ð¸Ð¾Ñи (Daniel Fiori) |
| ÐевÑим ÐÑндÑз (Devrim Gündüz) |
| Ðейв ÐÑÐ°Ð¼ÐµÑ (Dave Cramer) |
| ÐеÑек ÐÐ°Ð½Ñ (Derek Hans) |
| ÐеÑек ÐелÑÑон (Derek Nelson) |
| Ðжанни Чиолли (Gianni Ciolli) |
| ÐжаÑÑин ÐÑизби (Justin Pryzby) |
| Ðжейкоб Чемпион (Jacob Champion) |
| ÐÐ¶ÐµÐ¹Ð¼Ñ ÐнÑоÑм (James Inform) |
| ÐÐ¶ÐµÐ¹Ð¼Ñ ÐоÑлман (James Coleman) |
| ÐÐ¶ÐµÐ¹Ð¼Ñ Ð Ð¾Ð±Ð¸Ð½Ñон (James Robinson) |
| ÐÐ¶ÐµÐ¹Ð¼Ñ Ð¡ÑÑÑлл (James Sewell) |
| ÐÐ¶ÐµÐ¹Ð¼Ñ Ð¢Ð¾Ð¼Ñон (James Tomson) |
| Ðжек Ðелли (Jack Kelly) |
| ÐжеÑеми Ð¡Ð¼Ð¸Ñ (Jeremy Smith) |
| ÐжеÑеми Ð¨Ð½Ð°Ð¹Ð´ÐµÑ (Jeremy Schneider) |
| ÐжеÑеми ÐÐ²Ð°Ð½Ñ (Jeremy Evans) |
| ÐжеÑÑи Ðжелинек (Jerry Jelinek) |
| ÐжеÑÐ¿ÐµÑ ÐедеÑÑен (Jesper Pedersen) |
| ÐжеÑÑ ÐÐµÐ²Ð¸Ñ (Jeff Davis) |
| ÐжеÑÑ ÐÐ¶ÐµÐ¹Ð½Ñ (Jeff Janes) |
| Ðжи Чжан (Jie Zhang) |
| Ðживан ÐÐ°Ð´Ñ Ðµ (Jeevan Ladhe) |
| Ðживан Чок (Jeevan Chalke) |
| Ðжим ÐÑÑби (Jim Nasby) |
| Ðжимми Ðи (Jimmy Yih) |
| Ðжо ÐÐ°Ð¹Ð»Ð´Ð¸Ñ (Joe Wildish) |
| Ðжо Ðонвей (Joe Conway) |
| Ðжон Ðланн (John Klann) |
| Ðжон ÐÐµÐ¹Ð»Ð¾Ñ (John Naylor) |
| Ðжона ХаÑÑÐ¸Ñ (Jonah Harris) |
| ÐжонаÑан С. ÐÐ°Ñ (Jonathan S. Katz) |
| ÐжоÑÑа Ð. ÐÑейк (Joshua D. Drake) |
| ÐжÑлиан ÐаÑквоÑÑ (Julian Markwort) |
| ÐжÑлиан СÑо (Julian Hsiao) |
| ÐжÑлиан ШаÑÐ´ÐµÑ (Julian Schauder) |
| Ðиан Фей (Dian Fay) |
| ÐидÑе ÐоÑÑон (Didier Gautheron) |
| Ðилип ÐÑÐ¼Ð°Ñ (Dilip Kumar) |
| Ðин РаÑид (Dean Rasheed) |
| ÐмиÑÑий Ðолгов (Dmitry Dolgov) |
| ÐмиÑÑий ÐаÑакаÑов (Dmitry Marakasov) |
| ÐмиÑÑий ÐолоÑков (Dmitry Molotkov) |
| ÐмиÑÑий ШалаÑов (Dmitry Shalashov) |
| Ðон ÐÐµÐ¹Ð»ÐµÑ (Don Seiler) |
| ÐоналÑд Ðонг (Donald Dong) |
| ÐоÑоÑей ÐÑолеÑковÑкий (Darafei Praliaskouski) |
| ÐÑви ÐаÑадо (Davy Machado) |
| ÐÑвид ÐиндеÑман (David Binderman) |
| ÐÑвид Ðж. ÐжонÑÑон (David G. Johnston) |
| ÐÑвид РоÑли (David Rowley) |
| ÐÑвид СÑил (David Steele) |
| ÐÑÑил ÐÑйкоÑÑ (Daryl Waycott) |
| Ðвгений ÐонÑков (Eugen Konkov) |
| ÐÑÐ¸ÐºÐ°Ð´Ð·Ñ Ðмаи (Yoshikazu Imai) |
| Ðан-ÐÑиÑÑÐ¾Ñ ÐÑÐ½Ñ (Jean-Christophe Arnu) |
| Ðан-ÐÐ°Ñ ÐÑалекин (Jean-Marc Voillequin) |
| Ðан-ÐÑÐµÑ ÐелÑÑÑе (Jean-Pierre Pelletier) |
| ÐÐ¸Ð»Ñ ÐаÑолд (Gilles Darold) |
| ÐоÑж ÐÑÑÑÐ°Ð²Ñ Ð Ð¾Ñа (Jorge Gustavo Rocha) |
| ÐÑй Хай ЦзÑн (Rui Hai Jiang) |
| ÐÑлÑен Ð Ñо (Julien Rouhaud) |
| РХÑан (Yi Huang) |
| ÐбÑÐ°Ñ ÐÑ Ð¼ÐµÐ´ (Ibrar Ahmed) |
| Ðван ÐанÑенко (Ivan Panchenko) |
| ÐлÑÐ´Ð°Ñ ÐÑÑин (Ildar Musin) |
| ÐнÑон ÐÑн (Insung Moon) |
| ÐÑн ÐаÑвик (Ian Barwick) |
| ÐÐ¾Ð·ÐµÑ Ðим (Ioseph Kim) |
| ÐÑÑг ÐонненбеÑÐ³ÐµÑ (Joerg Sonnenberger) |
| Ðайл СамÑон (Kyle Samson) |
| ÐайÑин Чен (Kaiting Chen) |
| ÐаÑен ХаддлÑÑон (Karen Huddleston) |
| ÐаÑл Ð. ÐÐ¸Ð½Ñ (Karl O. Pinc) |
| ÐаÑл ЧайковÑки (Karl Czajkowski) |
| ÐвенÑин Рамо (Quentin Rameau) |
| Ðевин ÐÑиÑÑÐ½ÐµÑ (Kevin Grittner) |
| Ðевин Хейл ÐÐ¾Ð¹Ñ (Kevin Hale Boyes) |
| Ðен ТанÑÐµÑ (Ken Tanzer) |
| ÐиÑан ÐаккаÑÐºÐµÑ (Kieran McCusker) |
| ÐиÑк ÐжемиÑон (Kirk Jamison) |
| ÐÐ¸Ñ Ð¤Ð¸Ñке (Keith Fiske) |
| ÐÐ»ÐµÐ¼ÐµÐ½Ñ ÐÐ°Ð´Ð¸Ñ (Clemens Ladisch) |
| Ðолм ÐÐ°ÐºÑ ÑÑ (Colm McHugh) |
| ÐонÑÑанÑин Ðнижник (Konstantin Knizhnik) |
| ÐонÑÑанÑин ÐÑзнеÑов (Konstantin Kuznetsov) |
| ÐоÑи Ð¥Ð¸Ð½ÐºÐµÑ (Corey Huinker) |
| ÐÐ¾Ñ Ñй ÐайÐай (Kohei KaiGai) |
| ÐÑейг Ð Ð¸Ð½Ð³ÐµÑ (Craig Ringer) |
| ÐÑÐ¸Ñ ÐилÑон (Chris Wilson) |
| ÐÑÐ¸Ñ Ð¢ÑÑвеÑÑ (Chris Travers) |
| ÐÑиÑÑиан Таммекиви (Kristjan Tammekivi) |
| ÐÑиÑÑиан ХоÑÑÑедÑÐ»ÐµÑ (Christian Hofstaedtler) |
| ÐÑиÑÑÐ¾Ñ ÐеÑг (Christoph Berg) |
| ÐÑиÑÑÐ¾Ñ ÐÑÐ½Ñ -Ð¢ÐµÐ³ÐµÐ´ÐµÑ (Christoph Moench-Tegeder) |
| ÐÑнÑал ÐÑ Ð¾Ñ (Kuntal Ghosh) |
| ÐÑйиÑи ХиÑÐ¾Ð±Ñ (Keiichi Hirobe) |
| ÐÑндзи Уно (Kenji Uno) |
| ÐÑÑаÑо ХоÑигÑÑи (Kyotaro Horiguchi) |
| ÐаÑÑ ÐÐ°Ð½Ð¸Ñ (Lars Kanis) |
| ÐаÑÑÐµÐ½Ñ ÐлÑбе (Laurenz Albe) |
| ÐеÑиÑÐ¸Ñ ÐвÑо (Lætitia Avrot) |
| Ðим ÐÑÐ½Ð³Ñ (Lim Myungkyu) |
| Ðлойд ÐлÑбин (Lloyd Albin) |
| ÐÑÐ¸Ñ Ð. ÐаÑÑÐ¸Ð»Ñ (Luis M. Carril) |
| ÐÑка ФеÑÑаÑи (Luca Ferrari) |
| ÐÑÐºÐ°Ñ Ð¤Ð¸ÑÑл (Lukas Fittl) |
| ÐÑÐºÐ°Ñ ÐÐ´ÐµÑ (Lukas Eder) |
| ÐÑ Ð¥Ñайлин (Liu Huailing) |
| ÐÑдмила ÐанÑÑова (Liudmila Mantrova) |
| ÐагнÑÑ Ð¥Ð°Ð³Ð°Ð½Ð´ÐµÑ (Magnus Hagander) |
| Ðадлен Тибо (Madelaine Thibaut) |
| Ðадлен ТомпÑон (Madeleine Thompson) |
| Ðай ÐÑн (Mai Peng) |
| Ðайк ÐалÑмиоÑÑо (Mike Palmiotto) |
| Ðайкл ÐиÑале (Michael Vitale) |
| Ðайкл ÐÑвидÑон (Michael Davidson) |
| ÐакÑим ÐогÑк (Maksym Boguk) |
| ÐакÑим ÐилÑÑин (Maksim Milyutin) |
| ÐалÑÑе ÐоÑÑ (Malthe Borch) |
| ÐанÑÑÐ»Ñ Ð Ð¸Ð³Ð³ÐµÑ (Manuel Rigger) |
| ÐаÑина ÐолÑкова (Marina Polyakova) |
| ÐаÑио де ФÑÑÑÐ¾Ñ ÐÐ¸ÐµÐ³ÐµÑ (Mario De Frutos Dieguez) |
| ÐаÑиÑÑ Ð¢Ð¸Ð¼Ð¼ÐµÑ (Marius Timmer) |
| ÐаÑк ÐÐ¸Ð»Ð³ÐµÑ (Mark Dilger) |
| ÐаÑк ЧембеÑÑ (Mark Chambers) |
| ÐаÑко ÐÑзеÑи (Marco Atzeri) |
| ÐаÑко Ð¡Ð»Ð¾Ñ (Marco Slot) |
| ÐаÑко Ð¢Ð¸Ð¸ÐºÐºÐ°Ñ (Marko Tiikkaja) |
| ÐаÑкÑÑ Ðинанд (Markus Winand) |
| ÐаÑÑин ÐаÑÐºÐµÑ (MartÃn Marqués) |
| ÐаÑао ФÑдзии (Masao Fujii) |
| ÐаÑÐ°Ñ Ð¸ÐºÐ¾ Савада (Masahiko Sawada) |
| ÐаÑвей ÐÑÑе (Matvey Arye) |
| ÐаÑеÑÑ ÐÑзик (Mateusz Guzik) |
| ÐаÑÐ¸Ð°Ñ ÐÑоÑÑÐ°Ñ (Mathias Brossard) |
| ÐаÑÑÐ¸Ð°Ñ ÐÑÑеÑÐ±Ð°Ñ (Matthias Otterbach) |
| ÐÐ°Ñ ÐµÐ½Ð´Ñа Ð¡Ð¸Ð½Ð³Ñ (Mahendra Singh) |
| Ðелани Ðлейгман (Melanie Plageman) |
| Ðи Ð¢Ð°Ñ (Mi Tar) |
| ÐикаÑÐ»Ñ ÐакÑе (Michael Paquier) |
| Ðиколай Ðейда (Mikalai Keida) |
| ÐиÑÑ Ñн Сай (Mithun Cy) |
| ÐÐ¸Ñ Ð°ÑÐ»Ñ Ðанк (Michael Banck) |
| ÐÐ¸Ñ Ð°ÑÐ»Ñ ÐеÑÐºÐµÑ (Michael Meskes) |
| ÐиÑÐµÐ»Ñ ÐелÑÑÑе (Michel Pelletier) |
| ÐоÑган ÐÑÑÐ½Ñ (Morgan Owens) |
| ÐÑÑÐ°Ñ Ðабилов (Murat Kabilov) |
| ÐÑÑÑ ÐилÑÑÐ¼Ñ (Matt Williams) |
| Ðаваз ÐÑ Ð¼ÐµÐ´ (Nawaz Ahmed) |
| ÐаÑан ÐоÑÑаÑÑ (Nathan Bossart) |
| Ðик ÐаÑÐ½Ñ (Nick Barnes) |
| ÐикиÑа ÐлÑÑ Ð¾Ð² (Nikita Glukhov) |
| Ðико ÐилÑÑÐ¼Ñ (Nico Williams) |
| Ðиколай Шаплов (Nikolay Shaplov) |
| Ðин Ю (Ning Yu) |
| ÐиÑадж ÐÑÐ¼Ð°Ñ (Neeraj Kumar) |
| ÐиÑÐ°Ð½Ñ Ð¤Ð½Ñ (Nishant Fnu) |
| Ðой ÐÐ¸Ñ (Noah Misch) |
| ÐоÑбеÑÑ ÐÐµÐ½ÐºÐ¾ÐºÑ (Norbert Benkocs) |
| ÐоÑиÑÑи Синода (Noriyoshi Shinoda) |
| Ðлег ÐаÑÑÑнов (Oleg Bartunov) |
| Ðлег Самойлов (Oleg Samoilov) |
| ÐндÑей ÐÑда (Ondrej Bouda) |
| ÐÑкаÑи СааÑенмаа (Oskari Saarenmaa) |
| Ðаван ÐеолаÑи (Pavan Deolasee) |
| Ðавел ÐÑÑкин (Pavel Oskin) |
| Ðавел РайÑкÑп (Pavel Raiskup) |
| Ðавел СÑÐµÑ Ñле (Pavel Stehule) |
| Ðан ÐÑÐ½Ñ (Pan Bian) |
| ÐаÑÑик ÐÐ°ÐºÑ Ð°Ñди (Patrick McHardy) |
| ÐаÑÑик ФÑанÑÐµÐ»Ñ (Patrick Francelle) |
| ÐаÑÐ»Ñ Ð²Ð°Ð½ Ð´ÐµÑ Ðинден (Paul van der Linden) |
| ÐеÑÐµÑ Ðиллен (Peter Billen) |
| ÐеÑÑ Ðелинек (Petr JelÃnek) |
| ÐеÑÑ Ð¡Ð»Ð°Ð²Ð¾Ð² (Petr Slavov) |
| ÐеÑÑÑ-ФлоÑин ÐÐ¸Ñ Ð°Ð½Ñа (Petru-Florin Mihancea) |
| ÐиÑÐµÑ Ðейган (Peter Geoghegan) |
| ÐиÑÐµÑ Ðив (Peter Neave) |
| ÐиÑÐµÑ ÐйзенÑÑаÑÑ (Peter Eisentraut) |
| Ðол Ð. ЮнгвиÑÑ (Paul A. Jungwirth) |
| Ðол ÐÑо (Paul Guo) |
| Ðол ÐаÑÑÐ¸Ð½ÐµÑ (Paul Martinez) |
| Ðол РамÑей (Paul Ramsey) |
| Ðол Ð¡Ñ Ð°Ð¿ (Paul Schaap) |
| ÐÐ¾Ð»Ñ Ðоно (Paul Bonaud) |
| ÐÑÐ°Ð±Ñ Ð°Ñ Ð¡Ð°Ñ Ñ (Prabhat Sahu) |
| ÐÑÐµÑ ÐÑкÑоке (Pierre Ducroquet) |
| ÐÑйÑÑн Ð¦Ñ (Peifeng Qiu) |
| ÐÑÑÑ ÐлодаÑÑик (Piotr Wlodarczyk) |
| ÐÑÑÑ ÐабÑиÑÐ»Ñ ÐоÑинÑки (Piotr Gabriel Kosinski) |
| ÐÑÑÑ Ð¡ÑеÑанÑк (Piotr Stefaniak) |
| ÐÑÑÑ Ð¤ÑдоÑов (Petr Fedorov) |
| РаджкÑÐ¼Ð°Ñ Ð Ð°Ð³Ñ ÑванÑи (Rajkumar Raghuwanshi) |
| Райан ÐамбеÑÑ (Ryan Lambert) |
| РамакÑиÑна ÐоÑлапаÑи (RK Korlapati) |
| РаÑÐµÑ Ð¡Ð°Ð»ÐºÑдÑн (Rares Salcudean) |
| РаÑÐ»Ñ ÐаÑин РодÑÐ¸Ð³ÐµÑ (Raúl MarÃn RodrÃguez) |
| РаÑаÑÐ»Ñ ÐаÑÑÑо (Rafael Castro) |
| РаÑÐ¸Ñ Ð¡Ð°Ð±Ð¸Ñ (Rafia Sabih) |
| Ð Ð°Ñ Ð¸Ð»Ð° СÑед (Rahila Syed) |
| Регина Ðбе (Regina Obe) |
| Рено ÐаваÑÑо (Renaud Navarro) |
| Рик ÐÑÑен (Rick Otten) |
| РикаÑд ФалÑкебоÑн (Rikard Falkeborn) |
| РиÑаÑд ÐÑо (Richard Guo) |
| Робби ХаÑвÑд (Robbie Harwood) |
| РобеÑÑ Ð¢ÑÐ¸Ñ (Robert Treat) |
| РобеÑÑ Ð¤Ð¾Ð»ÑмеÑÑ (Robert Vollmert) |
| РобеÑÑ Ð¥Ð°Ð°Ñ (Robert Haas) |
| Ð Ð¾Ð´Ð¶ÐµÑ ÐÑÑли (Roger Curley) |
| Роман ÐаÑков (Roman Zharkov) |
| Ронан ÐÐ°Ð½ÐºÐ»Ð°Ñ (Ronan Dunklau) |
| Ð ÑÑаб ÐаÑиа (Rushabh Lathia) |
| Ð Ñ ÐаÑÑмÑÑа (Ryo Matsumura) |
| Ð ÑÑ Ñй ÐагаÑÑа (Ryohei Nagaura) |
| Ð ÑÑ Ñй Ð¢Ð°ÐºÐ°Ñ Ð°Ñи (Ryohei Takahashi) |
| Саймон Ð Ð¸Ð³Ð³Ñ (Simon Riggs) |
| СанÑо ÐапобÑÑнго (Sanyo Capobiango) |
| СаÑоÑÑ ÐоидзÑми (Satoru Koizumi) |
| СеÑгей ÐоÑнилов (Sergei Kornilov) |
| СеÑгей ÐаÑÑнÑев (Serge Latyntsev) |
| СеÑгей ÐаÑков (Sergey Pashkov) |
| СеÑÑ Ð¸Ð¾ Ðонде ÐÐ¾Ð¼ÐµÑ (Sergio Conde Gómez) |
| Ð¡Ð»Ð°Ð²Ð¾Ð¼Ð¸Ñ Ð¥Ð¾Ð´Ð½Ð¸Ñки (Slawomir Chodnicki) |
| СÑÐ°Ñ ÐелÑÐ²Ð¸Ñ (Stas Kelvich) |
| СÑепан Ð¯Ð½ÐºÐµÐ²Ð¸Ñ (Stepan Yankevych) |
| СÑив РоджеÑÑон (Steve Rogerson) |
| СÑив Ð¡Ð¸Ð½Ð³ÐµÑ (Steve Singer) |
| СÑивен Ðмелл (Stephen Amell) |
| СÑивен ÐинÑилд (Steven Winfield) |
| СÑивен ФÑоÑÑ (Stephen Frost) |
| СÑÑадж ХаÑаге (Suraj Kharage) |
| СÑÑаÑел ТемеÑген (Surafel Temesgen) |
| СÑÑÐµÑ ÐÑÐ¼Ð°Ñ Ð (Suresh Kumar R) |
| СÑмÑÑл ÐилÑÑÐ¼Ñ (Samuel Williams) |
| СÑнд СÑоÑн (Sand Stone) |
| СÑÑ ÐµÐ¹ ÐоÑидзÑки (Shohei Mochizuki) |
| ТакаÑки ЦÑнакава (Takayuki Tsunakawa) |
| ТакÑма ХоÑиай (Takuma Hoshiai) |
| ТакÑÑи ÐдÑÑÐ¸Ñ Ð° (Takeshi Ideriha) |
| ТаÑÐ¾Ñ ÐаÑÑ Ð°Ð»Ð¸Ð´Ð¸Ñ (Tasos Maschalidis) |
| ТаÑÑо ÐÑии (Tatsuo Ishii) |
| ТаÑÑÑо Ямада (Tatsuro Yamada) |
| ТилÑман ШÑлÑÑ (Tillmann Schulz) |
| Тим ÐÑлÑман (Tim Möhlmann) |
| ТимÑÑ ÐиÑÑ (Timur Birsh) |
| Ð¢Ð¾Ð±Ð¸Ð°Ñ ÐÑÑман (Tobias Bussmann) |
| Том ÐÑаÑн (Thom Brown) |
| Том ÐоÑÑÑÑид (Tom Gottfried) |
| Том ÐÑнÑÑан (Tom Dunstan) |
| Том ÐÑÑÑиди (Tom Cassidy) |
| Том Ðейн (Tom Lane) |
| Ð¢Ð¾Ð¼Ð°Ñ ÐанÑо (Thomas Munro) |
| Ð¢Ð¾Ð¼Ð°Ñ ÐоÑи (Thomas Poty) |
| Ð¢Ð¾Ð¼Ð°Ñ ÐондÑа (Tomas Vondra) |
| ТÑÑÐ°Ñ ÐÑ Ñджа (Tushar Ahuja) |
| УлÑÑ ÐÐ´Ð°Ð¼Ñ (Ulf Adams) |
| ФабÑиÑио де Ð Ð¾Ð¹ÐµÑ Ðелло (FabrÃzio de Royes Mello) |
| ФабÑен ÐоÑлÑо (Fabien Coelho) |
| Фейке СÑинбеÑген (Feike Steenbergen) |
| Фил ÐÐ°Ð¹ÐµÑ (Phil Bayer) |
| Фил ФлоÑÐµÐ½Ñ (Phil Florent) |
| Филип РембÑлковÑкий (Filip Rembialkowski) |
| Филипп ÐÑбе (Philip Dubé) |
| ФÑÐ´Ð¾Ñ Ð¡Ð¸Ð³Ð°ÐµÐ² (Teodor Sigaev) |
| Хади ÐоÑаеди (Hadi Moshayedi) |
| ХайаÑо ÐÑÑода (Hayato Kuroda) |
| ХайлÑн Ðи (Hailong Li) |
| Хайме Ðазанова (Jaime Casanova) |
| Ð¥Ð°Ð½Ñ ÐÑÑман (Hans Buschmann) |
| ХаÑÐ¸Ð±Ð°Ð±Ñ Ðомми (Haribabu Kommi) |
| ХаÑÑка ТакаÑÑка (Haruka Takatsuka) |
| Хейкки ÐÐ¸Ð½Ð½Ð°ÐºÐ°Ð½Ð³Ð°Ñ (Heikki Linnakangas) |
| ХиÑÐ¾Ð½Ð¾Ð±Ñ Ð¡ÑдзÑки (Hironobu Suzuki) |
| ХоÑе ÐÑÑÑÑ ÐенеÑаÑÑо Ðилланова (José Arthur Benetasso Villanova) |
| Ð¥Ñан ХоÑе СанÑамаÑÐ¸Ñ Ð¤Ð»ÐµÑа (Juan José SantamarÃa Flecha) |
| Ð¥ÑбеÑÑ ÐÑбаÑевÑки (Hubert Lubaczewski) |
| Ð¥ÑÑ Ð Ð°Ð½Ð°Ð»Ð»Ð¸ (Hugh Ranalli) |
| ЦзÑнин Ян (Jianing Yang) |
| Чепмен ФлÑк (Chapman Flack) |
| Ð§Ð¶Ð¾Ñ Ðигоал (Zhou Digoal) |
| ЧÑÐ½Ñ Ð¥ÑаÑзÑÐ½Ñ (Chen Huajun) |
| ШиваÑÑбÑаманÑÑн РамаÑÑбÑаманÑÑн (Sivasubramanian Ramasubramanian) |
| Шо ÐаÑо (Sho Kato) |
| Шон ÐебнаÑÑ (Shawn Debnath) |
| Шон ÐжонÑÑон (Sean Johnston) |
| Ð¨Ð¾Ñ Ðо (Shouyu Luo) |
| ШÑеÑан Ðадов (Stefan Kadow) |
| ШÑй РоджанÑки (Shay Rojansky) |
| ÐдваÑÐ´Ñ ÐезвеÑÑ Ð¸Ð¹Ñ (Eduards Bezverhijs) |
| ÐдмÑнд ХоÑÐ½ÐµÑ (Edmund Horner) |
| ÐÐ¹Ð»ÐµÑ Ð¢Ð°Ð²ÐµÐ¹Ñа (Euler Taveira) |
| ÐÐ»Ð²Ð¸Ñ ÐÑанÑкевиÑÑÑ (Elvis Pranskevichus) |
| ÐманÑÑÐ»Ñ ÐÑаÑжо (Emanuel Araújo) |
| ÐмÑе ХаÑегели (Emre Hasegeli) |
| Ðнди ÐбелиÑÑо (Andy Abelisto) |
| ÐндÑÑ ÐиÑÑ (Andrew Gierth) |
| ÐндÑÑ ÐÑнÑÑан (Andrew Dunstan) |
| ÐндÑÑ Ð¤Ð»ÐµÑÑÐµÑ (Andrew Fletcher) |
| ÐнÑони ÐÑин (Anthony Greene) |
| ÐнÑони СкоÑÑки (Anthony Skorski) |
| ÐÑик ÐÐ¸Ñ (Eric Cyr) |
| ÐÑик РижкеÑÑ (Erik Rijkers) |
| ÐÑÑÑгÑÑл ÐÐ°Ñ Ð²ÐµÐ´Ð¶Ð¸ (Ertugrul Kahveci) |
| ÐÑÑÑо ФÑдзиÑа (Etsuro Fujita) |
| Юго ÐагаÑа (Yugo Nagata) |
| ЮзÑко ХоÑÐ¾Ñ (Yuzuko Hosoya) |
| Юймин Ðан (Yuming Wang) |
| Юлиан ХодоÑковÑкий (Yulian Khodorkovskiy) |
| ЮнÑЦÑн Ð¡Ñ (YunQiang Su) |
| ЮÑген ÐÑÑÑÑ (Jürgen Purtz) |
| ЮÑген ШÑÑÐ¾Ð±ÐµÐ»Ñ (Jürgen Strobel) |
| ЮÑий ÐÑÑенков (Yuri Kurenkov) |
| ЮÑÑÐºÑ ÐгаÑиÑа (Yusuke Egashira) |
| Якоб ÐÐ³Ð³ÐµÑ (Jakob Egger) |
| ЯкÑб Ðлапа (Jakub Glapa) |
| ЯкÑб ЯнеÑек (Jakub Janecek) |
| Ян Ð¥Ð¾Ñ Ð¾Ð» (Jan Chochol) |
| ЯÑоÑлав Ð¡Ð¸Ð²Ñ (Jaroslav Sivy) |
| ЯÑоÑлав ЩÑкин (Yaroslav Schekin) |