Работа с PostgreSQL
Обновлено 30.10.2026
Инструкция по PostgreSQL workflow
Эта инструкция описывает тестовые примеры работы с PostgreSQL в n8n:
Пример. PostgreSQL. Создать таблицу и загрузить данные.json
Пример. PostgreSQL. Загрузка vector embeddings.json
1. Что нужно перед запуском
Доступы
Для всех PostgreSQL-нод используйте credentials "Postgre n8n".
Это общие credentials для подключения к PostgreSQL в n8n. Если workflow после импорта показывает ошибку credentials, откройте каждую PostgreSQL-ноду и выберите Postgres n8n.
Для embedding-нод используется credential "BaseGeotechModelCreds".
Он нужен для модели embeddings geotech/openai/text-embedding-3-small.
На момент написания инструкции также доступна модель-эмбеддер geotech/openai/text-embedding-3-large.
2. Пример PostgreSQL. Создать таблицу и загрузить данные
Ссылка на workflow https://n8n.geotech.user.events/workflow/mfFVSJ2CSQFRrE52
Файл "Пример. PostgreSQL. Создать таблицу и загрузить данные.json" в https://cloud.ide-spb.com/apps/files/files/108031766?dir=/n8n/test/workflow_examples.
Workflow создает таблицу n8n_demo_dragons и загружает в нее 5 строк с данными.
Основные поля таблицы:
dragon_id — идентификатор дракона, например DRG-AX-001;
dragon_name — имя;
epithet — эпитет;
habitat — место обитания;
favorite_food — любимая пища;
age_years — возраст;
abilities — описание способностей;
key_facts — ключевые факты в jsonb;
relations — связи с другими сущностями;
full_text — текст для embeddings и поиска;
embedding — поле типа vector, изначально пустое.
Как запустить
Перейдите по ссылке к соответствующему workflow или импортируйте workflow в n8n в виде json.
Проверьте, что во всех PostgreSQL-нодах выбран credential Postgres n8n.
Запустите последнюю ноду Проверить поле embedding. Наведите на неё и нажмите на знак ▶
Дальше workflow выполнит цепочку: создание таблицы, загрузка строк, проверка данных и проверка поля embedding.
Откройте output ноды Проверить данные в таблице.
Ожидаемый результат: в таблице n8n_demo_dragons появятся 5 строк, а поле embedding пока будет пустым.
Workflow можно запускать повторно. Записи обновляются по dragon_id, а не дублируются.
3. Пример PostgreSQL. Загрузка vector embeddings
Ссылка на workflow https://n8n.geotech.user.events/workflow/mj5QYpdDY9rP98fP
Файл "Пример. PostgreSQL. Загрузка vector embeddings.json" в https://cloud.ide-spb.com/apps/files/files/108031766?dir=/n8n/test/workflow_examples.
Workflow создаёт векторное представление из текста, embeddings из данных поля n8n_demo_dragons.full_text и записывает его в поле n8n_demo_dragons.embedding.
Embeddings можно загружать 2 способами:
в отдельную таблицу n8n_demo_dragons; которая была создана предварительно в "Пример. PostgreSQL. Создать таблицу и загрузить данные.json" https://n8n.geotech.user.events/workflow/mfFVSJ2CSQFRrE52
в общую таблицу n8n_vectors.
Эти варианты нужны для разных сценариев.
Вариант 1. Запись embedding в отдельную таблицу
Целевая таблица n8n_demo_dragons, целевое поле embedding.
Этот вариант удобен, если данные должны оставаться в своей предметной таблице. Например, у вас есть каталог объектов, справочник, карточки товаров или любая отдельная бизнес-таблица.
Логика работы:
Workflow выбирает строки n8n_demo_dragons, где embedding IS NULL.
Берет текст из full_text.
Временно записывает embeddings в n8n_vectors, потому что PGVector-нода n8n умеет считать embeddings именно через vector store.
SQL переносит полученный vector в n8n_demo_dragons.embedding.
Временные строки staging удаляются из n8n_vectors.
Запуск с нажатием на знак ▶ на последней ноде "Результат n8n_demo_dragons":
Вариант 2. Запись embedding в общую таблицу n8n_vectors
Этот вариант удобен для общего векторного хранилища. В таблицу сохраняются:
text — текст строки или фрагмента;
metadata — описание источника, dragon_id, имя, путь, collection и другие поля;
embedding — vector embedding;
collection_id — ссылка на collection.
В этом примере используется collection dragon_demo.
Логика работы:
Workflow удаляет старые demo-строки из n8n_vectors по metadata. Это сделано в рамках тестового примера, чтобы при повторном запуске workflow не появлялись дубли.
Берет все строки из n8n_demo_dragons.
Готовит по одному документу на каждого дракона.
Через PGVector-ноду считает embeddings и записывает строки в n8n_vectors.
Проверяет, сколько строк записано и сколько из них имеют embedding.
Запуск с нажатием на знак ▶ на последней ноде "Результат n8n_vectors":
4. Порядок запуска
Сначала запустите workflow Пример. PostgreSQL. Создать таблицу и загрузить данные.
Убедитесь, что Проверить данные в таблице показывает 5 драконов.
Затем запустите нужную ветку workflow Пример. PostgreSQL. Загрузка vector embeddings.
Для отдельной таблицы запускайте ветку от Настройки для n8n_demo_dragons.
Для общей таблицы запускайте ветку от Настройки для n8n_vectors.
5. Что проверять после запуска
Проверку загруженных строк можно осуществить с помощью workflow "Пример. PostgreSQL. Проверка insert.json" в https://cloud.ide-spb.com/apps/files/files/108031766?dir=/n8n/test/workflow_examples, ссылка
Он выполняет SQL-запрос к upload_docs_n8n_vectors или n8n_demo_dragons и проверяет, что ранее загруженная тестовая строка находится по ожидаемому marker/document_id. Это отдельная проверка insert-сценария.
Для таблицы n8n_demo_dragons:
SELECT
COUNT(*) AS total_rows,
COUNT(embedding) AS rows_with_embedding
FROM n8n_demo_dragons;Для общей таблицы upload_docs_n8n_vectors:
SELECT
COUNT(*) AS vector_rows,
COUNT(embedding) AS vector_rows_with_embedding
FROM n8n_vectors
WHERE metadata->>'source_type' = 'dragon_catalog_row'
AND metadata->>'source_path' = '/n8n/rag_input/unique_info.md';Ожидаемый результат для demo-набора: 5 строк с непустым embedding.
6. Сложные примеры
Если используете другую embedding-модель, проверьте размерность вектора. Для n8n_vectors.embedding размерность не зафиксирована в DDL. Для отдельной таблицы можно оставить embedding vector или указать фиксированную размерность: embedding vector(1536) для geotech/openai/text-embedding-3-small или embedding vector(3072) для geotech/openai/text-embedding-3-large.
Более сложный пример загрузки данных из Excel-файла в Nextcloud и последующей дозагрузки embeddings находится здесь:
"НСИ. Загрузка данных.json", https://n8n.geotech.user.events/workflow/YKeWG7t9yeBBO1DU
"НСИ. Дозагрузка embedding.json", https://n8n.geotech.user.events/workflow/fN513xOpUMkfpuLP
Этот пример сложнее текущих тестовыйх workflow, потому что в нем есть чтение excel файла из файлового хранилища Nextcloud, подготовка строк и дополнительные Code-ноды для преобразования данных.
Работа с Nextcloud описана в инструкции n8n старт,
а подходы к Code-нодам описаны в инструкции n8n сode нода.
Дата обновления: 29 июня 2026
Не нашли ответ? Гена поищет по всей базе знаний или заведёт обращение на консультанта