Π Π΅Π»ΠΈΠ· Π½Π° Π‘Π£Π‘Π” 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

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster