Подключение к базе данных PostgreSQL
В инфраструктуре Yandex Cloud разворачивать и поддерживать кластеры серверов PostgreSQL позволяет сервис Managed Service for PostgreSQL.
Перед началом
-
Создайте новый кластер Managed Service for PostgreSQL c публичным доступом для хоста. Вы можете использовать существующий кластер, содержащий хосты в публичном доступе.
-
Настройте группы безопасности кластера.
-
Откройте проект DataSphere:
Консоль управления-
В консоли управления откройте раздел DataSphere в каталоге, в котором вы работаете с проектами DataSphere.
- Перейдите во вкладку Проекты.
- Нажмите на имя нужного проекта и дождитесь окончания загрузки.
- Откройте вкладку с ноутбуком.
-
Подключитесь к хосту
Чтобы подключиться к хостам кластера Managed Service for PostgreSQL:
-
Получите SSL-сертификат. Для этого введите в ячейке ноутбука команду:
#!:bash mkdir ~/.postgresql wget "https://storage.yandexcloud.net/cloud-certs/CA.pem" -O ~/.postgresql/root.crt && \ chmod 0600 ~/.postgresql/root.crt
-
Установите подключение с БД. Для этого введите в ячейке ноутбука команду:
%pip install psycopg2-binary import psycopg2 conn = psycopg2.connect(""" host=<FQDN хоста PostgreSQL> port=6432 sslmode=verify-full dbname=<имя БД> user=<имя пользователя БД> password=<пароль пользователя БД> target_session_attrs=read-write """) q = conn.cursor() q.execute('SELECT version()') print(q.fetchone())
В случае успешного подключения к кластеру и выполнения тестового запроса будет выведена версия PostgreSQL:
('PostgreSQL 13.3 (Ubuntu 13.3-201-yandex.50027.438e1ff1be) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0, 64-bit',)