ΠΠΎΡΠ»Π΅ Π³ΠΎΠ΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° «
Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΡΡ ΡΡΠΎΠ»Π±ΡΠΎΠ² «, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΎΡ Π²Π°ΡΡΠ²Π°ΡΡΠ΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΡΡΠΎΠ»Π±ΡΠΎΠ² Π² ΡΠΎΠΉ ΠΆΠ΅ ΡΠ°Π±Π»ΠΈΡΠ΅ (Π°Π½Π°Π»ΠΎΠ³ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ, Π½ΠΎ Π΄Π»Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΡΠΎΠ»Π±ΡΠΎΠ²). ΠΠ΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΡΠ΅ ΡΡΠΎΠ»Π±ΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π΄Π²ΡΡ ΡΠΈΠΏΠΎΠ² — Ρ ΡΠ°Π½ΠΈΠΌΡΠ΅ ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅. Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , Π° Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ — ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΡΠ΅Π½ΠΈΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΡΡΠΎΠ»Π±ΡΠΎΠ². Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π² PostgreSQL ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΠ°Π½ΠΈΠΌΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΡΠ΅ ΡΡΠΎΠ»Π±ΡΡ; - ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π΄Π°Π½Π½ΡΡ
ΠΈΠ· JSON-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ
Path-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ , Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡΠΈΡXPath ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ΅ SQL/JSON. ΠΠ»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ², Ρ ΡΠ°Π½ΠΈΠΌΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JSONB, ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ; - ΠΠΊΠ»ΡΡΠ΅Π½ΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ JIT-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° (Just-in-Time) Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π½Π°ΡΠ°Π±ΠΎΡΠΎΠΊ LLVM Π΄Π»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ SQL-Π·Π°ΠΏΡΠΎΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, JIT ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌ Π΄Π»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π²Π½ΡΡΡΠΈ Π±Π»ΠΎΠΊΠΎΠ² «WHERE», Π² Π²ΡΡ ΠΎΠ΄Π½ΡΡ ΡΠΏΠΈΡΠΊΠ°Ρ (target lists), Π°Π³ΡΠ΅Π³Π°ΡΠ½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΡ ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡ ;
- Π‘ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ½Π΄Π΅ΠΊΡΡ B-tree ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ
ΡΠ°ΡΡΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² — Π² ΡΠ΅ΡΡΠ°Ρ
TPC-C Π½Π°Π±Π»ΡΠ΄Π°Π΅ΡΡΡ ΠΎΠ±ΡΠ΅Π΅ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° Π² ΡΡΠ΅Π΄Π½Π΅ΠΌ Π½Π° 40%. Π‘Π½ΠΈΠΆΠ΅Π½Ρ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ
ΠΎΠ΄Ρ ΠΏΡΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ Π»ΠΎΠ³Π° ΡΠΏΡΠ΅ΠΆΠ΄Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΠΈΡΠΈ (WAL) Π΄Π»Ρ ΡΠΈΠΏΠΎΠ² ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² GiST, GIN ΠΈ SP-GiST. ΠΠ»Ρ GiST Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ²-ΠΎΠ±ΡΡΡΠΎΠΊ (ΡΠ΅ΡΠ΅Π· Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ INCLUDE), Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΡ
Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠΎΠ»Π±ΡΡ. Π ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ
CREATE STATISTICS ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠΈΠΏΠΈΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΡ (MCV), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅ΠΉ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ»Π°Π½Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π΅ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΡΠΎΠ»Π±ΡΠΎΠ²; - Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ΅ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ (ΠΏΠ°ΡΡΠΈΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ) ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π° Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΎΡ Π²Π°ΡΡΠ²Π°ΡΡΠΈΡ ΡΠ°Π±Π»ΠΈΡΡ Ρ ΡΡΡΡΡΠ°ΠΌΠΈ ΡΠ΅ΠΊΡΠΈΠΉ, Π½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΠΈΡ ΡΡ Π²ΡΠ±ΠΎΡΠΊΠΎΠΉ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π΄Π°Π½Π½ΡΡ . Π£Π²Π΅Π»ΠΈΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π² ΡΠ΅ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ INSERT ΠΈ COPY, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΡΠ΅ΠΊΡΠΈΠΉ ΡΠ΅ΡΠ΅Π· «ALTER TABLE ATTACH PARTITION» Π±Π΅Π· Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ²;
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ inline-ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΡ ΠΎΠ±ΠΎΠ±ΡΡΠ½Π½ΡΡ
ΡΠ°Π±Π»ΠΈΡΠ½ΡΡ
Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ (
Common Table Expression , CTE), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠ΅ Π½Π°Π±ΠΎΡΡ, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° WITH. Inline-ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° Π·Π°ΠΏΡΠΎΡΠΎΠ², Π½ΠΎ ΠΏΠΎΠΊΠ° ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π½Π΅ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΡ CTE; - ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°
Π½Π΅Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ²ΠΎΠΉΡΡΠ² Π»ΠΎΠΊΠ°Π»ΠΈ «Collation», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ Π·Π°Π΄Π°Π²Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Ρ ΡΡΡΡΠΎΠΌ ΡΠΌΡΡΠ»Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅ ΡΠΈΡΡΠΎΠ²ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΌΠΈΠ½ΡΡΠ° ΠΈ ΡΠΎΡΠΊΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΈΡΠ»ΠΎΠΌ ΠΈ ΡΠ°Π·Π½ΡΠ΅ Π²ΠΈΠ΄Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ, Π° ΠΏΡΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈ Π½Π°Π»ΠΈΡΠΈΠ΅ Π·Π½Π°ΠΊΠ° ΡΠ΄Π°ΡΠ΅Π½ΠΈΡ); - ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ½ΠΎΠ³ΠΎΡΠ°ΠΊΡΠΎΡΠ½ΠΎΠΉ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ Π² pg_hba.conf Π΄Π»Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΏΠΎ SSL-ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ (clientcert=verify-full) c Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΡΠ°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ scram-sha-256;
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°Π½Π°Π»Π° ΡΠ²ΡΠ·ΠΈ ΠΏΡΠΈ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ΅ΡΠ΅Π·
GSSAPI , ΠΊΠ°ΠΊ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΡΠ°ΠΊ ΠΈ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ°; - ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ LDAP-ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π·Π°ΠΏΠΈΡΠ΅ΠΉ «DNS SRV», Π΅ΡΠ»ΠΈ PostgreSQL ΡΠΎΠ±ΡΠ°Π½ Ρ OpenLDAP;
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ «
REINDEX CONCURRENTLY » Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π±Π΅Π· Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π·Π°ΠΏΠΈΡΠΈ Π² ΠΈΠ½Π΄Π΅ΠΊΡ; - ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°
pg_checksums , ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ Π΄Π»Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΠ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΈ Π²ΡΠΊΠ»ΡΡΠ°ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΡΠΌΠΌ ΡΡΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ (ΡΠ°Π½Π΅Π΅ Π΄Π°Π½Π½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π»Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΠ); - ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ Π²ΡΠ²ΠΎΠ΄ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ° ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL ΠΈ pg_checksums;
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° «
CREATE ACCESS METHOD » Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π½ΠΎΠ²ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ°Π±Π»ΠΈΡ, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ Π·Π°Π΄Π°Ρ. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ «heap»; - Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ recovery.conf ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ½ Ρ postgresql.conf. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅ ΡΠ±ΠΎΡ ΡΠ΅ΠΏΠ΅ΡΡ
ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ recovery.signal ΠΈ standby.signal.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru