Подключение PostgreSQL, Lakebase и AlloyDB
Платформа dbt поддерживает подключение к PostgresSQL и Postgres-совместимым базам данных (AlloyDB, Lakebase).
Следующие поля являются обязательными при создании подключения:
| Loading table... |
Примечание: При настройке подключения Postgres в dbt параметры, связанные с SSL, недоступны для ввода.
Параметры аутентификации
Для аутентификации пользователи dbt могут использовать имя пользователя и пароль базы данных для Postgres и Postgres-совместимых баз данных. Подробнее о поддерживаемых возможностях, ограничениях и полезных рекомендациях см. на странице настройки конкретной базы данных.
В следующей таблице приведены параметры для подключения к базе данных с использованием пароля.
| Loading table... |
Подключение через SSH-туннель
Чтобы подключиться к экземпляру Postgres or AlloyDB через SSH‑туннель, при создании подключения выберите опцию Use SSH Tunnel. При настройке туннеля необходимо указать hostname, имя пользователя и порт для bastion‑сервера.
После сохранения подключения для него будет сгенерирован и отображён публичный ключ. Вы можете скопировать этот публичный ключ на bastion‑сервер, чтобы авторизовать dbt для подключения к вашей базе данных через bastion‑сервер.
О бастионном сервере в AWS
Что такое бастионный сервер?
Bastion‑сервер в Amazon Web Services (AWS) — это хост, который позволяет dbt устанавливать SSH‑соединение.
dbt отправляет только запросы и не передаёт большие объёмы данных. Это означает, что bastion‑сервер может работать на AWS‑инстансе практически любого размера, например t2.small или t2.micro.
Убедитесь, что инстанс расположен в той же Virtual Private Cloud (VPC), что и экземпляр Postgres, и что для группы безопасности bastion‑сервера настроены правила, позволяющие подключаться к порту хранилища данных.
Настройка bastion‑сервера в AWS
Чтобы настроить SSH‑туннель в dbt, вам нужно указать hostname/IP вашего bastion‑сервера, имя пользователя и порт (на ваш выбор), к которому будет подключаться dbt. Выполните следующие шаги:
-
Убедитесь, что сетевые правила безопасности bastion‑сервера настроены так, чтобы принимать подключения с IP‑адресов dbt на тот порт, который вы настроили.
-
Создайте пользовательскую учётную запись с помощью CLI инстанса bastion‑сервера. В следующем примере используется имя пользователя
dbtcloud:sudo groupadd dbtcloud
sudo useradd -m -g dbtcloud dbtcloud
sudo su - dbtcloud
mkdir ~/.ssh
chmod 700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys -
Скопируйте и вставьте сгенерированный dbt публичный ключ в файл
authorized_keys.
После этого bastion‑сервер будет готов к использованию dbt в качестве туннеля для подключения к окружению Postgres.
Конфигурация
Чтобы предоставить пользователям или ролям разрешения на уровне базы данных (права доступа и привилегии), обратитесь к странице Postgres permissions.

