PostgreSQL

Облако Amvera поддерживает создание управляемого кластера postgres с одной или несколькими запущенными репликами СУБД. Создание кластера происходит в несколько простых шагов:

Разворачивание кластера

  1. На главной странице нажать на кнопку «Создать».

  2. Задать «Название проекта», выбрать «Тип сервиса» «PostgreSQL» и подходящий тариф. postgresql

    Внимание

    Стабильная работа возможна на тарифах не ниже «Начальный».

  3. Задать параметры СУБД PostgreSQL

    Внимание

    Имя базы данных и имя пользователя postgres зарезервировано и не могут быть указаны.

    • Имя создавайемой БД - имя для базы данный, которая будет создана в кластере.

    • Имя пользователя - имя для пользователя, под которым будет реализовываться вход в СУБД.

    • Пароль пользователя - пароль для указанного выше пользователя, под которым будет реализовываться вход в СУБД.

    • Размер кластера СУБД - количество реплик СУБД. При этом одна из реплик будет мастером и в связи с особенностями СУБД доступ на запись будет доступен только через неё.

      Важно

      Тарификация происходит отдельно за каждую реплику согласно выбранному тарифу

    • Активировать Superuser Access - активировать доступ суперпользователя с именем пользователя postgres.

    • Пароль для Superuser - пароль для пользователя postgres, под которым возможен вход в СУБД с правами суперпользователя.

  4. Нажать кнопку «Завершить» и дождаться перехода кластера в статус «PostgreSQL запущен».

Подключение к кластеру

Для доступа к базе данных из других проектов Амвера достаточно указать одно из трех доменных имен:

  • Для чтения/записи: amvera-<username>-cnpg-<project_name>-rw

  • Только для чтения в режиме hot standby: amvera-<username>-cnpg-<project_name>-ro

  • Для чтения с произвольной из развернутых нод: amvera-<username>-cnpg-<project_name>-r

Для доступа к базе данных из сети Интернет необходимо создать доменное имя с типом POSTGRES. Клиент, которым будет выполняться подключения к БД должен поддерживать SSL.

В pgAdmin Desktop указывается

  • Host name: <project_name>-<username>.db-msk0.amvera.tech

  • SSL mode: prefer

Развертывание pgAdmin

1. Создать приложение с подходящим тарифом.

Внимание

Для работы pgadmin требуется контейнер с тарифом не ниже «Начальный».

2. На этапе «Загрузка данных» выбрать «Через Git»

db_create

3. На этапе «Конфигурация» выбрать «db» и «pgadmin» и нажать «Завершить»

При развертывании используется образ Docker dpage/pgadmin4:${meta.toolchain.version}

4. Указать необходимые параметры окружения.

В разделе «Переменные» у проекта необходимо задать следующие переменные окружения:

  • Переменная PGADMIN_DEFAULT_EMAIL - почта администратора pgAdmin

  • Секрет PGADMIN_DEFAULT_PASSWORD - пароль для доступа к pgAdmin (не имеет ничего общего с паролем от БД)

Настройка pgAdmin

  1. В разделе «Настройки» приложения активируем бесплатное доменное имя или добавляем свое. db_create

  2. Дожидаемся окончания привязки доменного имени и переходим по нему.

  3. Вводим данные для входа в pgAdmin.

  4. Слева правой кнопкой мыши Server->Register->Server…

  5. В окне в разделе General указываем название для подключаемой БД. В разделе Connection указываем:

    • Host name/address - внутреннее доменное имя проекта с postgreSQL. Внутреннее доменное имя вы можете найти на странице «Инфо» СУБД.

    • Maintenance database - название БД (по умолчанию postgres)

    • Username - имя пользователя, которое указывалось на этапе создания СУБД (если был активирован Superuser, то может быть как ваш, так иpostgres)

    • Password - пароль указанного выше пользователя.

  6. Нажимаем кнопку «Save»

Хитрость

Чтобы экономить на потреблении проекта с pgAdmin рекомендуем ставить его на паузу после окончания работы.

Бэкапы

Бэкапы по расписанию

Сервис предоставляет возможность создания бесплатных бэкапов по расписанию. Бэкапы начнут создаваться со следующего дня в час их активации. Сервис хранит крайние три бэкапа.

Важно

После остановки кластера ежедневные бэкапы будут отключены. Не забудьте активировать их после запуска кластера.

Бэкапы по клику

Для создания бэкапа нажмите на кнопку «Создать бэкап» и введите его описание, чтобы отличить его от других. Имя бэкапа будет сгенерировано автоматически.

Максимально вы можете создать три бэкапа, они также являются бесплатными.

backups

Восстановление кластера

Внимание

После восстановления кластера будет создан новый сервис. Для подключения к восстановленному кластеру не забудьте изменить url в вашем проекте. Пользователь и пароли будут восстановлены автоматически.

Восстановить кластер можно по клику на иконку необходимого бэкапа.

Для успешного восстановления кластера на момент создания бэкапа необходимо соблюсти следующие условия:

  1. Наличие минимум двух успешных бэкапов

  2. Транзакции в промежуток между созданием этих бэкапов

Например, есть бэкап А. Чтобы восстановить кластер на момент создания бэкапа A нужно провести какие-либо транзакции (создание таблицы, добавление записи и т. д.) и создать бэкап B. После успешного создания бэкапа B у вас получится восстановить кластер из бэкапа A.

Если у вас только один бэкап или был выбран последний бэкап, то кластер восстановится до настоящего состояния, то есть продублируется.

Эти ограничения связаны с особенностями создания резервных копий и восстановления данных у PostgreSQL.

Если восстановление идет более 20 минут (время зависит от размера БД), то обратитесь в поддержку.

restore