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

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пересчитывается автоматически при каждом обновлении строки. Ни отдельных задач по расписанию, ни риска, что индекс отстал от данных. -
Транзакционная целостность. Метаданные, история взаимодействий, пользовательские предпочтения и векторы живут в одной транзакции. При падении одного сервиса не ломается цепочка из трёх баз.
Как попробовать?
- Убедитесь, что у вас PostgreSQL версии 15 или выше, и выполните
CREATE EXTENSION IF NOT EXISTS vector;в нужной базе. - Создайте таблицу с колонкой
embedding vector(768)(размерность зависит от вашей модели эмбеддингов) и добавьте HNSW-индекс:CREATE INDEX ON products USING hnsw (embedding vector_cosine_ops);. - Для гибридного поиска добавьте генерируемую колонку
search_tsvтипаtsvectorс конфигурацией'russian'и GIN-индекс на неё. - Протестируйте на реальных данных: загрузите несколько тысяч векторов, выполните запрос с 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, обойдётся дороже.
По моим наблюдениям, «миграция на векторную базу» в российских стартапах часто происходит по инерции: кто-то прочитал статью 2023 года, когда pgvector действительно был сырым. С тех пор расширение выросло, появились HNSW-индексы, и для большинства реальных задач (каталог, документы, рекомендации) отдельная база стала избыточной. Я бы рекомендовал каждому, кто сейчас выбирает инфраструктуру для ИИ-поиска, потратить день на тест pgvector с реальными данными, прежде чем подписывать контракт на Pinecone. Оговорка: если у вас сотни миллионов векторов и нужны специфические алгоритмы фильтрации, специализированная база может оправдать себя. Но таких проектов единицы.
Частые вопросы
pgvector замедлит мой PostgreSQL?
При объёмах до нескольких миллионов векторов и правильно настроенном HNSW-индексе влияние на остальные запросы минимально. Автор описала продакшен-систему с восемью миллионами векторов размерности 768 на одном сервере PostgreSQL. Если вы добавляете векторную колонку в существующую таблицу, остальные запросы продолжают работать через свои индексы.
Можно ли использовать pgvector для поиска на русском языке?
Да, и это сильная сторона PostgreSQL. Встроенная поддержка русской морфологии через to_tsvector('russian', ...) позволяет объединить полнотекстовый и семантический поиск в одном запросе. Специализированные векторные базы такой функции обычно не предлагают.
Нужно ли менять версию PostgreSQL?
pgvector работает с PostgreSQL 15 и выше. Если у вас более старая версия, обновление до 17 займёт меньше времени, чем развёртывание и настройка отдельной векторной базы данных с пайплайном синхронизации.
Практический вывод из этой истории прост: прежде чем добавлять в архитектуру новый сервис, проверьте, не умеет ли ваш PostgreSQL делать то же самое. В пяти из пяти описанных случаев умел.

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

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

Sora, Suno и другие видеонейросети игнорируют промты: 3D-превиз решает проблему
Видеонейросети вроде Seedance 2.5 и MiniMax Hailuo H3 генерируют красивую картинку, но упорно игнорируют режиссёрские указания в промптах, и команда GPTunneL…
Junie от JetBrains: аналог Cursor для России с оплатой в рублях
Российская компания JetBrains выпустила Junie, встроенного ИИ-агента для среды разработки, который работает прямо внутри редактора кода и решает задачи от…
Комментарии