Игорь Градов
Игорь Градов
5 мин
ai

pgvector превращает PostgreSQL в векторную базу: 5 команд вернулись с Pinecone и сэкономили месяцы

PostgreSQL 17 июня 2025 года получил обновлённое расширение pgvector, и разработчики RAG-систем (систем, где ИИ ищет ответ по вашим документам) массово возвращаются с дорогих векторных баз на одну привычную СУБД, экономя месяцы инфраструктурной работы.

pgvector превращает PostgreSQL в векторную базу: 5 команд вернулись с Pinecone и сэкономили месяцы
Почему это важно

pgvector превращает PostgreSQL в гибридную базу: реляционные данные, полнотекстовый поиск и векторы хранятся в одной транзакции, без синхронизации между тремя сервисами. Для команд с объёмом до нескольких миллионов векторов отдельная векторная база становится лишней статьёй расхода.

Автор-практик с Хабра описала повторяющийся сценарий: стартапы переходят на Pinecone или Qdrant «по ощущению», не проверив pgvector, а затем тратят месяц на инфраструктуру синхронизации, который не приносит ни одной новой функции. В пяти задокументированных случаях команды вернулись на PostgreSQL и запустили продакшен быстрее, чем планировали.

Что Когда Кто описал Цена
pgvector для PostgreSQL, гибридный поиск в одной базе Июнь 2025 Инженер-практик, публикация на Хабре Бесплатно, расширение с открытым кодом

Что pgvector даёт прямо сейчас?

  • Векторная колонка внутри обычной таблицы. Добавляете CREATE EXTENSION vector, создаёте колонку типа vector(768), и эмбеддинги (числовые «отпечатки» текста, по которым ИИ измеряет смысловую близость) лежат рядом с ценой, описанием и статусом товара. Один SELECT возвращает и похожие документы, и их метаданные.

  • HNSW-индекс для быстрого поиска. Индекс строится командой CREATE INDEX ... USING hnsw с параметрами m = 16, ef_construction = 64. По данным автора, на восьми миллионах векторов размерности 768 задержка оставалась приемлемой для продакшена рекомендательной системы маркетплейса.

  • Гибридное ранжирование без внешних сервисов. Полнотекстовый поиск через tsvector (включая русскую морфологию) и косинусное сходство объединяются в одном запросе через Reciprocal Rank Fusion (RRF). Это метод, который берёт позицию документа в каждой выдаче вместо сырых числовых оценок, потому что складывать баллы из разных «вселенных» напрямую бессмысленно.

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

  • Транзакционная целостность. Метаданные, история взаимодействий, пользовательские предпочтения и векторы живут в одной транзакции. При падении одного сервиса не ломается цепочка из трёх баз.

Как попробовать?

  1. Убедитесь, что у вас PostgreSQL версии 15 или выше, и выполните CREATE EXTENSION IF NOT EXISTS vector; в нужной базе.
  2. Создайте таблицу с колонкой embedding vector(768) (размерность зависит от вашей модели эмбеддингов) и добавьте HNSW-индекс: CREATE INDEX ON products USING hnsw (embedding vector_cosine_ops);.
  3. Для гибридного поиска добавьте генерируемую колонку search_tsv типа tsvector с конфигурацией 'russian' и GIN-индекс на неё.
  4. Протестируйте на реальных данных: загрузите несколько тысяч векторов, выполните запрос с RRF-ранжированием и сравните задержку с вашим текущим решением.

PostgreSQL против специализированных векторных баз: когда хватает pgvector?

Для российских разработчиков, которые строят RAG-системы или рекомендательные сервисы, выбор между pgvector и отдельной векторной базой (Pinecone, Qdrant, Weaviate) сводится к объёму и сложности инфраструктуры.

Критерий pgvector в PostgreSQL Отдельная векторная БД (Pinecone и аналоги)
Объём векторов Тысячи и миллионы, по опыту автора до 8 млн на одном сервере Сотни миллионов и выше
Синхронизация с основной базой Не нужна, всё в одной транзакции Требует отдельного пайплайна
Стоимость Бесплатное расширение Платная подписка или выделенный кластер
Время на инфраструктуру Минимальное, одна база По опыту автора, месяц и более
Полнотекстовый поиск на русском Встроенный, to_tsvector('russian', ...) Обычно отсутствует

