ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ с использованиСм систСмы управлСния Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… PostgreSQL становится стандартом для ΠΌΠ½ΠΎΠ³ΠΈΡ… прСдприятий. Π­Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ обСспСчиваСт Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ, ΠΎΠ΄Π½Π°ΠΊΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΡ‚ администраторов Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ понимания ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ обслуТивания. Одной ΠΈΠ· критичСски Π²Π°ΠΆΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ являСтся рСгулярноС созданиС Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… Π±Π°Π·, здСсь нСльзя просто ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π‘Π£Π‘Π” Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² спСцифичСском Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅.

НСкоррСктноС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π±ΠΈΡ‚Ρ‹ΠΉ Ρ„Π°ΠΉΠ», Π½Π΅ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹ΠΉ для восстановлСния Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π°Π²Π°Ρ€ΠΈΠΈ. Администратору Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ сСссий, Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ ΠΈ особСнности ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ UTF-8, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π² кластСрС. ΠœΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ всС способы создания Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Ρ… Π΄Π°ΠΌΠΏΠΎΠ², ΠΎΡ‚ Ρ€ΡƒΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ Π΄ΠΎ ΠΏΠΎΠ»Π½ΠΎΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ скриптами, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ваши Π΄Π°Π½Π½Ρ‹Π΅ Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ ΠΏΠΎΠ΄ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ.

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° окруТСния ΠΈ ΡƒΡ‡Π΅Ρ‚ особСнностСй 1Π‘

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² коррСктности настроСк сСрвСра. БистСма PostgreSQL Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ установлСна ΠΈ настроСна Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° pg_dump ΠΈΠΌΠ΅Π»Π° доступ ΠΊ исполняСмым Ρ„Π°ΠΉΠ»Π°ΠΌ. Часто ΠΏΡƒΡ‚ΡŒ ΠΊ Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊΠ°ΠΌ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² ΡΠΈΡΡ‚Π΅ΠΌΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ PATH, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ошибкам ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ запуска ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ· консоли ΠΈΠ»ΠΈ скриптов.

Π₯отя ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ MVCC (Multiversion Concurrency Control) позволяСт Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π±Π΅Π· Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ записи, тяТСлыС Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ процСсс Π΄Π°ΠΌΠΏΠ°. Для ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ рисков рСкомСндуСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ Π² часы наимСньшСй Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ --jobs для ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π’Π°ΠΊΠΆΠ΅ стоит ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²Π° доступа ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи, ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ бэкап. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π»Π°Π΄Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²Π°ΠΌΠΈ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ всСх Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ схСм, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ систСмныС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ. Π’ срСдС 1Π‘ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ спСцифичСскиС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ настройки ΠΏΡ€Π°Π², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅ΠΏΡΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΌΡƒ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, Ссли Ρ€ΠΎΠ»ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π°.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π½Π° дискС, ΠΊΡƒΠ΄Π° планируСтся ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π΄Π°ΠΌΠΏ, достаточно свободного мСста. Π Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡ‹ΠΉ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π½Π° дискС Π² 1.5–2 Ρ€Π°Π·Π° Π² зависимости ΠΎΡ‚ стСпСни сТатия ΠΈ количСства индСксов.

πŸ’‘

ΠŸΠ΅Ρ€Π΅Π΄ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ запуском Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ бэкапа ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π²Π΅Ρ€ΡΠΈΡŽ сСрвСра PostgreSQL ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ SELECT version();. Π£Ρ‚ΠΈΠ»ΠΈΡ‚Ρ‹ Π΄Π°ΠΌΠΏΠ° ΠΈ сСрвСра Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ совмСстимы, ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ вСрсии ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠ°ΠΆΠΎΡ€Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ.

Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· консоль ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ pg_dump

