Главная/ИИ/pgvector

Установка pgvector в PostgreSQL

Установка pgvector это сборка расширения командой make install или готовый Docker-образ pgvector/pgvector, после чего в нужной базе выполняют CREATE EXTENSION vector. Расширение версии 0.8.7 работает с PostgreSQL 13 и новее и хранит векторы рядом с обычными таблицами, без отдельного сервиса.

3 мин чтенияДанные проверены 16 октября 2026

Ответ за 30 секунд

Если PostgreSQL у вас уже есть, pgvector избавит от отдельной векторной базы. Ставьте образ pgvector/pgvector или собирайте расширение, а для эмбеддингов размерностью больше 2 000 берите тип halfvec, иначе индекс не построится.

Свой сервер с root-доступом: PostgreSQL и расширение ставите сами, оплата почасовая.

Сколько места и памяти займёт pgvector

01 · 1 мин

pgvector: векторный поиск прямо в PostgreSQL#

pgvector добавляет в PostgreSQL тип vector и поиск ближайших соседей по расстоянию L2, скалярному произведению, косинусу и другим метрикам. Векторы лежат в обычной таблице рядом с текстом, правами и связями, их бэкапит обычный pg_dump. Лицензия PostgreSQL License.

ТипРазмер одного вектораПредел для индекса
vector (float32)4 × размерность + 8 байт2 000 измерений
halfvec (float16)2 × размерность + 8 байт4 000 измерений
bitдля двоичных векторов64 000 измерений

Хранить можно векторы до 16 000 измерений, но индекс по типу vector строится только до 2 000. Отдельная база вроде Qdrant нужна, когда векторов миллионы и поиск становится отдельной нагрузкой.

02 · 1 мин

pgvector в Docker и docker compose#

Образ pgvector/pgvector это официальный образ PostgreSQL с уже собранным расширением. Тег выбирают по версии базы, например pg18-trixie.

services:
  db:
    image: pgvector/pgvector:pg18-trixie
    restart: unless-stopped
    environment:
      - POSTGRES_PASSWORD=длинный-пароль
    ports: ["127.0.0.1:5432:5432"]
    volumes: [pgdata:/var/lib/postgresql]
volumes:
  pgdata:

После запуска подключитесь и включите расширение в нужной базе: docker compose exec db psql -U postgres -c "CREATE EXTENSION vector;". Включать его нужно один раз в каждой базе, где будут векторы.

Порт 5432 здесь привязан к 127.0.0.1: программы на этом сервере подключаются через localhost, контейнеры того же compose по имени сервиса db. Если база нужна с другого сервера, откройте порт только для его адреса и включите SSL в настройках PostgreSQL.

03 · 1 мин

Установка pgvector на свой PostgreSQL в Ubuntu#

  1. Поставьте заголовки PostgreSQL: sudo apt install postgresql-server-dev-18 (замените 18 на свою версию). Без них сборка падает с ошибкой postgres.h.
  2. Соберите расширение:
cd /tmp
git clone --branch v0.8.7 https://github.com/pgvector/pgvector.git
cd pgvector
make
sudo make install

Затем CREATE EXTENSION vector; в нужной базе. На PostgreSQL 17.0-17.2 документация просит сначала обновиться до 17.3 или новее. Если планируете управляемую базу у провайдера, проверьте в её панели список доступных расширений: ставить своё расширение на чужой сервер нельзя.

04 · 1 мин

Индексы pgvector: HNSW или IVFFlat#

HNSWIVFFlat
Скорость поискаВыше при той же точностиНиже
ПостроениеМедленнее, больше памятиБыстрее, меньше памяти
Пустая таблицаМожно создать сразуНужны данные для обучения
CREATE INDEX ON items USING hnsw (embedding vector_cosine_ops);

Индекс создают отдельно под каждую метрику. Большой HNSW строится заметно быстрее, если граф помещается в maintenance_work_mem: PostgreSQL сам предупредит, когда памяти не хватило. Только не задавайте её так, чтобы съесть всю память сервера. Индекс быстрее строить после загрузки данных, а не до.

Инструмент · 1 мин

Сколько места и памяти займёт pgvector#

Миллион векторов размерности 1024 в типе vector занимает около 4,1 ГБ, в halfvec вдвое меньше. Индекс HNSW добавляет сверху, и для быстрого поиска его держат в памяти. Резервные копии такой базы делают как у любой PostgreSQL, схема в разделе бэкапы.

Какой сервер нужен PostgreSQL с pgvector

Число векторов, размерность и соседство с основной базой: калькулятор подберёт конфигурацию

Сколько векторов
Размерность
Что ещё в этой базе

06 · 1 мин

Вопросы об установке pgvector#

Какой Docker-образ нужен для pgvector?

pgvector/pgvector с тегом под версию PostgreSQL, например pgvector/pgvector:pg18-trixie. Это официальный образ postgres с уже собранным расширением, переменные окружения те же.

Почему в pgvector не создаётся индекс на 3072 измерения?

Индексы по типу vector ограничены 2 000 измерений. Храните эмбеддинги как halfvec (до 4 000 для индекса) или уменьшите размерность в настройках модели эмбеддингов.

Нужно ли выполнять CREATE EXTENSION после установки pgvector?

Да, один раз в каждой базе, где нужны векторы. Сама установка только кладёт файлы расширения в PostgreSQL.

Почему этому можно верить

Как мы проверяли

Требования из документацииРесурсы, порты и команды сверены с официальной документацией, дата проверки указана.
Всё можно повторитьКоманды и расчёты описаны так, что их повторит любой читатель.
Независимый справочникНе связан с разработчиками приложений и провайдерами и пишет о минусах тоже.

Источники цифр на этой странице: VPS и VDS серверы Таймвеб Клауд, timeweb.cloud/services/vds-vps, проверено 14 октября 2026; Облачные базы данных Таймвеб Клауд, timeweb.cloud/services/dbaas, проверено 14 октября 2026; Маркетплейс приложений Таймвеб Клауд, timeweb.cloud/marketplace, проверено 14 октября 2026; pgvector на GitHub: установка, Docker-образ, типы и индексы, github.com/pgvector/pgvector, проверено 15 октября 2026; Лицензия pgvector (PostgreSQL License), github.com/pgvector/pgvector/blob/master/LICENSE, проверено 14 октября 2026.

SBРедакция SelfBase · обновлено 16 октября 2026

Запустите свой сервер за пару минут

Почасовая оплата: тестовый стенд на сутки стоит десятки рублей, а не месячный тариф.

  • NVMe-диски и гарантированная доля процессора
  • Root-доступ и любой софт, от Docker до игровых серверов
  • Маркетплейс: 91 приложение в один клик
  • Бесплатный перенос проекта силами специалистов
Место