ΠžΠ±Ρ˜Π°Π²ΡƒΠ²Π°ΡšΠ΅ Π½Π° PostgreSQL 12

Π’ΠΈΠΌΠΎΡ‚ Π½Π° PostgreSQL Π³ΠΎ објави ΠΎΠ±Ρ˜Π°Π²ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° PostgreSQL 12, Π½Π°Ρ˜Π½ΠΎΠ²Π°Ρ‚Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π° Π½Π° систСмот Π·Π° ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со Ρ€Π΅Π»Π°Ρ†ΠΈΠΎΠ½Π° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄.
PostgreSQL 12 Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈ пСрформанситС Π½Π° Π±Π°Ρ€Π°ΡšΠ΅Ρ‚ΠΎ - особСно ΠΊΠΎΠ³Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ со Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΊΠΎΠ»ΠΈΡ‡ΠΈΠ½ΠΈ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, Π° исто Ρ‚Π°ΠΊΠ° Π³ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°ΡˆΠ΅ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅Ρ‚ΠΎ Π½Π° просторот Π½Π° дискот Π²ΠΎΠΎΠΏΡˆΡ‚ΠΎ.

НовитС карактСристики Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°Π°Ρ‚:

  • ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π½Π° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ Π·Π° Π±Π°Ρ€Π°ΡšΠ΅ JSON Path (Π½Π°Ρ˜Π²Π°ΠΆΠ½ΠΈΠΎΡ‚ Π΄Π΅Π» ΠΎΠ΄ стандардот SQL/JSON);
  • ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π½Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° Π·Π°Π΅Π΄Π½ΠΈΡ‡ΠΊΠΈ Ρ‚Π°Π±Π΅Π»ΠΈ ΠΈΠ·Ρ€Π°Π·ΠΈ (WITH);
  • ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΈ

Π—Π°Π΅Π΄Π½ΠΈΡ†Π°Ρ‚Π°, исто Ρ‚Π°ΠΊΠ°, ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΡƒΠ²Π° Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π° ΠΏΡ€ΠΎΡˆΠΈΡ€ΡƒΠ²Π°ΡšΠ΅ ΠΈ довСрливост Π½Π° PostgreSQL, Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ˜ΡœΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° ΠΈΠ½Ρ‚Π΅Ρ€Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π°, способности Π·Π° Π°Π²Ρ‚Π΅Π½Ρ‚ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° ΠΈ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π°Ρ˜ΡœΠΈ полСсни Π½Π°Ρ‡ΠΈΠ½ΠΈ Π·Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡ‚Ρ€ΠΈΡ€Π°ΡšΠ΅ Π½Π° систСмот.

Ова ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜Ρ Π·Π° ΠΏΡ€ΠΈΠΊΠ»ΡƒΡ‡Π»ΠΈΠ²ΠΈ ΠΌΠΎΡ‚ΠΎΡ€ΠΈ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅, ΡˆΡ‚ΠΎ сСга ΠΈΠΌ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Π΄Π° ΠΊΡ€Π΅ΠΈΡ€Π°Π°Ρ‚ сопствСни ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ.

ΠŸΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π°ΡšΠ΅ Π½Π° пСрформанситС

PostgreSQL 12 Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π°ΡšΠ° Π²ΠΎ пСрформанситС ΠΈ ΠΎΠ΄Ρ€ΠΆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π·Π° систСмитС Π·Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€Π°ΡšΠ΅ ΠΈ ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€Π°ΡšΠ΅.

Π˜Π½Π΄Π΅ΠΊΡΠΈΡ‚Π΅ Π½Π° Π‘-Π΄Ρ€Π²ΠΎΡ‚ΠΎ, стандардниот Ρ‚ΠΈΠΏ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€Π°ΡšΠ΅ Π²ΠΎ PostgreSQL, сС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ΠΈ Π²ΠΎ Π²Π΅Ρ€Π·ΠΈΡ˜Π°Ρ‚Π° 12 Π·Π° ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ° ΠΊΠΎΠΈ Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°Π°Ρ‚ чСсти ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π° индСкситС. ΠšΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅Ρ‚ΠΎ Π½Π° Ρ€Π΅ΠΏΠ΅Ρ€ΠΎΡ‚ TPC-C Π·Π° PostgreSQL 12 ΠΏΠΎΠΊΠ°ΠΆΠ° просСчно 40% Π½Π°ΠΌΠ°Π»ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅Ρ‚ΠΎ простор ΠΈ сСвкупно Π·Π³ΠΎΠ»Π΅ΠΌΡƒΠ²Π°ΡšΠ΅ Π½Π° пСрформанситС Π½Π° Π±Π°Ρ€Π°ΡšΠ΅Ρ‚ΠΎ.