НаиболСС Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌ ΠΈ Π³ΠΈΠ±ΠΊΠΈΠΌ способом создания ΠΊΠΎΠΏΠΈΠΈ являСтся использованиС консольной ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ pg_dump. Π­Ρ‚ΠΎΡ‚ инструмСнт Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ поставку PostgreSQL ΠΈ позволяСт Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°ΠΌΠΏΡ‹ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ…. Для Π±Π°Π· 1Π‘ Ρ‡Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ custom ΠΈΠ»ΠΈ directory, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ сТатиС ΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΎΡ‡Π½ΠΎΠ΅ восстановлСниС.

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ синтаксис ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ указания ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΈΠΌΠ΅Π½ΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡƒΡ‚ΠΈ ΠΊ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ. АутСнтификация ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС (Ρ‡Ρ‚ΠΎ нСбСзопасно для скриптов) ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· Ρ„Π°ΠΉΠ» .pgpass. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для создания сТатой Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ Π² собствСнном Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅:

pg_dump -U postgres -F c -b -v -f "D:\Backups\1c_base_backup.dump" "AccountingDB"

ΠšΠ»ΡŽΡ‡ -F c ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° использованиС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° custom, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π΅Π½ для ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ pg_restore. ΠžΠΏΡ†ΠΈΡ -b Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² Π΄Π°ΠΌΠΏ большиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ (BLOB), Ρ‡Ρ‚ΠΎ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ для 1Π‘, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² Π½ΠΈΡ… часто хранятся ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹. Π€Π»Π°Π³ -v Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ Π²Ρ‹Π²ΠΎΠ΄Π°, позволяя ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ прогрСсс Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

  • πŸš€ Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ: ΠšΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстрСС графичСских интСрфСйсов Π·Π° счСт отсутствия Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Ρ… расходов Π½Π° отрисовку.
  • πŸ”’ Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ: Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈΠ»ΠΈ схСмы ΠΈΠ· бэкапа с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ --exclude-table.
  • πŸ’Ύ Π‘ΠΆΠ°Ρ‚ΠΈΠ΅: Π€ΠΎΡ€ΠΌΠ°Ρ‚ custom автоматичСски сТимаСт Π΄Π°Π½Π½Ρ‹Π΅, экономя дисковоС пространство Π΄ΠΎ 50%.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄ запуском pg_dump

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

ИспользованиС графичСского интСрфСйса pgAdmin 4

Для администраторов, ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽΡ‰ΠΈΡ… Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅, инструмСнт pgAdmin 4 прСдоставляСт ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ интСрфСйс для создания бэкапов. Π­Ρ‚ΠΎΡ‚ способ ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½ ошибкам синтаксиса, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ наличия графичСской ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Π½Π° сСрвСрС ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ Π½Π΅ΠΌΡƒ ΠΏΠΎ RDP. ΠŸΡ€ΠΎΡ†Π΅ΡΡ начинаСтся с Π²Ρ‹Π±ΠΎΡ€Π° Π½ΡƒΠΆΠ½ΠΎΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π΄Π΅Ρ€Π΅Π²Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

ПослС Π²Ρ‹Π·ΠΎΠ²Π° контСкстного мСню ΠΈ Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΡƒΠ½ΠΊΡ‚Π° Backup.. открываСтся ΠΎΠΊΠ½ΠΎ настроСк. На Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ General Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ имя Ρ„Π°ΠΉΠ»Π° ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚. РСкомСндуСтся Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Custom ΠΈΠ»ΠΈ Directory. Π’ΠΊΠ»Π°Π΄ΠΊΠ° Data options позволяСт Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ экспортС Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΡƒ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ слСдуСт ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Compression. Π’ графичСском интСрфСйсС ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ сТатия ΠΎΡ‚ 0 Π΄ΠΎ 9. Для Π±Π°Π· 1Π‘ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ являСтся 4 ΠΈΠ»ΠΈ 5, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π±ΠΎΠ»Π΅Π΅ высокиС ΡƒΡ€ΠΎΠ²Π½ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ врСмя создания ΠΊΠΎΠΏΠΈΠΈ Π±Π΅Π· сущСствСнной экономии мСста. ПослС настройки всСх ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² остаСтся Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Backup.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ использовании pgAdmin Ρ‡Π΅Ρ€Π΅Π· ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ соСдинСниС (SSH Ρ‚ΡƒΠ½Π½Π΅Π»ΡŒ ΠΈΠ»ΠΈ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ) ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ соСдинСниС ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ. Π Π°Π·Ρ€Ρ‹Π² связи Π² процСссС создания Π΄Π°ΠΌΠΏΠ° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡŽ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Directory Π»ΡƒΡ‡ΡˆΠ΅ Custom?

