Вступление
PostgreSQL - это бесплатная система управления базами данных с открытым исходным кодом, которая может использоваться для хранения информации, связанной с веб-сайтами. Это также известно как Postgres. Само программное обеспечение имеет высокопроизводительную объектно-реляционную базу данных, которая хорошо подходит для больших баз данных и веб-приложений.
При этом одной из важнейших задач любого администратора базы данных является регулярное резервное копирование своих баз данных. Здесь вы узнаете, как выполнять резервное копирование и восстановление базы данных PostgreSQL в Ubuntu 16.04.
Предпосылки
- Сервер под управлением Ubuntu 16.04.
- Пользователь без полномочий root с правами sudo.
Шаг 1: Обновление системных пакетов
Перед началом обновите пакеты на вашем сервере.
sudo apt-get update -y
sudo apt-get upgrade -y
Шаг 2: Установите PostgreSQL
К счастью, PostgreSQL доступен в репозитории Ubuntu 16.04. Вы можете легко установить его с помощью следующей команды.
sudo apt-get install postgresql postgresql-contrib
После завершения установки будет создан пользователь с именем postgresи ролью postgres. Системная учетная запись с именем postgresтакже будет создана.
Запустите postgresqlслужбу и включите ее при загрузке.
sudo systemctl start postgresql
sudo systemctl enable postgresql
Шаг 3: Инструкции по резервному копированию
PostgreSQL поставляется с утилитой pg_dumpдля вызова информации базы данных в файл.
Вы можете запустить эту утилиту из интерфейса командной строки. Например, если вы хотите сделать резервную копию одной базы данных, выполните следующую команду:
sudo pg_dump -U user_name database_name > backup_file
Примечание . Команда должна выполняться от имени суперпользователя.
Вы также можете сделать резервную копию базы данных, войдя в систему как postgresпользователь.
sudo su - postgres
pg_dump postgres > postgres.bak
Приведенная выше команда создаст резервную копию базы данных по умолчанию postgres.
Вы также можете сделать резервную копию удаленной базы данных.
pg_dump -U user_name -h remote_ip_address -p remote_port database_name > backup_file
Если вы хотите сделать резервную копию всех баз данных в вашей системе, то pg_dumpallиспользуется.
sudo pg_dumpall -U user_name > backup_file
Шаг 4: Восстановите инструкции
Вы можете восстановить базу данных, созданную pg_dumpкомандой, используя psqlкоманду.
Сначала создайте пустую базу данных с помощью name new_database.
sudo -u postgres psql
createdb -T template0 new_database
Затем перенаправьте дамп базы данных, вызванный backup_fileследующей командой:
psql new_database < backup_file
Если вы хотите немедленно остановить процесс восстановления при возникновении ошибки, выполните следующую команду:
psql --set ON_ERROR_STOP=on new_database < backup_file
Вы можете восстановить базы данных, созданные pg_dumpallкомандой, передав файл в psql.
psql -U user_name -f backup_file
Вывод
Теперь у вас достаточно знаний для резервного копирования и восстановления баз данных PostgreSQL. Важно регулярно хранить резервные копии, поскольку они полезны при восстановлении системы.