Π‘Π°Ρ€Π°ΡšΠ°Ρ‚Π° ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΈ Ρ‚Π°Π±Π΅Π»ΠΈ добија Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡ‚Π΅Π»Π½ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π°ΡšΠ°, особСно Π·Π° Ρ‚Π°Π±Π΅Π»ΠΈΡ‚Π΅ ΡˆΡ‚ΠΎ сС ΡΠΎΡΡ‚ΠΎΡ˜Π°Ρ‚ ΠΎΠ΄ ΠΈΠ»Ρ˜Π°Π΄Π½ΠΈΡ†ΠΈ ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΈ ΠΊΠΎΠΈ Π±Π°Ρ€Π°Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π° со само ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈ Π΄Π΅Π»ΠΎΠ²ΠΈ ΠΎΠ΄ Π½ΠΈΠ·ΠΈΡ‚Π΅ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈ сС пСрформанситС Π·Π° додавањС ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π½Π° ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€Π°Π½ΠΈ Ρ‚Π°Π±Π΅Π»ΠΈ со помош Π½Π° INSERT ΠΈ COPY, ΠΊΠ°ΠΊΠΎ ΠΈ моТноста Π·Π° ΠΏΡ€ΠΈΠΊΠ°Ρ‡ΡƒΠ²Π°ΡšΠ΅ Π½ΠΎΠ²Π° ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΡ˜Π° Π±Π΅Π· Π±Π»ΠΎΠΊΠΈΡ€Π°ΡšΠ΅ ΠΏΡ€Π°ΡˆΠ°ΡšΠ°.

PostgreSQL 12 Π½Π°ΠΏΡ€Π°Π²ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π°ΡšΠ° Π²ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ ΠΊΠΎΠΈ Π²Π»ΠΈΡ˜Π°Π°Ρ‚ Π½Π° сСвкупнитС пСрформанси, Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°Ρ˜ΡœΠΈ:

  • Π½Π°ΠΌΠ°Π»Π΅Π½ΠΈ Ρ‚Ρ€ΠΎΡˆΠΎΡ†ΠΈ ΠΏΡ€ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°ΡšΠ΅ WAL Π·Π° Ρ‚ΠΈΠΏΠΎΠ²ΠΈ Π½Π° индСкси GiST, GIN ΠΈ SP-GiST;
  • способноста Π΄Π° сС создадат Ρ‚Π°ΠΊΠ°Π½Π°Ρ€Π΅Ρ‡Π΅Π½ΠΈ индСкси Π·Π° ΠΏΠΎΠΊΡ€ΠΈΠ²Π°ΡšΠ΅ (INCLUDE ΠΊΠ»Π°ΡƒΠ·ΡƒΠ»Π°) Π½Π° индСкситС GiST;
  • способност Π·Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΡ€Π°ΡˆΠ°ΡšΠ° Π·Π° β€žΠ½Π°Ρ˜Π±Π»ΠΈΡΠΊΠΈΠΎΡ‚ ΡΠΎΡΠ΅Π΄β€œ (ΠΏΡ€Π΅Π±Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ k-NN) со ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΡ‚ Π·Π° Ρ€Π°ΡΡ‚ΠΎΡ˜Π°Π½ΠΈΠ΅ () ΠΈ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° индСкси SP-GiST;
  • ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° ΡΠΎΠ±ΠΈΡ€Π°ΡšΠ΅ статистики Π·Π° Π½Π°Ρ˜Ρ‡Π΅ΡΡ‚ΠΈΡ‚Π΅ врСдности (MCV) со помош Π½Π° CREATE STATISTICS, ΡˆΡ‚ΠΎ ΠΏΠΎΠΌΠ°Π³Π° Π΄Π° сС Π΄ΠΎΠ±ΠΈΡ˜Π°Ρ‚ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈ ΠΏΠ»Π°Π½ΠΎΠ²ΠΈ Π·Π° ΠΏΡ€Π΅Π±Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ ΠΊΠΎΠ³Π° сС користат ΠΊΠΎΠ»ΠΎΠ½ΠΈ Ρ‡ΠΈΠΈ врСдности сС Π½Π΅Ρ€Π°ΠΌΠ½ΠΎΠΌΠ΅Ρ€Π½ΠΎ распрСдСлСни.