Π€ΠΎΡ€ΠΌΠ°Ρ‚ Directory создаСт мноТСство Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² вмСсто ΠΎΠ΄Π½ΠΎΠ³ΠΎ большого. Π­Ρ‚ΠΎ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ восстановлСниС (ΠΊΠ»ΡŽΡ‡ -j Π² pg_restore), Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ процСсс развСртывания Π±Π°Π·Ρ‹ Π² 4-8 Ρ€Π°Π· Π½Π° ΠΌΠΎΡ‰Π½Ρ‹Ρ… сСрвСрах с быстрыми дисками.

Автоматизация процСсса Ρ‡Π΅Ρ€Π΅Π· скрипты ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ

Π ΡƒΡ‡Π½ΠΎΠ΅ созданиС Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ½ΠΎ ΠΈΠ·-Π·Π° чСловСчСского Ρ„Π°ΠΊΡ‚ΠΎΡ€Π°. Для обСспСчСния рСгулярности Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ скриптов ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° Π·Π°Π΄Π°Ρ‡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Π’ срСдС Windows для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Task Scheduler, Π° Π² Linux β€” Π΄Π΅ΠΌΠΎΠ½ cron.

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π΄Π°ΠΌΠΏΠ°, Π½ΠΎ ΠΈ Π»ΠΎΠ³ΠΈΠΊΡƒ очистки старых Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ². Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ бСсконСчного количСства ΠΊΠΎΠΏΠΈΠΉ быстро исчСрпаСт дисковоС пространство. Π‘ΠΊΡ€ΠΈΠΏΡ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π΄Π°Ρ‚Ρƒ создания Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΡΡ‚Π°Ρ€ΡˆΠ΅ установлСнного ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 7 ΠΈΠ»ΠΈ 14 Π΄Π½Π΅ΠΉ.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ простого BAT-Ρ„Π°ΠΉΠ»Π° для Windows, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаСт Π΄Π°ΠΌΠΏ с ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠΌΠ΅Π½ ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… вСрсий. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ пароля Π±Π΅Π· явного указания Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС.

set PGPASSWORD=MySecretPassword123

set BACKUP_DIR=D:\Backups\1C

set DATE_STAMP=%DATE:~-4,4%%DATE:~-7,2%%DATE:~-10,2%

"C:\Program Files\PostgreSQL\15\bin\pg_dump.exe" -U postgres -F c -b -f "%BACKUP_DIR%\backup_%DATE_STAMP%.dump" "AccountingDB"

ПослС создания скрипта Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ Π·Π°Π΄Π°Ρ‡. Π’Π°ΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€Π°Π²Π° Π½Π° запись Π² ΠΏΠ°ΠΏΠΊΡƒ бэкапов ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π°ΠΊΠΆΠ΅ рСкомСндуСтся Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ увСдомлСния Π½Π° email Π² случаС ошибки выполнСния Π·Π°Π΄Π°Ρ‡ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ администратор ΠΌΠΎΠ³ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° сбои.

πŸ’‘

Автоматизация бэкапа Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ созданиС ΠΊΠΎΠΏΠΈΠΈ, Π½ΠΎ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π΅Ρ‘ цСлостности ΠΈ Ρ€ΠΎΡ‚Π°Ρ†ΠΈΡŽ старых Ρ„Π°ΠΉΠ»ΠΎΠ² для экономии мСста.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² хранСния Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ

