Π Π΅Π»ΠΈΠ· Π‘Π£Π‘Π” PostgreSQL 17

ПослС Π³ΠΎΠ΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° новая ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°Ρ Π²Π΅Ρ‚ΠΊΠ° Π‘Π£Π‘Π” PostgreSQL 17. ОбновлСния для Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ пяти Π»Π΅Ρ‚ Π΄ΠΎ ноября 2029 Π³ΠΎΠ΄Π°. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° PostgreSQL 12.x, самой старой ΠΈΠ· ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Π²Π΅Ρ‚ΠΎΠΊ, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° 14 ноября.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π²Π°:

  • ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ VACUUM (сборка мусора, чистка ΠΈ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° дискового Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°) задСйствована новая структура Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡŽΡ‰Π°Ρ Π΄ΠΎ 20 Ρ€Π°Π· мСньшС памяти. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° Π½ΠΎΠ²ΡƒΡŽ структуру ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ VACUUM ΠΈ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ совмСстно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… рСсурсов.
  • ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° оптимизация ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°. Благодаря ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ ΠΊΠΎΠ΄Π° для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π»ΠΎΠ³Π° ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ записи WAL ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π΄ΠΎ Π΄Π²ΡƒΡ… Ρ€Π°Π· ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ½ΡƒΡŽ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ записи Π² систСмах с большим числом ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ выполняСмых запросов. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ интСрфСйс ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°, позволивший ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… ΠΈ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ статистики для ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° запросов послС выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ANALYZE.
  • ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ запросов с Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ «IN», Ссли Π² Π½ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ индСксы Π½Π° Π±Π°Π·Π΅ структуры B-tree. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ построСния индСксов BRIN (Block Range Index). Π’ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ΅ запросов ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ «NOT NULL» ΠΈ ускорСна ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΎΠ±ΠΎΠ±Ρ‰Ρ‘Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ (Common Table Expression, CTE) опрСдСляСмых ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ SQL-ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «WITH». ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΎ использованиС Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Ρ… процСссорных инструкций (SIMD) для ускорСния Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… вычислСний, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для ускорСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ bit_count задСйствованы инструкции AVX-512.
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½ΠΎΠ²Ρ‹Ρ… возмоТностСй для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ JSON, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… Π² стандартС SQL/JSON. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° функция JSON-TABLE для прСобразования Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° JSON Π² ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ PostgreSQL, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ jsonpath для прСобразования Π΄Π°Π½Π½Ρ‹Ρ… JSON Π² Ρ€ΠΎΠ΄Π½Ρ‹Π΅ для PostgreSQL Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для создания (JSON, JSON_SCALAR ΠΈ JSON_SERIALIZE) ΠΈ запроса (JSON_EXISTS, JSON_QUERY ΠΈ JSON_VALUE) Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JSON.
  • Π Π°ΡΡˆΠΈΡ€Π΅Π½Ρ‹ возмоТности SQL-ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «MERGE», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΉ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ условныС SQL-выраТСния, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΠ΅ Π² ΠΎΠ΄Π½ΠΎΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ INSERT, UPDATE ΠΈ DELETE. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° выраТСния RETURNING, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ значСния Π½Π° основС Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Ρ…, ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹Ρ… строк. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° обновлСния прСдставлСний.
  • Π Π°ΡΡˆΠΈΡ€Π΅Π½Ρ‹ возмоТности Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ экспорта Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ COPY Π΄ΠΎ Π΄Π²ΡƒΡ… Ρ€Π°Π· ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ экспорта Π±ΠΎΠ»ΡŒΡˆΠΈΡ… строк, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈ совпадСнии исходной ΠΈ Ρ†Π΅Π»Π΅Π²Ρ‹Ρ… ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция ON_ERROR, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ ΠΈΠΌΠΏΠΎΡ€Ρ‚ послС ошибок ΠΏΡ€ΠΈ вставкС Π΄Π°Π½Π½Ρ‹Ρ….
  • Для сСкционированных Ρ‚Π°Π±Π»ΠΈΡ† Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования столбцов с ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ запросов «Constraint exclusion».
  • Π’ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π²Π½Π΅ΡˆΠ½ΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ† Foreign Data Wrapper (postgres_fdw) Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π½Π° внСшний сСрвСр подзапросов «EXISTS» ΠΈ «IN».
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ встроСнный платформонСзависимый Π΄Π²ΠΈΠΆΠΎΠΊ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ свойств Π»ΠΎΠΊΠ°Π»ΠΈ «Collation», ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для задания ΠΏΡ€Π°Π²ΠΈΠ» сортировки ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² сопоставлСния с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ смысла символов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ сортировкС Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ учитываСтся Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ минуса ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΏΠ΅Ρ€Π΅Π΄ числом ΠΈ Ρ€Π°Π·Π½Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ написания, Π° ΠΏΡ€ΠΈ сравнСнии Π½Π΅ принимаСтся Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ рСгистр символов ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π·Π½Π°ΠΊΠ° ударСния). Новый Π΄Π²ΠΈΠΆΠΎΠΊ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Π΄ΠΈΠ½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ сортировкС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² запросов, Π½Π΅ зависящСС ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π½Π° ΠΊΠ°ΠΊΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ запускаСтся PostgreSQL.
  • Π’ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ΅ логичСской Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΌ Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ сСрвСр измСнСния, вносимыС Π² Π‘Π” Π² Ρ…ΠΎΠ΄Π΅ добавлСния, удалСния ΠΈΠ»ΠΈ обновлСния записСй, ΡƒΠΏΡ€ΠΎΡ‰Ρ‘Π½ процСсс обновлСния Π‘Π£Π‘Π”. Если Ρ€Π°Π½ΡŒΡˆΠ΅ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ выпуск ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ слоты логичСской Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· удалСния слотов. Для отказоустойчивых ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ управлСния ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π½Π° запасной сСрвСр (failover) для логичСской Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° новая ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° pg_createsubscriber для прСобразования физичСской Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ Π² Π½ΠΎΠ²ΡƒΡŽ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ€Π΅ΠΏΠ»ΠΈΠΊΡƒ.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° новая опция «sslnegotiation» для прямого согласования Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½Ρ‹Ρ… TLS-соСдинСний с использованиСм TLS-Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ALPN.
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° прСдопрСдСлённая Ρ€ΠΎΠ»ΡŒ pg_maintain, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΏΡ€Π°Π²ΠΎ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, связанных с обслуТиваниСм Π‘Π£Π‘Π”.
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ pg_basebackup, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡƒΡŽ для создания Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ Π‘Π”, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… бэкапов. Для рСконструирования ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ бэкапа ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° новая ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° pg_combinebacku. Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ pg_dump Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—filter» для Π²Ρ‹Π±ΠΎΡ€Π° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… Π² Π΄Π°ΠΌΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².
  • ΠŸΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ запросов ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ SQL-ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «EXPLAIN» Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π²Ρ‹Π²ΠΎΠ΄ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΏΠΎΡ‚Ρ€Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ запись Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ² ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅/Π²Ρ‹Π²ΠΎΠ΄Π΅. Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «EXPLAIN» Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π΄Π²Π΅ Π½ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΡ†ΠΈΠΈ «MEMORY» ΠΈ «SERIALIZE», ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ использованной памяти ΠΈ врСмя, ΠΏΠΎΡ‚Ρ€Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ Π½Π° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠΎ сСти.
  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½Π° индикация прогрСсса выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ VACUUM с индСксами.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ систСмноС прСдставлСниС pg_wait_events, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π² сочСтании с прСдставлСниСм pg_stat_activity позволяСт ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ нахоТдСния Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… сСансов Π² состоянии оТидания.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru