ΠΡΠΎ ΠΈΠ· Π½Π°Ρ Π½Π΅ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΡΡ Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΌΠΈ Ρ ΡΠ°Π½ΠΈΠΌΡΠΌΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°ΠΌΠΈ Π² PostgreSQL? ΠΠ°Π²Π΅ΡΠ½ΡΠΊΠ° ΡΠ°ΠΊΠΈΡ ΠΌΠ°Π»ΠΎ. Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ΅Π°Π»ΡΠ½ΠΎ ΡΡΠΊΠΎΡΠΈΡΡ ΠΈΡ ΡΠ°Π±ΠΎΡΡ. ΠΠΈΠΊΠ°ΠΊΠΎΠΉ ΡΡΡ ΠΎΠΉ ΡΠ΅ΠΎΡΠΈΠΈ β ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΠ΅ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ. Π Π°Π·Π±Π΅ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π·Π°ΠΏΡΠΎΡΡ, ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ Ρ ΠΈΡΡΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΡΠΈΠ²Π΅Ρ Π²ΡΠ΅ΠΌ!
Π―, ΠΠΏΠ°ΡΠΎΠ² ΠΠ»Π΅ΠΊΡΠ°Π½Π΄Ρ, backend-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ USETECH. Π₯ΠΎΡΠ΅Π» Π±Ρ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ Ρ Π²Π°ΠΌΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°ΠΌΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Ρ ΡΠ°Π½ΠΈΠΌΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡ Π½Π° PostreSQL.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Ρ ΡΠ°Π½ΠΈΠΌΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡ β ΡΡΠΎ Π²Π°ΠΆΠ½ΡΠΉ ΡΡΠ°ΠΏ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ Π±Π°Π· Π΄Π°Π½Π½ΡΡ . ΠΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ»ΡΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠΎΠΊΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈ ΡΠ½ΠΈΠ·ΠΈΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΡΠ°ΡΡΠΌΠΎΡΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Ρ ΡΠ°Π½ΠΈΠΌΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π²Π°ΠΌ Π΄ΠΎΡΡΠΈΡΡ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΡΠ΅Π»Π΅ΠΉ.
1. ΠΠ½Π°Π»ΠΈΠ· Π·Π°ΠΏΡΠΎΡΠΎΠ²
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ Π°Π½Π°Π»ΠΈΠ· ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²ΡΡΠ²ΠΈΡΡ ΡΠ·ΠΊΠΈΠ΅ ΠΌΠ΅ΡΡΠ° ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌΠΈ. ΠΠ»Ρ Π°Π½Π°Π»ΠΈΠ·Π° Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ:
- Explain analyze β ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΏΠ»Π°Π½ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ° ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
- Profiler β ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π² Π·Π°ΠΏΡΠΎΡΠ΅.
- ΠΠ΅ΡΠΊΠΈ Π²Π½ΡΡΡΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ β Ρ ΠΏΠΎΠΌΠΎΡΡΡ RAISENOTICE ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π² ΡΡΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΡΠΉ ΡΡΠ°ΡΡΠΎΠΊ Π² ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΈΠ΄Π΅Ρ Π΄ΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.
π» ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°
ΠΠΎΠ»ΡΡΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ Π½Π° Π½Π°ΡΠ΅ΠΌ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ Β«ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°Β»
2. ΠΠ½Π΄Π΅ΠΊΡΡ
ΠΠ· ΡΠ΅ΠΎΡΠΈΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ, ΡΡΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ β ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΡΠΎ Π²Π΅ΡΠ½ΠΎ Π»ΠΈΡΡ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΡΡΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ. Π’ΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΡΠΊΠΎΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π΄Π°Π½Π½ΡΠΌ ΠΈ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΠΈΡΡΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°ΠΊΡΠΎΡΡ:
- Π‘Π΅Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ β ΡΠ΅ΠΌ Π²ΡΡΠ΅ ΡΠ΅Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°, ΡΠ΅ΠΌ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π΅Π΅ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
- Π Π°Π·ΠΌΠ΅Ρ β ΡΠ΅ΠΌ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ°, ΡΠ΅ΠΌ Π±ΡΡΡΡΠ΅Π΅ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ ΠΈ ΡΠ΅ΠΌ ΠΌΠ΅Π½ΡΡΠ΅ ΠΌΠ΅ΡΡΠ° ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡ Π½Π° Π΄ΠΈΡΠΊΠ΅.
- Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΡ β ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΡΠΊΠΎΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡ ΡΠ°Π²Π΅Π½ΡΡΠ²Π°.
ΠΠΎ ΡΡΠΎ Π½Π΅ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌΠΈ ΡΠ°Π±Π»ΠΈΡΡ. ΠΠ° ΡΠ²ΠΎΠ΅ΠΌ ΠΎΠΏΡΡΠ΅ Ρ ΠΎΡΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠ΅Π³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ° β ΡΡΠΎ ΠΈΠ· ΡΠ°Π·ΡΡΠ΄Π° Β«ΠΎΠ΄ΠΈΠ½ Π½Π° ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Β». Π ΠΎΠ±ΡΡΠ½ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ, Π΄Π°ΠΆΠ΅ Π² ΠΈΠ·Π±ΡΡΠΊΠ΅.
3. ΠΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ
ΠΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ β ΡΡΠΎ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠΏΠΎΡΠΎΠ± ΡΡΠΊΠΎΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΠ½ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΡΠ°Π½ΡΡΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ . ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠΎ Π΅ΡΡΡ ΠΈ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ β Π΅Π³ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅. Π‘Π°ΠΌΠΎ ΠΏΠΎ ΡΠ΅Π±Π΅ ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΎΡΠ΅Π½Ρ Π·Π°ΡΡΠ°ΡΠ½ΠΎ, Π° ΡΡΠΎΠ±Ρ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π±ΡΠ»ΠΈ ΡΠ΅Π°Π»ΡΠ½ΠΎ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ β Π½ΡΠΆΠ½ΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ REFRESH ΡΡΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΡΠΌΠΎ Π²Π½ΡΡΡΠΈ Ρ ΡΠ°Π½ΠΈΠΌΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ. Π ΡΡΠΎ Π½Π΅ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ. ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° β ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ΄Π·Π°ΠΏΡΠΎΡ ΠΈΠ»ΠΈ CTE.
4. ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ²
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ² β ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΠ½Π° Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ°ΠΏΡ:
- Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π½Π΅Π½ΡΠΆΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ β ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π²Π»ΠΈΡΡΡ Π½Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π·Π°ΠΏΡΠΎΡΠ°, ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΊΠΎΡΠΈΡΡ Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ JOIN Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠΎΠ΄Π·Π°ΠΏΡΠΎΡΠΎΠ² β JOIN ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π΄Π²Π΅ ΡΠ°Π±Π»ΠΈΡΡ Π² ΠΎΠ΄Π½Ρ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΊΠΎΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠ°.
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² β ΠΊΠ°ΠΊ Π±ΡΠ»ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ Π²ΡΡΠ΅, ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΌΠΎΠ³ΡΡ ΡΡΠΊΠΎΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ².
ΠΠΎ Π΅ΡΠ»ΠΈ ΡΡΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎ Β«ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈΒ» ΡΠΆΠ΅ Π΄Π°Π²Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ:
- ΠΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΡΡΠΈΡΠ΅Π½Ρ, Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡ ΡΡΠΎ.
- ΠΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Ρ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΠ΅ΡΠ΅Π· JOIN-Ρ, Π½Π΅ Β«ΠΌΠ°ΠΌΠΎΠ½ΡΠ°ΠΌΠΈΒ».
- ΠΠ½Π΄Π΅ΠΊΡΠΎΠ² ΡΠΆΠ΅ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈ ΡΡΠΎΠΈΡ Π±ΠΎΠ»ΡΡΠΎΠΉ Π²ΠΎΠΏΡΠΎΡ ΠΏΠΎ Π°Π½Π°Π»ΠΈΠ·Ρ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ / ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π½Π΅Π½ΡΠΆΠ½ΡΡ / Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ / ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΌΠ°Π»ΠΎ.
Π’ΠΎΠ³Π΄Π° Π½Π° ΠΏΠΎΠΌΠΎΡΡ ΠΏΡΠΈΠ΄ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
- ΠΡΠΊΠ°Π· ΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡ Π² ΠΏΠΎΠ»ΡΠ·Ρ CTE ΠΈ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² β Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΠΌΠΎΠ³ΡΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π·Π°ΠΌΠ΅Π΄Π»ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ². CTE ΠΈ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΌ Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΡΡΠΊΠΎΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ².
- ΠΡΠΊΠ°Π· ΠΎΡ MATERIALIZED VIEW Π² ΠΏΠΎΠ»ΡΠ·Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡ ΠΈ CTE β ΠΊΠ°ΠΊ Π±ΡΠ»ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ Π²ΡΡΠ΅, MATERIALIZED VIEW ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π·Π°ΠΌΠ΅Π΄Π»ΡΡΡΡΡ ΠΏΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ. CTE ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΠΊΠΎΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ².
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ pg_variables Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ β pg_variables ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·Π³ΡΡΠ·ΠΈΡΡ read-write Π½ΠΎΠ΄Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° PostgreSQL ΠΈ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ ΡΠ°ΡΡΡ ΠΎΡΡΡΡΠ½ΡΡ Ρ ΡΠ°Π½ΠΈΠΌΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡ Π½Π° read-only Π½ΠΎΠ΄Ρ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ½ΠΈΠ·ΠΈΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π½ΠΎΠ΄Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΠΈ ΡΠ»ΡΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ. Π‘ΡΠ°ΡΡΡ Π½Π° ΡΠ΅ΠΌΡ ΡΡΠΎΠ³ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π·Π΄Π΅ΡΡ.
- ΠΠ°ΠΌΠ΅Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΡΡΠΎΠ»Π±ΡΠΎΠΌ Π½Π° ΠΌΠ°ΡΡΠΈΠ²Ρ β Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΡΡΠΎΠ»Π±ΡΠΎΠΌ ΠΌΠΎΠ³ΡΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π·Π°ΠΌΠ΅Π΄Π»ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΠ°ΡΡΠΈΠ²Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΡΠΊΠΎΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈ ΡΠ½ΠΈΠ·ΠΈΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎΡ ΠΏΡΠ½ΠΊΡ ΡΡΠΎΠΈΡ ΠΏΠΎΠ΄ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ, Ρ.ΠΊ. Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ SQL-Π·Π°ΠΏΡΠΎΡΠ° ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ = ANY (ΠΌΠ°ΡΡΠΈΠ²)Β» ΠΈ Β«IN (SELECTβ¦..) ΠΌΠΎΠΆΠ΅Ρ ΠΊΠΎΠ»Π΅Π±Π°ΡΡΡΡ Π² ΡΠ°Π·Π½ΡΠ΅ ΡΡΠΎΡΠΎΠ½Ρ.
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π΄Π»Ρ ΠΎΠ±ΡΡΠΌΠ½ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡ β ΠΎΠ±ΡΡΠΌΠ½ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΠΌΠΎΠ³ΡΡ Π·Π°ΠΌΠ΅Π΄Π»ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΠ½Π΄Π΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π»ΠΎΠΆΠΈΡΡ Π½Π° ΡΠ°ΠΊΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ, ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΡΠΊΠΎΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ².
- ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π² Ρ ΡΠ°Π½ΠΈΠΌΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ ΠΏΠΎΡΠ»Π΅ DML-ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ (insert / update / delete) Π½Π°Π΄ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«analyzeΒ». ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΡΡΠΈΡΠ°ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ Π΄Π°Π½Π½ΠΎΠΉ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΎΡΡ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΏΠ»Π°Π½ Π·Π°ΠΏΡΠΎΡΠ°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π·Π½Π°ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΡΡΠΎΠΉ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ Π½Π΅ ΠΏΠΎΠΉΠ΄Π΅Ρ ΠΏΠΎ Π½Π΅Π²Π΅ΡΠ½ΠΎΠΌΡ ΠΏΡΡΠΈ.
- ΠΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ² β ΠΊΠ°ΠΊ Π±ΡΠ»ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ Π²ΡΡΠ΅, Π½Π΅ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ SQL-Π·Π°ΠΏΡΠΎΡΡ ΠΌΠΎΠ³ΡΡ Π·Π°ΠΌΠ΅Π΄Π»ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ² Β«Ρ ΡΠΈΡΡΠΎΠ³ΠΎ Π»ΠΈΡΡΠ°Β» ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΊΠΎΡΠΈΡΡ ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Π½ΠΎ ΡΡΠΎ ΠΊΠΎΠ»ΠΎΡΡΠ°Π»ΡΠ½Π°Ρ Π½Π°Π³ΡΡΠ·ΠΊΠ° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΈ Π°Π½Π°Π»ΠΈΡΠΈΠΊΡ, Π² ΡΠΈΠ»Ρ Π±ΠΎΠ»ΡΡΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΊΠΎΠ΄Π° ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ»Π° Π·Π°Π»ΠΎΠΆΠ΅Π½Π° ΠΈ ΠΌΠΎΠ³Π»Π° Π΄ΠΎΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ Π³ΠΎΠ΄Π°ΠΌΠΈ.
ΠΠ· ΡΠ°ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°Ρ Ρ ΠΎΡΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ Π²Π°ΡΠΈΠ°Π½ΡΡ Π°-Π»Ρ:
ΠΠ΄Π΅ΡΡ Π΄ΠΆΠΎΠΉΠ½ΠΈΡΡΡ ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎ Π·Π°ΠΏΡΠΎΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ (ΠΈΠ»ΠΈ Π½Π΅ ΠΎΡΠ΅Π½Ρ) ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΡΡΠΎΠΊ, Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±Π΅ΡΠ΅ΡΡΡ Π»ΠΈΡΡ ΠΏΠ΅ΡΠ²Π°Ρ ΡΡΡΠΎΠΊΠ°. ΠΡΠΎ ΡΠΎΡΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄ΠΎΠ»Π³ΠΎ. ΠΡΠΆΠ½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ Π²Π°ΡΠΈΠ°Π½Ρ ΡΡ ΠΎΠ΄Π° Π² ΡΡΠΎΡΠΎΠ½Ρ ΠΊΠ°ΡΠΊΠ°Π΄Π° ΠΈΠ· Π΄Π²ΡΡ CTE Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ°Π½ΠΆΠΈΡΡΡΡΠ΅ΠΉ ΠΎΠΊΠΎΠ½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π»ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΏΠΎ ΡΠ°Π½Π³Ρ ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ Π½Π°ΠΌΠΈ ΠΎΠΊΠ½Ρ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Ρ ΡΠ°Π½ΠΈΠΌΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡ β ΡΡΠΎ Π²Π°ΠΆΠ½ΡΠΉ ΡΡΠ°ΠΏ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ Π±Π°Π· Π΄Π°Π½Π½ΡΡ . ΠΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ»ΡΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠΎΠΊΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈ ΡΠ½ΠΈΠ·ΠΈΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ. Π‘Π»Π΅Π΄ΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°ΠΌ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ Π² ΡΡΠ°ΡΡΠ΅, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Ρ ΡΠ°Π½ΠΈΠΌΡΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈ ΡΠ»ΡΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π²Π°ΡΠ΅ΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .
***
Π ΠΊΠ°ΠΊΠΈΠ΅ Π²Π°ΡΠΈ Π»ΡΠ±ΠΈΠΌΡΠ΅ ΠΏΡΠΈΠ΅ΠΌΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ PostgreSQL? ΠΠΎΠ΄Π΅Π»ΠΈΡΠ΅ΡΡ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ !
***