Как начать работу с облачной базой данных PostgreSQL в Selectel - Академия Selectel

Как начать работу с облачной базой данных PostgreSQL в Selectel

Инструкция о том, как создать облачную базу данных PostgreSQL в панели управления Selectel и подключиться к ней.

Введение

Чтобы начать работу с облачной базой данных PostgreSQL, вам нужно зарегистрироваться в панели управления Selectel, а затем следовать инструкции ниже.

  • Создайте проект.
  • Создайте кластер.
  • Создайте пользователя.
  • Создайте базу данных. 
  • Подключитесь к кластеру.

Как начать работу с базой данных PostgreSQL в Selectel, можно также посмотреть в нашем ролике.

Создать кластер

1. В панели управления перейдите в раздел Облачная платформа → Базы данных.

2. Нажмите Создать кластер.

3. Введите имя кластера.

4. Выберите пул.

5. Выберите версию PostgreSQL. После создания версию будет нельзя изменить.

6. Выберите конфигурацию нод:

  • фиксированная — конфигурации с разным соотношением виртуальных процессорных ядер, оперативной памяти и локального диска до 32 vCPU, 128 ГБ RAM и 1 ТБ диска;
  • произвольная — свободный выбор соотношения ресурсов до 8 vCPU, 64 ГБ RAM и 1024 ГБ диска.

7. Опционально: отметьте чекбокс Добавить реплики и укажите количество реплик. Реплики повышают отказоустойчивость кластера.

8. Выберите тип подсети, к которой будет подключен кластер:

  • приватная подсеть — подсеть без доступа из интернета;
  • публичная подсеть — все адреса публичной подсети доступны из интернета. Публичный IP-адрес использовать нельзя. Адреса присваиваются каждой ноде в кластере. Убедитесь, что количество адресов в сети не меньше количества нод в кластере. Если после создания кластера вы планируете увеличить количество реплик, то выберите сеть, в которой есть запас свободных адресов. После создания кластера сеть нельзя изменить. Вы можете ограничить список адресов, с которых будет разрешен доступ в кластер баз данных.

9. Выберите режим пулера соединений:

  • transaction — соединение назначено на клиента на время транзакции;
  • session — соединение назначено, пока клиент подключен;
  • statement — транзакции с несколькими операторами запрещены.

10. Выберите размер пула.

11. Опционально: измените настройки СУБД, для этого нажмите Изменить. Мы рекомендуем менять значения настроек только при необходимости — неправильно подобранные значения могут снизить производительность кластера.

12. Нажмите Создать кластер баз данных. Кластер будет готов к работе, когда перейдет в статус ACTIVE.

Создать пользователя​-владельца базы данных

Перед созданием базы данных PostgreSQL нужно создать пользователя, который будет владельцем базы данных.

Владелец базы данных PostgreSQL — это пользователь, которому переходят права владения объектами удаленных пользователей. В отличие от пользователя, владелец базы данных имеет доступ ко всем ее объектам и может совершать операции с ними.

Позднее вы можете добавить пользователей, настроить для них доступ к базе данных и привилегии. Подробнее в инструкции Управление пользователями в нашей документации.

  1. В панели управления перейдите в раздел Облачная платформа → Базы данных.
  2. Откройте страницу кластера баз данных вкладка Пользователи.
  3. Нажмите Создать пользователя.
  4. Введите имя и пароль. Сохраните пароль — в панели управления он храниться не будет.
  5. Нажмите Сохранить.

Создать базу данных

Если у вас уже есть база данных PostgreSQL, данные из которой вы хотите перенести в облачные базы данных Selectel, вы можете использовать для переноса логическую репликацию или логический дамп. Подробнее в инструкции Миграция баз данных PostgreSQL в облачные базы данных в нашей документации.

  1. В панели управления перейдите в раздел Облачная платформа → Базы данных.
  2. Откройте страницу кластера вкладка Базы данных.
  3. Нажмите Создать базу данных.
  4. Введите имя базы данных.
  5. Выберите пользователя-владельца базы данных.
  6. Введите локаль набора символов (LC_CTYPE) — отвечает за классификацию символов и различия в их регистре. Подробнее о локалях в документации PostgreSQL.
  7. Введите локаль сортировки (LC_COLLATE) — определяет настройки сравнения строк и символов, а также влияет на сортировку.
  8. Нажмите Создать.

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

К кластеру облачных баз данных  PostgreSQL можно подключиться по DNS-адресу.

Если кластер подключен к приватной подсети, подключите к подсети кластера облачный роутер с доступом во внешнюю сеть.

Порты

Для подключения к PostgreSQL используйте порты:

  • 5433 — порт для подключения к выбранной ноде через пулер соединений — позволяет снизить нагрузку на PostgreSQL;
  • 5432 — порт для подключения напрямую к процессу PostgreSQL.

Способы подключения

  • через терминальный клиент psql;
  • через графические инструменты для управления базами данных: pgAdmin или офисный пакет с поддержкой ODBC или JDBC;
  • из программного кода с SSL и без SSL.

Для всех способов доступно подключение с SSL-сертификатом.

Посмотреть адрес для подключения

1. В панели управления перейдите в раздел Облачная платформаБазы данных.

2. Откройте страницу кластера баз данных → вкладка Подключение.

3. В блоке DNS-адреса для подключения посмотрите DNS-адрес.

Подключиться с SSL

Подключение по SSL обеспечивает шифрование данных между вашим сервером и кластером баз данных.

1. Скачайте корневой сертификат и поместите его в папку `~/.postgresql/`:


        mkdir -p ~/.postgresql/
    wget https://storage.dbaas.selcloud.ru/CA.pem -O ~/.postgresql/root.crt
    chmod 0600 ~/.postgresql/root.crt

   

2. Подключитесь к кластеру:


        psql --host=<host> \
        --port=<port> \
        --user=<database_user_name> \
        --dbname=<database_name> \
        --sslmode=verify-ca

    Укажите:

  •     <host> — DNS-адрес ноды;
  •     <port> — порт для подключения;
  •     <database_user_name> — имя пользователя базы данных;
  •     <database_name> — имя базы данных.

Заключение

В этой инструкции мы рассказали, как создать облачную базу данных PostgreSQL в панели управления Selectel и подключиться к ней, и дали ссылки на смежные инструкции в нашей документации по продукту.