Как начать работу с облачной базой данных 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 — это пользователь, которому переходят права владения объектами удаленных пользователей. В отличие от пользователя, владелец базы данных имеет доступ ко всем ее объектам и может совершать операции с ними.
Позднее вы можете добавить пользователей, настроить для них доступ к базе данных и привилегии. Подробнее в инструкции Управление пользователями в нашей документации.
- В панели управления перейдите в раздел Облачная платформа → Базы данных.
- Откройте страницу кластера баз данных → вкладка Пользователи.
- Нажмите Создать пользователя.
- Введите имя и пароль. Сохраните пароль — в панели управления он храниться не будет.
- Нажмите Сохранить.
Создать базу данных
Если у вас уже есть база данных PostgreSQL, данные из которой вы хотите перенести в облачные базы данных Selectel, вы можете использовать для переноса логическую репликацию или логический дамп. Подробнее в инструкции Миграция баз данных PostgreSQL в облачные базы данных в нашей документации.
- В панели управления перейдите в раздел Облачная платформа → Базы данных.
- Откройте страницу кластера → вкладка Базы данных.
- Нажмите Создать базу данных.
- Введите имя базы данных.
- Выберите пользователя-владельца базы данных.
- Введите локаль набора символов (LC_CTYPE) — отвечает за классификацию символов и различия в их регистре. Подробнее о локалях в документации PostgreSQL.
- Введите локаль сортировки (LC_COLLATE) — определяет настройки сравнения строк и символов, а также влияет на сортировку.
- Нажмите Создать.
Подключиться к кластеру
К кластеру облачных баз данных 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 и подключиться к ней, и дали ссылки на смежные инструкции в нашей документации по продукту.