Автор описала конкретный случай: техдир стартапа с юридической RAG-системой решил уйти на Pinecone при объёме в 200-300 тысяч векторов. После того как он попробовал pgvector, система заработала на одном PostgreSQL, и через месяц стартап вышел в продакшен без отдельной векторной базы и без запланированных трёх месяцев инфраструктурных работ.

Для аудитории в России это особенно актуально: Pinecone размещается на зарубежных серверах, а PostgreSQL можно развернуть на любом российском хостинге. Доступность данных и отсутствие зависимости от внешних облаков решают не меньше, чем скорость запросов.

Что делать с этим прямо сейчас, по ролям

Разработчику или автору технического контента на Дзене. Тема «pgvector вместо Pinecone» набирает поисковый трафик. Если вы пишете о базах данных или ИИ, практический разбор с SQL-примерами попадает точно в запрос аудитории, которая ищет «postgresql типы данных» и способы хранить эмбеддинги без отдельного сервиса.

Маркетологу. Если ваш продукт использует семантический поиск или рекомендации, спросите у разработчиков, не переплачиваете ли вы за отдельную векторную базу. Экономия на инфраструктуре при типичных объёмах может оказаться заметной.

Предпринимателю в РФ. PostgreSQL доступен без ограничений, поддерживается российскими облаками (Yandex Cloud, VK Cloud, Selectel), не зависит от зарубежных сервисов. Если ваша команда планирует RAG-систему или поиск по документам, начните с pgvector, а не с Pinecone. Миграция в обратную сторону, с отдельной базы на PostgreSQL, обойдётся дороже.

Мнение редакции dzen.guru

По моим наблюдениям, «миграция на векторную базу» в российских стартапах часто происходит по инерции: кто-то прочитал статью 2023 года, когда pgvector действительно был сырым. С тех пор расширение выросло, появились HNSW-индексы, и для большинства реальных задач (каталог, документы, рекомендации) отдельная база стала избыточной. Я бы рекомендовал каждому, кто сейчас выбирает инфраструктуру для ИИ-поиска, потратить день на тест pgvector с реальными данными, прежде чем подписывать контракт на Pinecone. Оговорка: если у вас сотни миллионов векторов и нужны специфические алгоритмы фильтрации, специализированная база может оправдать себя. Но таких проектов единицы.

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

pgvector замедлит мой PostgreSQL?

При объёмах до нескольких миллионов векторов и правильно настроенном HNSW-индексе влияние на остальные запросы минимально. Автор описала продакшен-систему с восемью миллионами векторов размерности 768 на одном сервере PostgreSQL. Если вы добавляете векторную колонку в существующую таблицу, остальные запросы продолжают работать через свои индексы.

Можно ли использовать pgvector для поиска на русском языке?

Да, и это сильная сторона PostgreSQL. Встроенная поддержка русской морфологии через to_tsvector('russian', ...) позволяет объединить полнотекстовый и семантический поиск в одном запросе. Специализированные векторные базы такой функции обычно не предлагают.

Нужно ли менять версию PostgreSQL?

pgvector работает с PostgreSQL 15 и выше. Если у вас более старая версия, обновление до 17 займёт меньше времени, чем развёртывание и настройка отдельной векторной базы данных с пайплайном синхронизации.

Практический вывод из этой истории прост: прежде чем добавлять в архитектуру новый сервис, проверьте, не умеет ли ваш PostgreSQL делать то же самое. В пяти из пяти описанных случаев умел.

Поделиться:TelegramVK
Игорь Градов
Игорь Градов

Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».

Комментарии

Читайте также

Философия искусственного интеллекта и его смысл
ai

Философия искусственного интеллекта и его смысл

Почему это важно Математик Нестор Гильен в блоге Теренса Тао разделил технологию LLM и продукт корпораций, а скандал вокруг OpenAI и доказательства Бакмастера…

5 мин
Sora, Suno и другие видеонейросети игнорируют промты: 3D-превиз решает проблему
ai

Sora, Suno и другие видеонейросети игнорируют промты: 3D-превиз решает проблему

Видеонейросети вроде Seedance 2.5 и MiniMax Hailuo H3 генерируют красивую картинку, но упорно игнорируют режиссёрские указания в промптах, и команда GPTunneL…

5 мин
ai

Junie от JetBrains: аналог Cursor для России с оплатой в рублях

Российская компания JetBrains выпустила Junie, встроенного ИИ-агента для среды разработки, который работает прямо внутри редактора кода и решает задачи от…

4 мин