Π’Ρ‹Π±ΠΎΡ€ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Ρ„Π°ΠΉΠ»Π° ΠΈΠ³Ρ€Π°Π΅Ρ‚ Ρ€Π΅ΡˆΠ°ΡŽΡ‰ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π² скорости создания ΠΊΠΎΠΏΠΈΠΈ ΠΈ удобства Π΅Ρ‘ восстановлСния. PostgreSQL ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ нСсколько Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² Π²Ρ‹Π²ΠΎΠ΄Π°, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ свои прСимущСства ΠΈ нСдостатки ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π±Π°Π·Π°ΠΌΠΈ 1Π‘. ПониманиС этих Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ хранСния.

Π€ΠΎΡ€ΠΌΠ°Ρ‚ Plain SQL прСдставляСт собой тСкстовый Ρ„Π°ΠΉΠ» с SQL-ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ. Он унивСрсалСн ΠΈ читаСтся Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ, Π½ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ сТатиС ΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ восстановлСниС. Для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π±Π°Π· 1Π‘ этот Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ практичСски Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈΠ·-Π·Π° Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ быстродСйствия ΠΈ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Ρ„Π°ΠΉΠ»ΠΎΠ². Π€ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Custom ΠΈ Directory Π»ΠΈΡˆΠ΅Π½Ρ‹ этих нСдостатков.

Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ сравнСниС основных характСристик Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ², доступных Π² ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ pg_dump. Π­Ρ‚ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ взвСшСнноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π² зависимости ΠΎΡ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ вашСго бизнСса ΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ восстановлСния (RTO) ΠΈ ΠΎΠ±ΡŠΠ΅ΠΌΡƒ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°.

Π€ΠΎΡ€ΠΌΠ°Ρ‚ Π‘ΠΆΠ°Ρ‚ΠΈΠ΅ ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ восстановлСниС Π Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° РСкомСндация для 1Π‘
Plain (SQL) НСт НСт ΠžΡ‡Π΅Π½ΡŒ большой НС рСкомСндуСтся
Custom (-Fc) Π”Π° НСт (ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ) Π‘Ρ€Π΅Π΄Π½ΠΈΠΉ Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€
Directory (-Fd) Π”Π° Π”Π° (ΠΊΠ»ΡŽΡ‡ -j) Π‘Ρ€Π΅Π΄Π½ΠΈΠΉ (ΠΏΠ°ΠΏΠΊΠ°) Для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π±Π°Π· (>100 Π“Π‘)
Tar (-Ft) НСт НСт Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ Волько для совмСстимости
πŸ“Š Какой Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ бэкапа Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ всСго?
Plain SQL
Custom (-Fc)
Directory (-Fd)
Tar (-Ft)

ВосстановлСниС Π±Π°Π·Ρ‹ ΠΈΠ· Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ бэкапа β€” это лишь ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° Π·Π°Π΄Π°Ρ‡ΠΈ. Π£ΠΌΠ΅Π½ΠΈΠ΅ быстро ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π½Π΅Π³ΠΎ являСтся истинным ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ надСТности вашСй стратСгии Π·Π°Ρ‰ΠΈΡ‚Ρ‹. Для восстановлСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° pg_restore, которая ΡƒΠΌΠ΅Π΅Ρ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ custom ΠΈ directory.

ΠŸΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ восстановлСния цСлСвая Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡ΠΈΡ‰Π΅Π½Π°. Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° pg_restore Π½Π΅ пСрСзаписываСт ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π° пытаСтся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΈΡ…, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкам дублирования. РСкомСндуСтся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΏΡƒΡΡ‚ΡƒΡŽ Π±Π°Π·Ρƒ ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ DROP DATABASE (с ΠΎΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ!).

Команда восстановлСния для Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° custom выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. ΠšΠ»ΡŽΡ‡ -d ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ имя Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, Π° -C ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован для автоматичСского создания Π±Π°Π·Ρ‹, Ссли Π΅Ρ‘ Π΅Ρ‰Π΅ Π½Π΅Ρ‚ (Π½ΠΎ это Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΡ€Π°Π² ΡΡƒΠΏΠ΅Ρ€ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ). Для ускорСния процСсса Π½Π° многоядСрных сСрвСрах ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡ -j с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ количСства ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ².

