Skip to main content

Резервное копирование и восстановление базы данных

Для копирования базы данных необходимо:

  1. войти под пользователем postgres su postgres
  2. выполнить pg_dump -d <название базы> -U postgres -F custom -b -f <путь к резервной копии> -v
  3. дожидаемся окончания выполнения запроса и сообщения что все прошло без ошибок

Для восстановления базы данных необходимо:

  1. войти под пользователем postgres su postgres
  2. подключиться к терминалу PostgreSQL командой psql
  3. переименовывать базу данных ALTER DATABASE <название базы> RENAME TO <новое название базы>;
  4. создать пустую базу CREATE DATABASE <название базы> WITH ENCODING='UTF8' TEMPLATE template0;
  5. выйти из терминала PostgreSQL \q
  6. восстановить из резервной копии pg_restore -d<название базы> --format=c -v<путь к резервной копии>
  7. подключиться к восстановленной базе данных psql <название базы>
  8. выполнить VACUUM ANALYZE;
  9. после завершения выходим из терминала PostgreSQL командой \q
  10. запускаем сервис
  11. если все удачно восстановилось и запустилось, то можно удалить переименованную базу данных
    • su postgres
    • psql
    • DROP DATABASE <новое название базы>;