Интеграция с PostgreSQL: запись, поиск и обновление данных из схемы

Интеграция с PostgreSQL в nana800 выполняет SQL-запрос к вашей базе на каждый запуск схемы: сохраняет заявку, находит заказ, меняет статус. Нужна только строка подключения из панели провайдера, а данные из других блоков уходят в базу отдельными параметрами, поэтому кавычка в имени клиента не ломает запрос. Каждый запрос стоит 0,20 ₽, а баланс каждый месяц бесплатно пополняется до 350 ₽.

Собрать в конструкторе
  • Запуск блока: 0,20 ₽
  • Бесплатно каждый месяц: 350 ₽
  • Карта не нужна

Что можно сделать

  • Сохранять заявки с сайта, заказы и сообщения боту строками в ваши таблицы
  • Находить данные по запросу: заказ по номеру, клиента по телефону или email, и передавать их дальше по схеме
  • Менять и удалять строки: ставить отметку об оплате, переводить заказ в новый статус, чистить старые записи
  • Писать любой SQL: JOIN, подсчёты, свои функции и RETURNING, чтобы сразу получить добавленную строку
  • Подставлять в запрос данные из других блоков без риска взлома через текст из формы (SQL-инъекции): они передаются в базу параметрами
  • Работать с облачными базами Supabase, Neon, AWS RDS, Render и со своим сервером, с шифрованием SSL или без него

Блоки в конструкторе

  • Запрос к базе PostgreSQL

    Действие · 0,20 ₽ за запуск

    Выполняет SQL-запрос к вашей базе PostgreSQL: SELECT, INSERT, UPDATE, DELETE или любую другую команду. Возвращает найденные строки, число затронутых строк и текст ошибки, если запрос не прошёл.

Как настроить

  1. 1

    Подготовьте доступ к базе

    Возьмите в панели провайдера строку подключения вида postgresql://логин:пароль@адрес:5432/имя_базы или отдельно хост, порт, имя базы, пользователя и пароль. База должна принимать подключения из интернета: база на вашем компьютере (localhost) или во внутренней сети вроде 192.168.x.x не подойдёт.

  2. 2

    Создайте схему и добавьте триггер

    В конструкторе создайте схему и поставьте триггер, который принесёт данные: «webhook» для заявок с сайта, сообщение боту в Telegram или запуск по расписанию. Для первой проверки хватит триггера «button», он запускает схему вручную.

  3. 3

    Подключите блок PostgreSQL

    Добавьте блок «Postgres external database operation». Вставьте строку подключения целиком или заполните хост, порт, имя базы, пользователя и пароль. Режим SSL оставьте require: он подходит для Supabase, Neon, AWS RDS и большинства облачных баз. Если на сервере нет SSL, выберите disable.

  4. 4

    Напишите SQL-запрос

    В поле «SQL запрос» напишите команду, например добавление строки в таблицу заявок, и на место значений подставьте поля из триггера. Текстовое значение берите в одинарные кавычки, число можно без кавычек. Допишите в конец RETURNING *, и блок вернёт добавленную строку целиком.

  5. 5

    Включите и проверьте схему

    Включите схему, нажмите кнопку в триггере «button» и откройте результат блока: в result лежат строки, в row_count их число, а при ошибке в error_text будет ответ базы. Когда всё работает, оставьте схему включённой. Пока она включена, она стоит 0,42 ₽ в час.

Готовые связки

  • Вебхук + PostgreSQL

    Свой API к базе PostgreSQL без бэкенда: вебхук принимает данные, SQL-запрос записывает или читает строки и отдаёт ответ. Бесплатный баланс каждый месяц.

Частые вопросы

Каждый запрос к базе стоит 0,20 ₽. Включённая схема стоит 0,42 ₽ в час. Баланс каждый месяц бесплатно пополняется до 350 ₽, карта не нужна. Если схема включена круглосуточно весь месяц, большая часть этой суммы уходит на часы работы схемы.

Нет. Блок подключается только к базам, доступным из интернета: localhost, адреса 10.x.x.x, 172.16.x.x - 172.31.x.x, 192.168.x.x и имена вроде .local заблокированы. Подойдёт облачная база (Supabase, Neon, AWS RDS, Render) или ваш сервер с публичным адресом и открытым портом базы.

Да. Данные из других блоков не вклеиваются в текст запроса, а уходят в базу отдельными параметрами. Кавычка или точка с запятой в имени клиента не сломает запрос и не выполнит чужую команду. Пароль от базы скрыт от читателей проекта и не попадает в логи.

Если в запросе есть данные из других блоков, это должна быть одна SQL-команда. Запрос, который идёт дольше 15 секунд, база прерывает, а подключения блок ждёт до 10 секунд. Для больших выборок ставьте LIMIT, чтобы не тянуть лишние строки дальше по схеме.

Если сервер работает без шифрования, выберите режим SSL disable. Если сертификат сервера не проходит проверку, выберите require или включите verify-full и вставьте сертификат CA провайдера. Подсказку, какой режим поставить, блок пишет прямо в error_text.

Схема собирается мышкой, но сам запрос к базе пишется на SQL. Для типичных задач хватает одной строки: найти заказ по номеру, добавить заявку, поменять статус. Если базу ведёт разработчик, попросите его написать запрос один раз, дальше схема работает сама.

Соберите первую схему бесплатно

Регистрация бесплатная, карта не нужна. Каждый месяц баланс бесплатно пополняется до 350 ₽, этого хватает примерно на 3 500 запусков простых блоков.

Собрать в конструкторе