Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex DataSphere
  • Начало работы
    • Все инструкции
      • Подключение к S3 с помощью библиотеки boto3
      • Подключение к базе данных ClickHouse®
      • Подключение к базе данных PostgreSQL
      • Подключение к Яндекс Диску
      • Подключение к Google Drive
    • Как перенести работу в новую версию
  • Справочник Terraform
  • Аудитные логи Audit Trails
  • Управление доступом
  • Правила тарификации
  • Публичные материалы
  • История изменений

В этой статье:

  • Перед началом работы
  • Подключиться к хосту
  1. Пошаговые инструкции
  2. Подключение к источникам данных
  3. Подключение к базе данных PostgreSQL

Подключение к базе данных PostgreSQL

Статья создана
Yandex Cloud
Улучшена
Dmitry A.
Обновлена 9 января 2025 г.
  • Перед началом работы
  • Подключиться к хосту

В инфраструктуре Yandex Cloud разворачивать и поддерживать кластеры серверов PostgreSQL позволяет сервис Managed Service for PostgreSQL.

Перед началом работыПеред началом работы

  1. Создайте новый кластер Managed Service for PostgreSQL с публичным доступом для хоста. Вы можете использовать существующий кластер, содержащий хосты в публичном доступе.
  2. Настройте группы безопасности кластера.
  3. Откройте проект DataSphere:

    1. Выберите нужный проект в своем сообществе или на главной странице DataSphere во вкладке Недавние проекты.

    2. Нажмите кнопку Открыть проект в JupyterLab и дождитесь окончания загрузки.
    3. Откройте вкладку с ноутбуком.

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

Подключение с SSL
Подключение без SSL

Чтобы подключиться к хостам кластера Managed Service for PostgreSQL:

  1. Получите SSL-сертификат. Для этого введите в ячейке ноутбука команду:

    #!:bash
    mkdir ~/.postgresql
    wget "https://storage.yandexcloud.net/cloud-certs/CA.pem" -O ~/.postgresql/root.crt && \
    chmod 0600 ~/.postgresql/root.crt
    
  2. Установите подключение с БД. Для этого введите в ячейке ноутбука команду:

    %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 14.6 (Ubuntu 14.6-201-yandex.52665.7e82983c2c) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0, 64-bit',)
    

Подключение без использования SSL-сертификата поддерживается только для хостов, находящихся не в публичном доступе. В этом случае трафик внутри облачной сети при подключении к БД шифроваться не будет.

  1. Настройте проект. Для этого на странице редактирования проекта в соответствующих полях добавьте или измените:

    • Каталог по умолчанию, в котором развернут кластер Managed Service for PostgreSQL.

    • Сервисный аккаунт с ролью managed-postgresql.editor или выше.

    • Подсеть, в которой расположен хост БД.

      Примечание

      Чтобы иметь доступ в интернет, указывайте подсеть с NAT-шлюзом.

  2. Установите подключение с БД. Для этого введите в ячейке ноутбука команду:

    %pip install psycopg2-binary
    import psycopg2
    
    conn = psycopg2.connect("""
        host=rc1a-<идентификатор_кластера_PostgreSQL>.mdb.yandexcloud.net
        port=6432
        sslmode=disable
        dbname=<имя_БД>
        user=<имя_пользователя_БД>
        password=<пароль_пользователя_БД>
        target_session_attrs=read-write
    """)
    
    q = conn.cursor()
    q.execute('SELECT version()')
    
    print(q.fetchone())
    
    conn.close()
    

    Если подключиться к кластеру удалось, в ответ на тестовый запрос будет выведена версия PostgreSQL:

    ('PostgreSQL 14.6 (Ubuntu 14.6-201-yandex.52665.7e82983c2c) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0, 64-bit',)
    

Была ли статья полезна?

Предыдущая
Подключение к базе данных ClickHouse®
Следующая
Подключение к Яндекс Диску
Проект Яндекса
© 2025 ООО «Яндекс.Облако»