AI.Product ClubБлог Михаила Карпова
← Все материалы
HOW-TOАвтоматизация7 мин чтения

n8n и PostgreSQL: первый запрос без изменения данных

Подключи Postgres к n8n и получи учебную сводку обращений: параметры подключения, SQL и проверка результата.

Связка n8n и PostgreSQL полезна для регулярных сводок: получить обращения, посчитать статусы, подготовить данные для отчёта. Первый шаг — проверить соединение и результат чтения. Для упражнения используем строки прямо внутри запроса, поэтому создавать таблицу и менять данные в базе не потребуется.

n8n и PostgreSQL: первый запрос без изменения данных: контрольные этапы
Оригинальная схема AI Product Club. Открыть крупнее.

1. Получи отдельное подключение для чтения

Нужны доступный сервер PostgreSQL, база и разрешённая учётная запись. Попроси администратора предоставить подключение для учебного чтения; не используй административный аккаунт только ради первого запуска. Если сервера нет, сначала подготовь его с ответственным за инфраструктуру: сам узел n8n базу не создаёт.

По справке credentials n8n потребуются Host, Database, User, Password, Port и параметры SSL. Введи реальные значения в хранилище credentials n8n, а не в текст SQL. Параметры шифрования возьми из инструкции владельца базы. Ошибку сертификата стоит разбирать отдельно, а не постоянно отключать проверку.

Важно, откуда подключается n8n. localhost внутри облачного сервиса или контейнера не означает твой ноутбук. Уточни адрес, который видит именно сервер n8n. Пароль и полный адрес подключения не помещай в скриншоты или описание публичного workflow.

2. Собери минимальный процесс

Создай workflow Manual Trigger → Postgres. Выбери подготовленные credentials и операцию Execute Query. Документация Postgres node описывает её как выполнение SQL-запроса.

Для первой проверки вставь:

SELECT 1 AS connection_ok;

Выполни узел. Ожидается одна строка с connection_ok = 1. Этот результат подтверждает соединение и выполнение запроса. Он ещё не подтверждает доступ к конкретной рабочей таблице или правильность будущей бизнес-метрики.

Если соединение не установлено, посмотри сообщение ошибки. Тайм-аут указывает на необходимость проверить сетевой путь; отказ в аутентификации — credentials; запрет доступа — выданные права. Не меняй сразу пароль, SQL и сетевые настройки: иначе трудно понять, что исправило проблему.

3. Получи сводку на четырёх учебных строках

Теперь замени запрос на этот:

WITH tickets(id, status) AS (
  VALUES
    (101, 'open'),
    (102, 'closed'),
    (103, 'open'),
    (104, 'waiting')
)
SELECT status, COUNT(*)::integer AS ticket_count
FROM tickets
GROUP BY status
ORDER BY status;

Конструкция VALUES в PostgreSQL задаёт набор строк внутри запроса. Здесь tickets — учебный набор, не созданная таблица на диске. Запрос не содержит операций записи.

Ожидаемый результат можно проверить вручную:

status ticket_count
closed 1
open 2
waiting 1

Сумма — четыре обращения. Наличие трёх выходных строк не означает три обращения: каждая строка теперь представляет группу статуса. Это частая причина неправильных сводок при передаче данных дальше.

4. Проверь смысл результата до подключения ИИ

Посмотри выход Postgres в n8n: должны присутствовать три группы и два поля. Если следующий узел запускается отдельно для каждой группы, он получит только часть сводки. Для общего отчёта сначала реши, как объединить все три результата; подробнее — в сопоставлении данных между узлами.

Если позднее передаёшь сводку языковой модели, задай ограничение:

Опиши только переданные количества по статусам.
Укажи общее число обращений и число открытых.
Не называй открытые обращения просроченными:
сроков и времени создания в данных нет.
Не вычисляй конверсию, SLA и динамику без дополнительных данных.

Ориентир — четыре обращения, два открытых. Утверждение «половина нарушила SLA» неверно: статус open не равен просрочке. Проверка арифметики не заменяет определения показателя.

Моя рекомендация: сначала согласовать, что означает одна строка результата. После группировки это часто уже не клиент и не заявка, а категория — и ошибки начинаются именно здесь.

5. Перейди к рабочей таблице отдельным шагом

Попроси владельца данных согласовать таблицу или представление, поля, фильтры и определение метрики. Начни с ограниченного чтения и сравни результат с известным отчётом. Для динамических значений используй Query Parameters узла, а не склейку SQL из пользовательского текста.

Агенту доступ к базе нужен только после отдельной проверки границ — смотри чтение базы ИИ-агентом. Такие интеграции разбираем на курсе по ИИ-агентам. SQL проверен редакционно по документации и ручным подсчётом; соединение с PostgreSQL и запуск n8n здесь не выполнялись.

Todo: попробуй на своей задачеПрогресс сохраняется в этом браузере.
ПРАКТИКА НА КУРСЕ / AI PRODUCT CLUB

Собери своего ИИ-агента и проверь результат

«AI Agents: от vibe coding к AI-команде»: desktop agents, MCP, skills, evals и harness. Отдельные воркшопы — от подключения инструментов до контроля качества.

7 практических воркшопов · записи · вопросы автору в чате

Посмотреть программу курса ↗

Автор: — практик автоматизации и автор курсов AI Product Club.