Перейти к основному содержимому

Postgres туннель

к сведению

Доступно только по подписке.

Обзор​

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

примечание

Postgres туннели рассчитаны на отладку и работу локально или в тестовых окружениях, не поддерживают подключение через SSL, поэтому нужно использовать sslmode=disable. Мы не рекомендуем использовать этот тип туннелей в производственных средах.

Если пользователь или пароль неверны, клиент получит ошибку базы как есть, с кодом SQLSTATE, — например, FATAL: password authentication failed for user "app", а не обрыв соединения.

Начиная с версии 0.36.0 tuna показывает в терминале полноэкранный интерфейс с сессиями и SQL-запросами.

Примеры​

примечание

Все актуальные флаги, подсказки и примеры можно посмотреть вызвав справку:

tuna postgres --help

Почти для всех флагов есть аналогичные переменные окружения.

Базовый пример​

tuna postgres 5432

С передачей IP-адреса​

tuna postgres 10.0.0.1:5432

С указанием API-ключа​

Можно указать другой API-ключ через флаг --api-key или переменную окружения TUNA_API_KEY, у ключа должно быть право tunnels:connect. Переопределение происходит в соответствии с политикой очерёдности конфигурации.

tuna postgres 5432 --api-key=tak_***

С указанием региона для подключения​

Можно указать специфичный регион через флаг --location/-l или переменную окружения TUNA_LOCATION. Переопределение происходит в соответствии с политикой очерёдности конфигурации.

tuna postgres 5432 --location=nl

Статичный порт​

В качестве значения флага --port/-p может выступать алиас или назначенный порт. Порты можно резервировать в личном кабинете и после перезапуска туннеля адрес останется прежним. Подробнее о портах читайте в отдельной инструкции.

tuna postgres 5432 --port=postgres
tuna postgres 5432 --port=35000

Ограничение доступа по подсетям IP​

Вы можете определить белый список подсетей в CIDR-формате:

tuna postgres 5432 --cidr-allow="10.0.0.1/32"

Либо запретить доступ из определенных подсетей:

tuna postgres 5432 --cidr-deny="10.0.0.1/32"

Можно комбинировать, например указать широкую сеть и вычесть частные IP:

tuna postgres 5432 --cidr-allow="10.0.0.1/24" --cidr-deny="10.0.0.33/32"

Также можно передавать списки через запятую:

tuna postgres 5432 --cidr-allow="10.0.0.1/24,192.168.0.1/24" --cidr-deny="10.0.0.33/32,192.168.0.33/32"

Инспектор запросов​

Инспектор включён всегда и доступен по адресу http://127.0.0.1:4040: слева список сессий, справа запросы выбранной сессии с длительностью, результатом и ошибками. Следующий туннель займёт порт 4041, фиксированный порт задаётся флагом --inspect-port или переменной TUNA_INSPECT_PORT. Если инспектор не нужен, используйте TCP туннель.

CLI пишет адрес инспектора в лог и показывает в шапке интерфейса в терминале. Подробнее — на странице инспектора.

Сессия Postgres: транзакция с длительностями и командными тегами