ΠšΠΎΠΌΠΏΠΈΠ»Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° JIT со помош Π½Π° LLVM, Π²ΠΎΠ²Π΅Π΄Π΅Π½Π° Π²ΠΎ PostgreSQL 11, сСга Π΅ стандардно ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½Π°. ΠšΠΎΠΌΠΏΠΈΠ»Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° JIT Π³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π° пСрформанситС ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° со ΠΈΠ·Ρ€Π°Π·ΠΈ Π²ΠΎ WHERE ΠΊΠ»Π°ΡƒΠ·ΡƒΠ»ΠΈ, Ρ†Π΅Π»Π½ΠΈ листи, Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΈ ΠΈ Π½Π΅ΠΊΠΎΠΈ Π²Π½Π°Ρ‚Ρ€Π΅ΡˆΠ½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Достапно Π΅ Π°ΠΊΠΎ стС ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»ΠΈΡ€Π°Π»Π΅ PostgreSQL со LLVM ΠΈΠ»ΠΈ користитС ΠΏΠ°ΠΊΠ΅Ρ‚ PostgreSQL ΡˆΡ‚ΠΎ Π΅ ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ со ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ LLVM.

ΠŸΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π°ΡšΠ° Π½Π° Ρ˜Π°Π·ΠΈΡ‡Π½ΠΈΡ‚Π΅ способности Π½Π° SQL ΠΈ стандардна компатибилност

PostgreSQL 12 ја Π²ΠΎΠ²Π΅Π΄Π΅ моТноста Π·Π° Π±Π°Ρ€Π°ΡšΠ΅ JSON Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈ со помош Π½Π° ΠΈΠ·Ρ€Π°Π·ΠΈ Π½Π° ΠΏΠ°Ρ‚Π΅ΠΊΠ°Ρ‚Π° JSON Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½ΠΈ Π²ΠΎ стандардот SQL/JSON. Π’Π°ΠΊΠ²ΠΈΡ‚Π΅ Π±Π°Ρ€Π°ΡšΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΈ искористат постоСчкитС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€Π°ΡšΠ΅ Π·Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅ складирани Π²ΠΎ JSONB Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π·Π° Сфикасно Π²Ρ€Π°ΡœΠ°ΡšΠ΅ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅.

Π’ΠΎΠΎΠ±ΠΈΡ‡Π°Π΅Π½ΠΈΡ‚Π΅ ΠΈΠ·Ρ€Π°Π·ΠΈ Π½Π° Ρ‚Π°Π±Π΅Π»ΠΈΡ‚Π΅, ΠΏΠΎΠ·Π½Π°Ρ‚ΠΈ ΠΈ ΠΊΠ°ΠΊΠΎ WITH queries, сСга ΠΌΠΎΠΆΠ°Ρ‚ автоматски Π΄Π° сС ΠΈΠ·Π²Ρ€ΡˆΠ°Ρ‚ со помош Π½Π° Π·Π°ΠΌΠ΅Π½Π° Π²ΠΎ PostgreSQL 12, ΡˆΡ‚ΠΎ ΠΏΠ°ΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π΄Π° сС ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Ρ‚ пСрформанситС Π½Π° ΠΌΠ½ΠΎΠ³Ρƒ постоСчки Π±Π°Ρ€Π°ΡšΠ°. Π’ΠΎ Π½ΠΎΠ²Π°Ρ‚Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π°, замСнскиот Π΄Π΅Π» ΠΎΠ΄ Π±Π°Ρ€Π°ΡšΠ΅Ρ‚ΠΎ БО ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·Π²Ρ€ΡˆΠΈ само Π°ΠΊΠΎ Π½Π΅ Π΅ Ρ€Π΅ΠΊΡƒΡ€Π·ΠΈΠ²Π΅Π½, Π½Π΅ΠΌΠ° нСсакани Π΅Ρ„Π΅ΠΊΡ‚ΠΈ ΠΈ Π΅ Ρ€Π΅Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΡ€Π°Π½ само Сднаш Π²ΠΎ слСдСн Π΄Π΅Π» ΠΎΠ΄ Π±Π°Ρ€Π°ΡšΠ΅Ρ‚ΠΎ.

PostgreSQL 12 Π²ΠΎΠ²Π΅Π΄ΡƒΠ²Π° ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° β€žΠ³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΈβ€œ. Опишан Π²ΠΎ стандардот SQL, овој Ρ‚ΠΈΠΏ Π½Π° ΠΊΠΎΠ»ΠΎΠ½Π° прСсмСтува врСдност Π²Ρ€Π· основа Π½Π° содрТината Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΈ Π²ΠΎ истата Ρ‚Π°Π±Π΅Π»Π°. Π’ΠΎ ΠΎΠ²Π°Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π°, PostgreSQL ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π° β€žΠ·Π°Ρ‡ΡƒΠ²Π°Π½ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΈβ€œ, ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ прСсмСтаната врСдност сС Π·Π°Ρ‡ΡƒΠ²ΡƒΠ²Π° Π½Π° дискот.

Π˜Π½Ρ‚Π΅Ρ€Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π°

