Резервное копирование и восстановление базы данных
В этой инструкции описано, как сделать дамп базы данных PostgreSQL® с помощью утилиты pg_dump, а затем восстановить ее с помощью pg_restore. Вы можете восстановить одну базу данных за раз.
Перед началом работы
-
Если вы уже зарегистрированы, войдите под своей учетной записью.
Создайте виртуальную машину с ОС Ubuntu 24.04 в том же проекте, зоне доступности и подсети, где будет располагаться кластер Managed PostgreSQL®.
Убедитесь, что вы можете подключиться к виртуальной машине по SSH.
Перенос пользователей через дамп базы данных невозможен.
Вы можете создать пользователей через личный кабинет или API. Не используйте имена dbadmin, postgres, cnpg__pooler__pgbouncer, streaming_replica, а также имена, начинающиеся на pg_, так как эти имена зарезервированы сервисом Managed PostgreSQL®.
Создайте дамп базы данных
Утилита pg_dump — встроенный инструмент для создания резервных копий в PostgreSQL®. Используйте команду:
pg_dump \--dbname=<имя_базы_данных> \--file=<путь_до_дампа> \--format=c \--inserts \--disable-triggers \--clean \--if-exists \--username=<имя_пользователя_базы_данных> \--host=<адрес_базы> \--port=<порт_базы> \-O \-x \-v
Восстановите базу данных из дампа
Утилита pg_restore восстанавливает данные из резервных копий, которые были созданы с помощью pg_dump.
У пользователя dbadmin нет прав на CREATE DATABASE, поэтому восстановление можно выполнить только в существующую базу данных. Вы можете создать базу данных через личный кабинет или API.
pg_restore -O -x \--dbname=<имя_базы_данных> \--username=<имя_пользователя> \--host=<адрес_базы> \--port=<порт_базы> \--disable-triggers \--clean \--if-exists \<путь_до_дампа> \-v
- Перед началом работы
- Создайте дамп базы данных
- Восстановите базу данных из дампа