Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Автомасштабирование Lakebase — это последняя версия Lakebase с автомасштабированием вычислений, масштабированием до нуля, ветвлением и мгновенным восстановлением. Сведения о поддерживаемых регионах см. в разделе "Доступность регионов". Если вы являетесь пользователем Lakebase Provisioned, см. Lakebase Provisioned.
В этом разделе описывается, как создать резервную копию базы данных Lakebase с помощью служебной программы Postgres pg_dump и как восстановить резервную копию с помощью pg_restore.
Когда следует использовать pg_dump & pg_restore
Используйте pg_dump и pg_restore для требований к аварийному восстановлению и непрерывности бизнес-процессов или при необходимости хранить полные резервные копии за пределами Lakebase. Этот метод обеспечивает полный экспорт базы данных, который можно хранить независимо и восстановить в любой системе, совместимой с Postgres.
Необходимые условия
Перед началом работы убедитесь, что:
-
pg_dumpиpg_restoreустановлены. Вы можете проверить, выполнив командуpg_dump -V. - Вы используете последние версии
pg_dumpиpg_restore. - Версия клиента соответствует версии Postgres проекта Lakebase.
- Проект Lakebase с настроенной ролью базы данных Postgres
Замечание
Мы рекомендуем использовать собственную проверку подлинности паролей Postgres при использовании pg_dump и pg_restore. Собственные пароли Postgres не истекают ежечасно, как маркеры OAuth, что делает их более подходящими для операций резервного копирования и восстановления. Дополнительные сведения о методах проверки подлинности см. в обзоре проверки подлинности .
Установка pg_dump и pg_restore
Если у вас нет установленных pg_dump программ и pg_restore служебных программ локально, установите их на предпочитаемой платформе.
Windows: Установите PostgreSQL с помощью официального установщика из postgresql.org. pg_dump и утилиты pg_restore устанавливаются по умолчанию и находятся в каталоге bin PostgreSQL.
Macos: Установите PostgreSQL с помощью Homebrew:
brew install postgresql
Linux (Ubuntu/Debian):
sudo apt-get install postgresql-client
Докер: Запустить pg_dump c использованием контейнера Postgres Docker:
docker run --rm postgres:17 pg_dump --version
Создание резервной копии с помощью pg_dump
Чтобы создать резервную копию базы данных локально, выполните приведенные далее действия.
Перейдите к приложению Lakebase, щелкнув переключатель приложений в правом верхнем углу рабочей области.
Выберите проект.
Нажмите кнопку "Подключиться", чтобы открыть модальный режим подключения к базе данных.
Выберите роль Postgres из раскрывающегося списка (рекомендуется использовать собственную роль Postgres с проверкой подлинности паролем).
Скопируйте строку подключения.
Строка подключения выглядит примерно так:
postgresql://role_name:password@ep-source-abc-123.databricks.com/databricks_postgres?sslmode=requireСоздайте резервную копию базы данных Lakebase, выполнив следующую
pg_dumpкоманду:pg_dump -Fc -v -d "<lakebase_database_connection_string>" -f <dump_file_name>После добавления строки подключения к базе данных Lakebase и имени файла дампа команда выглядит следующим образом:
pg_dump -Fc -v -d "postgresql://role_name:password@ep-source-abc-123.databricks.com/databricks_postgres?sslmode=require" -f mydatabase.bak
аргументы команд pg_dump
Команда pg_dump включает следующие аргументы:
-
-Fc: отправляет выходные данные в архив пользовательского формата, подходящий для входных данныхpg_restore. -
-v: выполняетpg_dumpв подробном режиме, что позволяет отслеживать происходящее во время операции дампа. -
-d: указывает строку подключения для базы данных Lakebase. -
-f <dump_file_name>: имя файла дампа. Это может быть любое имя, выбранное (например,mydumpfile.bak).
Восстановление резервной копии с помощью pg_restore
Чтобы восстановить базу данных с помощью pg_restore служебной программы из файла резервной копии, созданного с помощью pg_dump:
Создайте проект Lakebase.
Создайте базу данных с тем же именем, что и резервная копия.
Перейдите к приложению Lakebase, щелкнув переключатель приложений в правом верхнем углу рабочей области.
Выберите проект и нажмите кнопку "Подключиться ", чтобы открыть модальное подключение к базе данных.
Выберите роль Postgres из раскрывающегося списка (рекомендуется использовать собственную роль Postgres с проверкой подлинности паролем).
Скопируйте строку подключения.
Строка подключения выглядит примерно так:
postgresql://role_name:password@ep-destination-xyz-456.databricks.com/databricks_postgres?sslmode=requireВосстановите ваши данные в целевой базе в Lakebase с помощью
pg_restore:pg_restore -v -d "<lakebase_database_connection_string>" <dump_file_name>После добавления строки подключения к базе данных Lakebase и имени файла дампа команда выглядит следующим образом:
pg_restore -v -d "postgresql://role_name:password@ep-destination-xyz-456.databricks.com/databricks_postgres?sslmode=require" mydatabase.bak
аргументы команд pg_restore
Команда pg_restore включает следующие аргументы:
-
-v: запускаетpg_restoreв подробном режиме, что позволяет следить за процессом восстановления. -
-d: указывает базу данных Lakebase для подключения. Значением является строка подключения к базе данных Lakebase. -
<dump_file_name>: имя файла дампа, созданного с помощьюpg_dump.
Полный пример
В следующем примере показано, как данные сбрасываются из исходной базы данных с именем databricks_postgres в одном проекте Lakebase и восстанавливаются в databricks_postgres базе данных в другом проекте Lakebase.
Перед выполнением этой процедуры:
- Новый проект Lakebase был создан для целевой базы данных (которая включает базу данных по умолчанию
databricks_postgres) - Были собраны строки подключения для исходных и целевых баз данных:
-
Источник:
postgresql://role_name:password@ep-source-abc-123.databricks.com/databricks_postgres?sslmode=require -
Назначения:
postgresql://role_name:password@ep-destination-xyz-456.databricks.com/databricks_postgres?sslmode=require
-
Источник:
Процедура резервного копирования и восстановления:
# Create a directory for the dump
mkdir mydump && cd mydump
# Create the backup
pg_dump -Fc -v -d "postgresql://role_name:password@ep-source-abc-123.databricks.com/databricks_postgres?sslmode=require" -f mydatabase.bak
# Verify the backup file was created
ls
mydatabase.bak
# Restore the backup to the destination database
pg_restore -v -d "postgresql://role_name:password@ep-destination-xyz-456.databricks.com/databricks_postgres?sslmode=require" mydatabase.bak