PostgreSQL 12 ја ΠΏΡ€ΠΎΡˆΠΈΡ€ΡƒΠ²Π° ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ°Ρ‚Π° Π·Π° ICU ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ°Ρ‚Π° Π΄ΠΎΠ·Π²ΠΎΠ»ΡƒΠ²Π°Ρ˜ΡœΠΈ ΠΈΠΌ Π½Π° корисницитС Π΄Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π°Ρ‚ β€žΠ½Π΅Π΄Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡΡ‚ΠΈΡ‡ΠΊΠΈ ΡΠΏΠΎΡ€Π΅Π΄Π±ΠΈβ€œ ΠΊΠΎΠΈ ΠΌΠΎΠΆΠ°Ρ‚, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π° Π΄ΠΎΠ·Π²ΠΎΠ»Π°Ρ‚ спорСдби ΠΊΠΎΠΈ Π½Π΅ сС чувствитСлни Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Π±ΡƒΠΊΠ²ΠΈ ΠΈΠ»ΠΈ Π°ΠΊΡ†Π΅Π½Ρ‚ΠΈ.

ΠΠ²Ρ‚Π΅Π½Ρ‚ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°

PostgreSQL ја ΠΏΡ€ΠΎΡˆΠΈΡ€ΡƒΠ²Π° ΡΠ²ΠΎΡ˜Π°Ρ‚Π° ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° силни ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π·Π° Π°Π²Ρ‚Π΅Π½Ρ‚ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° со Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π°ΡšΠ° ΠΊΠΎΠΈ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π°Π°Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° бСзбСдност ΠΈ функционалност. Ова ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΎΠ²Π΅Π΄ΡƒΠ²Π° ΡˆΠΈΡ„Ρ€ΠΈΡ€Π°ΡšΠ΅ ΠΎΠ΄ страна Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ ΠΈ ΠΎΠ΄ страна Π½Π° сСрвСрот Π·Π° Π°Π²Ρ‚Π΅Π½Ρ‚ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° ΠΏΡ€Π΅ΠΊΡƒ GSSAPI ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜ΡΠΈ, ΠΊΠ°ΠΊΠΎ ΠΈ моТност Π·Π° PostgreSQL Π΄Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π° LDAP сСрвСри ΠΊΠΎΠ³Π° PostgreSQL сС ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»ΠΈΡ€Π° со OpenLDAP.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ, PostgreSQL 12 сСга ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π° ΠΎΠΏΡ†ΠΈΡ˜Π° Π·Π° Π°Π²Ρ‚Π΅Π½Ρ‚ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° со повСќС Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈ. Π‘Π΅Ρ€Π²Π΅Ρ€ΠΎΡ‚ PostgreSQL сСга ΠΌΠΎΠΆΠ΅ Π΄Π° Π±Π°Ρ€Π° ΠΎΠ΄ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ Π΄Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ Π²Π°Π»ΠΈΠ΄Π΅Π½ SSL сСртификат со соодвСтното корисничко ΠΈΠΌΠ΅ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ clientcert=verify-full, ΠΈ Π΄Π° Π³ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π° ΠΎΠ²Π° со посСбСн услов Π·Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π° Π°Π²Ρ‚Π΅Π½Ρ‚ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° (Π½Π° ΠΏΡ€. scram-sha-256).

ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΡ˜Π°

PostgreSQL 12 ја Π²ΠΎΠ²Π΅Π΄Π΅ моТноста Π·Π° ΠΎΠ±Π½ΠΎΠ²ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€Π°Ρ‡ΠΊΠΈ индСкси ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ ја ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° REINDEX CONCURRENTLY. Ова ΠΈΠΌ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π½Π° корисницитС Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π°Ρ‚ ΠΏΡ€Π΅ΠΊΠΈΠ½ Π½Π° DBMS Π·Π° Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Π΄ΠΎΠ»Π³ΠΈ ΠΎΠ±Π½ΠΎΠ²ΡƒΠ²Π°ΡšΠ° Π½Π° индСкси.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ, Π²ΠΎ PostgreSQL 12, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈΡ‚Π΅ ΠΈΠ»ΠΈ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΈ суми Π½Π° страници Π²ΠΎ кластСрот Π·Π° ΠΈΡΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°ΡšΠ΅ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ ја ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° pg_checksums. ΠŸΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΎ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΈΡ‚Π΅ суми Π½Π° страници, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° која ΠΏΠΎΠΌΠ°Π³Π° Π΄Π° сС ΠΏΠΎΡ‚Π²Ρ€Π΄ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ‚Π΅Ρ‚ΠΎΡ‚ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ Π·Π°Ρ‡ΡƒΠ²Π°Π½ΠΈ Π½Π° дискот, моТСшС Π΄Π° сС ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ само ΠΊΠΎΠ³Π° кластСрот PostgreSQL бСшС ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ со помош Π½Π° initdb.

Π˜Π·Π²ΠΎΡ€: linux.org.ru

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€