pg_restore -U postgres -d AccountingDB -j 4 "D:\Backups\1c_base_backup.dump"

ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π°Π½Π°Π»ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ† ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ANALYZE. Π­Ρ‚ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ статистику ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€Π° запросов, Ρ‡Ρ‚ΠΎ критичСски Π²Π°ΠΆΠ½ΠΎ для ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ 1Π‘. Π‘Π΅Π· этого шага ΠΏΠ΅Ρ€Π²Ρ‹Π΅ запросы послС восстановлСния ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, ΠΏΠΎΠΊΠ° систСма Π½Π΅ собСрСт статистику Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Никогда Π½Π΅ восстанавливайтС бэкап Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΡƒΡŽ Π±Π°Π·Ρƒ с Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ Π±Π΅Π· ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ всСх сСссий. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°ΠΌ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ΠΏΠΎΡ€Ρ‡Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы (FAQ)

МоТно Π»ΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ бэкап Π±Π°Π·Ρ‹ 1Π‘, ΠΏΠΎΠΊΠ° Π² Π½Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ?

Π”Π°, ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ MVCC Π² PostgreSQL позволяСт Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π±Π΅Π· Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ записи. Однако Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ интСнсивной записи (Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ мСсяца, ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²) ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ создания Π΄Π°ΠΌΠΏΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒΡΡ, Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ вырасти. Для критичСски Π²Π°ΠΆΠ½Ρ‹Ρ… систСм рСкомСндуСтся Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ "ΠΎΠΊΠ½ΠΎ" для бэкапов.

Как ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ созданного Ρ„Π°ΠΉΠ»Π° Π΄Π°ΠΌΠΏΠ°?

Π‘Π°ΠΌΡ‹ΠΉ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ способ β€” ΠΏΡ€ΠΎΠ±Π½ΠΎΠ΅ восстановлСниС Π½Π° тСстовый сСрвСр. Π’Π°ΠΊΠΆΠ΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° pg_restore ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡ -l (list), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ список содСрТимого Π°Ρ€Ρ…ΠΈΠ²Π°. Если ΠΊΠΎΠΌΠ°Π½Π΄Π° выполняСтся Π±Π΅Π· ошибок ΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ список Ρ‚Π°Π±Π»ΠΈΡ†, Ρ„Π°ΠΉΠ», скорСС всСго, Π½Π΅ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½.

Π“Π΄Π΅ хранится Ρ„Π°ΠΉΠ» ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ.pgpass Π² Windows?

Π’ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС Windows Ρ„Π°ΠΉΠ» pgpass.conf ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ находится Π² ΠΏΠ°ΠΏΠΊΠ΅ профиля ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ: %APPDATA%\postgresql\. Π’ Linux это скрытый Ρ„Π°ΠΉΠ» .pgpass Π² домашнСй Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠŸΡ€Π°Π²Π° доступа ΠΊ этому Ρ„Π°ΠΉΠ»Ρƒ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ строго ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹ (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ для Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°).

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли ΠΏΡ€ΠΈ восстановлСнии Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка "already exists"?

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² Π±Π°Π·Π΅ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ с Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ. ΠŸΠ΅Ρ€Π΅Π΄ восстановлСниСм Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ Π±Π°Π·Ρƒ. МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡ --clean Ρƒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ pg_restore, Π½ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒΡΡ ошибкой, Ссли Π΅ΡΡ‚ΡŒ зависимости ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ. НадСТнСС ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΏΡƒΡΡ‚ΡƒΡŽ Π±Π°Π·Ρƒ ΠΈ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π½Π΅Ρ‘.

ВлияСт Π»ΠΈ вСрсия PostgreSQL Π½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ бэкапов?

Π”Π°, Π΄Π°ΠΌΠΏΡ‹, созданныС Π½ΠΎΠ²ΠΎΠΉ вСрсиСй сСрвСра, ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ Π½Π° старой вСрсии. ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ (восстановлСниС старого Π΄Π°ΠΌΠΏΠ° Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ сСрвСр) ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ. РСкомСндуСтся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ вСрсии ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ pg_dump ΠΈ сСрвСра ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ вСрсии сСрвСра.