Резервное копирование и восстановление базы данных
Для копирования базы данных необходимо:
- войти под пользователем postgres su postgres
- выполнить pg_dump -d <название базы> -U postgres -F custom -b -f <путь к резервной копии> -v
- дожидаемся окончания выполнения запроса и сообщения что все прошло без ошибок
Для восстановления базы данных необходимо:
- войти под пользователем postgres su postgres
- подключиться к терминалу PostgreSQL командой psql
- переименовывать базу данных ALTER DATABASE <название базы> RENAME TO <новое название базы>;
- создать пустую базу CREATE DATABASE <название базы> WITH ENCODING='UTF8' TEMPLATE template0;
- выйти из терминала PostgreSQL \q
- восстановить из резервной копии pg_restore -d<название базы> --format=c -v<путь к резервной копии>
- подключиться к восстановленной базе данных psql <название базы>
- выполнить VACUUM ANALYZE;
- после завершения выходим из терминала PostgreSQL командой \q
- запускаем сервис
- если все удачно восстановилось и запустилось, то можно удалить переименованную базу данных
- su postgres
- psql
- DROP DATABASE <новое название базы>;