ΠΠ° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½ΠΎΠ²Π° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΠ½ΠΎΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΎΡ Π½Π° PostgreSQL, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ Π‘Π£ΠΠ PostgreSQL, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ΡΠ°Π²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΡΡ ΡΠΊΡΠΈΠ²Π°Π½Π΅ΡΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΌΡΠ½Π°ΡΠ° Π½Π° ΠΏΠΎΠ²Π΅ΡΠΈΡΠ΅Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠΎΡΡΠΎ Π΅ ΡΡΡΠ³ΠΎΠ²ΡΠΊΠ° ΡΠ°ΠΉΠ½Π°. ΠΠ°Π½Π½ΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΠΊΡΠΈΡΠΈ Π² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΈ ΡΠΏΠΈΡΡΡΠΈ Ρ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ, ΡΠΈΠΈΡΠΎ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈ Π½Π° Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ Π°Π½ΠΎΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ΠΈ. ΠΠΎΠ΄ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΡΠ΅ ΠΎΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠ°Π½ ΠΏΠΎΠ΄ PostgreSQL.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π²ΡΠΏΡΠΎΡΠ½Π°ΡΠ° Π΄ΠΎΠ±Π°Π²ΠΊΠ°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΠ΅ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Π½Π° ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ»ΡΠ³ΠΈ Π·Π° Π±ΠΈΠ·Π½Π΅Ρ ΡΠ°Π·ΡΠ·Π½Π°Π²Π°Π½Π΅ Π½Π° ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ, ΠΊΠ°ΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΈΠ·ΡΡΠ·Π²Π°ΡΠ΅ Π΄Π°Π½Π½ΠΈ Π·Π° ΡΡΡ
ΠΊΠ°ΡΠΎ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΈ Π½ΠΎΠΌΠ΅ΡΠ° ΠΈ ΠΊΡΠ΅Π΄ΠΈΡΠ½ΠΈ ΠΊΠ°ΡΡΠΈ ΠΈΠ»ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΏΠΎ-ΡΠ»ΠΎΠΆΠ½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ, ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π·Π°ΠΌΡΠ½Π° Π½Π° ΠΈΠΌΠ΅Π½Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Ρ ΠΈΠ·ΠΌΠΈΡΠ»Π΅Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π°Π½ΠΎΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Ρ Π΄ΠΈΡΠ΅ΠΊΡΠ½Π° Π²ΡΡΠ·ΠΊΠ° ΠΊΡΠΌ Π‘Π£ΠΠ Π΅ ΠΎΡΠΈΠ³ΡΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π°Π½ΠΎΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ΠΈ SQL Π΄ΡΠΌΠΏΠΎΠ²Π΅ (ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΡΠ΅ ΠΏΠΎΠΌΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° pg_dump_anon).
ΠΠ½ΠΎΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΎΡ Π½Π° PostgreSQL ΡΠ°Π·ΡΠΈΡΡΠ²Π° ΡΠ΅ PostgreSQL DDL (ΠΠ·ΠΈΠΊ Π·Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ) ΠΈ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ Π·Π° Π°Π½ΠΎΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π½ΠΈΠ²ΠΎ ΡΡ
Π΅ΠΌΠ°, ΠΊΠΎΡΡΠΎ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ° ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ°. ΠΡΠΈΠ³ΡΡΠ΅Π½ Π΅ Π³ΠΎΠ»ΡΠΌ Π½Π°Π±ΠΎΡ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΈ: ΡΠ°Π½Π΄ΠΎΠΌΠΈΠ·ΠΈΡΠ°Π½Π΅, Π·Π°ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ Ρ ΡΠΈΠΊΡΠΈΠ²Π½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ, ΡΠ°ΡΡΠΈΡΠ½ΠΈ ΡΠ°Π·Π±ΡΡΠΊΠ²Π°Π½Π΅, ΡΠ°Π·Π±ΡΡΠΊΠ²Π°Π½Π΅, ΡΡΠΌ ΠΈ Π΄Ρ. ΠΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π΄ΠΎΠ±Π°Π²Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΡ, ΠΊΠΎΠΉΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ ΡΠ΅Π°Π»ΠΈΡΡΠΈΡΠ½ΠΈ ΡΠΈΠΊΡΠΈΠ²Π½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΈΠ·Ρ
ΠΎΠ΄Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ.
ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈΠΌ ΠΎΡΠ²ΠΎΡΠ΅Π½Π°ΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½Π° ΠΎΡ Microsoft Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΠΎΠ²Π΅ Π½Π° ΠΏΠΎΠ²Π΅ΡΠΈΡΠ΅Π»Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. ΡΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅. ΠΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΡΠ΅ΠΌΠ°Ρ
Π²Π°ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ, ΡΠ΅ΠΊΡΡ ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΡΠΎ ΡΡΠ΄ΡΡΠΆΠ° Π»ΠΈΡΠ½ΠΈ ΠΈ ΠΏΠΎΠ²Π΅ΡΠΈΡΠ΅Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΊΠ°ΡΠΎ ΠΏΡΠ»Π½ΠΎ ΠΈΠΌΠ΅, ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΈ Π½ΠΎΠΌΠ΅ΡΠ°, ΠΈΠΌΠ΅ΠΉΠ», Π½ΠΎΠΌΠ΅ΡΠ° Π½Π° ΠΊΡΠ΅Π΄ΠΈΡΠ½ΠΈ ΠΊΠ°ΡΡΠΈ, ΠΊΡΠΈΠΏΡΠΎ ΠΏΠΎΡΡΡΠ΅ΠΉΠ»ΠΈ, Π°Π΄ΡΠ΅ΡΠΈ, Π½ΠΎΠΌΠ΅ΡΠ° Π½Π° ΠΏΠ°ΡΠΏΠΎΡΡΠΈ, ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈ Π΄Ρ. ΠΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° (ΠΎΡ Amazon S3 Π΄ΠΎ PostgreSQL) ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈ. ΠΠΎΠ΄ΡΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Go (ΠΈΠΌΠ° Π²Π°ΡΠΈΠ°Π½Ρ Π½Π° Python) ΠΈ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΡΠ΅ ΠΎΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·Π° Π½Π° MIT.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru