ВСрсия Π½Π° PostgreSQL 13

Π‘Π»Π΅Π΄ Π³ΠΎΠ΄ΠΈΠ½Π° Π½Π° Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ΠΎ Π½ΠΎΠ² стабилСн ΠΊΠ»ΠΎΠ½ Π½Π° Π‘Π£Π‘Π” PostgreSQL 13. Актуализации Π·Π° Π½ΠΎΠ² ΠΊΠ»ΠΎΠ½ Ρ‰Π΅ ΠΈΠ·Π»Π΅Π·Π΅ Π·Π° ΠΏΠ΅Ρ‚ Π³ΠΎΠ΄ΠΈΠ½ΠΈ Π΄ΠΎ Π½ΠΎΠ΅ΠΌΠ²Ρ€ΠΈ 2025 Π³.

ΠžΡΠ½ΠΎΠ²Π½Π°Ρ‚Π° ΠΈΠ½ΠΎΠ²Π°Ρ†ΠΈΠΈ:

  • Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΎ дСдупликация записи Π² индСкси Π½Π° B-Π΄ΡŠΡ€Π²ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈ възмоТно подобряванСто Π½Π° производитСлността Π½Π° заявкитС ΠΈ намаляванС Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° дисково пространство ΠΏΡ€ΠΈ индСксиранС Π½Π° записи с Π΄ΡƒΠ±Π»ΠΈΡ€Π°Π½ΠΈ Π΄Π°Π½Π½ΠΈ. ДСдупликацията сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° Ρ‡Ρ€Π΅Π· ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎ стартиранС Π½Π° ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€, ΠΊΠΎΠΉΡ‚ΠΎ обСдинява Π³Ρ€ΡƒΠΏΠΈ ΠΎΡ‚ повтарящи сС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΈ замСня Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ΠΈΡ‚Π΅ с Π²Ρ€ΡŠΠ·ΠΊΠΈ към Π΅Π΄Π½ΠΎ ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅.
  • ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° производитСлност Π½Π° заявкитС, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π°Π³Ρ€Π΅Π³Π°Ρ‚Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π³Ρ€ΡƒΠΏΠΈΡ€Π°Π½ΠΈ Π½Π°Π±ΠΎΡ€ΠΈ (Π“Π Π£ΠŸΠ˜Π ΠΠΠ• НА ΠšΠžΠœΠŸΠ›Π•ΠšΠ’Π˜) ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π³Ρ€Π°Π΄Π΅Π½ (Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈ) маси. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈΡ‚Π΅ Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Ρ…Π΅ΡˆΠΎΠ²Π΅ вмСсто дСйствитСлни Π΄Π°Π½Π½ΠΈ ΠΏΡ€ΠΈ Π°Π³Ρ€Π΅Π³ΠΈΡ€Π°Π½Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ избягва поставянСто Π½Π° всички Π΄Π°Π½Π½ΠΈ Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ заявки. ΠŸΡ€ΠΈ раздСлянС броят Π½Π° ситуациитС, Π² ΠΊΠΎΠΈΡ‚ΠΎ дяловСтС ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΎΡ‚Ρ…Π²ΡŠΡ€Π»Π΅Π½ΠΈ ΠΈΠ»ΠΈ ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈ, Π΅ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½Π° ΡΡ‚Π°Ρ‚ΠΈΡΡ‚ΠΈΠΊΠ°ΡΡŠΠ·Π΄Π°Π΄Π΅Π½ Ρ‡Ρ€Π΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° CREATE STATISTICS Π·Π° подобряванС Π½Π° СфСктивността Π½Π° ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½Π΅ Π½Π° заявки, ΠΊΠΎΠΈΡ‚ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‚ условия Π˜Π›Π˜ ΠΈΠ»ΠΈ Ρ‚ΡŠΡ€ΡΠ΅Π½ΠΈΡ Π² списък с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΈΠ·Ρ€Π°Π·ΠΈ IN ΠΈΠ»ΠΈ ANY.
  • ΠŸΠΎΡ‡ΠΈΡΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° индСкси ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π΅ ускорСно Π’ΠΠšΠ£Π£Πœ Ρ‡Ρ€Π΅Π· ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΡΡŠΠ±ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΎΡ‚ΠΏΠ°Π΄ΡŠΡ†ΠΈ Π² индСкси. Използвайки новия ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ "PARALLEL", Π°Π΄ΠΌΠΈΠ½ΠΈΡΡ‚Ρ€Π°Ρ‚ΠΎΡ€ΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈ броя Π½Π° Π½ΠΈΡˆΠΊΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π·Π° VACUUM. Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€Π°Π½Π΅ Π½Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ изпълнСниС Π½Π° VACUUM слСд вмъкванС Π½Π° Π΄Π°Π½Π½ΠΈ.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° постСпСнно сортиранС, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ позволява Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π΄Π°Π½Π½ΠΈ, сортирани Π½Π° ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΈΡ Π΅Ρ‚Π°ΠΏ, Π·Π° Π΄Π° ускоритС сортиранСто Π½Π° слСдващитС Π΅Ρ‚Π°ΠΏΠΈ ΠΎΡ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° заявката. Π—Π° Π΄Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Ρ‚Π΅ Π½ΠΎΠ²Π°Ρ‚Π° оптимизация Π² ΠΏΠ»Π°Π½Π΅Ρ€Π° Π½Π° заявки, ΠΈΠΌΠ° настройка β€žΠ°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΎ_ΡΠΎΡ€Ρ‚ΠΈΡ€Π°Π½Π΅β€œ, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° слотовС Π·Π° рСпликация, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ позволява Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Π΄Π° Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°Ρ‚Π΅ Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° сСгмСнтитС Π½Π° рСгистрационния Ρ„Π°ΠΉΠ» с ΠΌΡŠΡ€Π·Π΅Π»ΠΈΠ² запис (WAL), Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Π½Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈ ΠΎΡ‚ всички Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΈ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ, ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Ρ‰ΠΈ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ. Π‘Π»ΠΎΡ‚ΠΎΠ²Π΅Ρ‚Π΅ Π·Π° рСпликация ΡΡŠΡ‰ΠΎ Π½Π΅ позволяват Π½Π° основния ΡΡŠΡ€Π²ΡŠΡ€ Π΄Π° ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π° Ρ€Π΅Π΄ΠΎΠ²Π΅, ΠΊΠΎΠΈΡ‚ΠΎ Π±ΠΈΡ…Π° ΠΌΠΎΠ³Π»ΠΈ Π΄Π° причинят ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΈ, Π΄ΠΎΡ€ΠΈ Π°ΠΊΠΎ рСзСрвният ΡΡŠΡ€Π²ΡŠΡ€ Π΅ ΠΎΡ„Π»Π°ΠΉΠ½. ИзползванС Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° max_slot_wal_keep_size Π’Π΅Ρ‡Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅ максималния Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½Π° WAL Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅, Π·Π° Π΄Π° ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚Π΅ ΠΈΠ·Ρ‡Π΅Ρ€ΠΏΠ²Π°Π½Π΅ Π½Π° дисковото пространство.
  • Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π·Π° наблюдСниС Π½Π° активността Π½Π° Π‘Π£Π‘Π” са Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈ: ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° EXPLAIN прСдоставя ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° статистика Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° WAL ΠΆΡƒΡ€Π½Π°Π»Π°; V pg_basebackup прСдоставСна Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° прослСдяванС Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ΠΈΡ‚Π΅ Π°Ρ€Ρ…ΠΈΠ²ΠΈ; ΠšΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° ANALYZE прСдоставя индикация Π·Π° Π½Π°ΠΏΡ€Π΅Π΄ΡŠΠΊΠ° Π½Π° опСрацията.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π½ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° pg_verifybackup Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° цСлостта Π½Π° Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ‚Π΅, създадСни ΠΎΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° pg_basebackup.
  • ΠšΠΎΠ³Π°Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ с JSON с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ jsonpath Позволява Π½Π° функцията datetime() Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Π½Π΅ Π½Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ Π·Π° Π²Ρ€Π΅ΠΌΠ΅ (Π½ΠΈΠ·ΠΎΠ²Π΅ ISO 8601 ΠΈ собствСни Ρ‚ΠΈΠΏΠΎΠ²Π΅ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° PostgreSQL). НапримСр ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ конструкциитС "jsonb_path_query('["2015-8-1", "2015-08-12"]', '$[*] ? (@.datetime() < "2015-08-2 ".datetime ())')" ΠΈ "jsonb_path_query_array('["12:30", "18:40"]', '$[*].datetime("HH24:MI")')".
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π²Π³Ρ€Π°Π΄Π΅Π½Π° функция gen_random_uuid () Π·Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° UUID v4.
  • БистСмата Π·Π° раздСлянС осигурява пълна ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° логичСска рСпликация ΠΈ Ρ‚Π΅Π·ΠΈ, посочСни ΠΎΡ‚ ΠΈΠ·Ρ€Π°Π·Π° β€žΠŸΠ Π•Π”Π˜β€œ.
    Ρ‚Ρ€ΠΈΠ³Π΅Ρ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ работят Π½Π° Π½ΠΈΠ²ΠΎ Ρ€Π΅Π΄.

  • Бинтаксис "Π˜Π—Π’Π›Π•Π§Π˜ ПΠͺΠ Π’Πž" Π²Π΅Ρ‡Π΅ позволява ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΈΠ·Ρ€Π°Π· "WITH TIES" Π·Π° Π²Ρ€ΡŠΡ‰Π°Π½Π΅ Π½Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅, ΠΊΠΎΠΈΡ‚ΠΎ са Π² края Π½Π° Π½Π°Π±ΠΎΡ€Π° ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ слСд ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° "ORDER BY".
  • Π’Π½Π΅Π΄Ρ€ΠΈ концСпцията Π·Π° Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈ Π΄ΠΎΠ±Π°Π²ΠΊΠΈ (β€œΠ΄ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅"), ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС инсталиран ΠΎΡ‚ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ нямат администраторски ΠΏΡ€Π°Π²Π° Π½Π° Π‘Π£Π‘Π”. Π‘ΠΏΠΈΡΡŠΠΊΡŠΡ‚ с Ρ‚Π°ΠΊΠΈΠ²Π° Π΄ΠΎΠ±Π°Π²ΠΊΠΈ ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ Π΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½ ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ ΠΎΡ‚ супСрпотрСбитСля. НадСТднитС Π΄ΠΎΠ±Π°Π²ΠΊΠΈ Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚ pgcrypto, tablefunc, hstore ΠΈ Ρ‚.Π½.
  • ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡŠΡ‚ Π·Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° външни Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ Foreign Data Wrapper (postgres_fdw) Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Π±Π°Π·ΠΈΡ€Π°Π½ΠΎ Π½Π° сСртификат удостовСряванС. ΠšΠΎΠ³Π°Ρ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° SCRAM удостовСряванС, Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π΄Π° поискат "ΠΎΠ±Π²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° ΠΊΠ°Π½Π°Π»Π°"(ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° ΠΊΠ°Π½Π°Π»).

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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€