Skip to content

Source-available Optional server for the open-source extension

postvec-server

A companion inference server for postvec. It runs models in a separate, multi-threaded process, scales out to a fleet of CPU and GPU nodes and brings postvec to managed PostgreSQL services. The open-source extension provides local inference, hybrid search and model migration under the PostgreSQL License.

Free for development, testing, CI and personal noncommercial use, with one 30-day production evaluation per organization.

postvec-server between databases and models A self-hosted PostgreSQL cluster calls a fleet of three postvec-server nodes over gRPC. Two managed databases are served by the server's worker over SQL. The nodes form a gossip group, one of them is a GPU node and a dashboard manages them. gRPCworker · SQLworker · SQLgossipPostgreSQLself-hostedAmazon RDSmanaged schemaCloud SQLmanaged schemapostvec-serverCPU nodepostvec-serverCPU nodepostvec-serverGPU builddashboard
text to the model vectors back

Open core

An open-source extension, with the server as an add-on

The postvec extension, its CLI, the inference engine and the packages are released under the PostgreSQL License. In embedded mode they cover the complete SQL surface: enable, search, adopt and migrate, with local models or external providers.

postvec-server adds a second host for inference: process isolation, throughput beyond one database host and managed PostgreSQL. It is source-available under the Business Source License 1.1 and each version changes to the PostgreSQL License four years after its release.

Embedded vs remote
postvec-serverBUSL-1.1 · optional
  • Managed PostgreSQL
  • CPU and GPU fleets
  • Dashboard and HTTP API
  • Process isolation
postvecPostgreSQL License · open source
  • BM25 and vector search
  • Model migration
  • Sync worker
  • Embedded inference
  • External providers
  • CLI and packages
PostgreSQL 16, 17, 18with pgvector 0.8+

Capabilities

What the server adds

Managed PostgreSQL

On Amazon RDS, Aurora, Cloud SQL, Azure Flexible Server, Supabase and Neon, postvec-server installs postvec as a plain SQL schema, runs the sync worker against the database and answers search(text) through a wire-protocol proxy.

Managed PostgreSQL

Process isolation

Inference runs in its own process, with its own limits and restart cycle. A native fault in a model stops that node and the PostgreSQL service continues to run.

When to use it

Throughput and fleets

One node runs multi-threaded next to PostgreSQL. More nodes on CPU or GPU hosts find each other by gossip, postvec spreads requests across them and one fleet serves several databases.

Fleet

Remote model management

The dashboard and the HTTP API list loaded models, send test requests and pull, activate or remove models from the UniVec registries, from a browser that reaches the node.

Dashboard

Health and metrics

Readiness routes and metrics report request latency, fleet membership, models on disk against models loaded and the queue depth of each managed database.

Reference

Managed PostgreSQL

postvec on managed PostgreSQL

The database needs pgvector 0.8 or newer and a role with CREATE on the application database. The server holds the models and provider keys, runs the worker and serves search. Use a direct database endpoint and give the worker ownership of the source tables or membership in their owning roles.

  • Amazon RDS
  • Aurora
  • Cloud SQL
  • Azure Flexible Server
  • Supabase
  • Neon
  1. Install the schema

    Creates the postvec schema as a plain SQL install. The install is transactional and it runs again after a server upgrade to update the schema in place.

    postvec-server managed install \
      --dsn 'postgresql://postvec_worker@db.example/app?sslmode=verify-full' \
      --password-file /etc/postvec-server/database.pw
  2. Add the database to the server

    A managed entry starts the sync worker. Several nodes can list the same database; they elect one leader. proxy_port opens the search proxy.

    "managed": [{
      "name": "prod",
      "dsn": "postgresql://postvec_worker@db.example/app?sslmode=verify-full",
      "password_file": "/etc/postvec-server/database.pw",
      "sync": true,
      "proxy_port": 5433
    }]
  3. Enable a column and search

    After enabling a column and waiting for its initial embeddings, connect through the proxy to search with text. The proxy embeds the query and forwards vector search to PostgreSQL. The managed guide covers supported query forms and connection settings.

    -- through the proxy port (5433)
    SELECT * FROM postvec.search(
      'public.docs', 'body', 'reset password',
      limit_n => 5
    );
Managed PostgreSQL guide

Plans

A subscription covers production use of the server

The extension is free for any use. postvec Pro covers production use of the server by an organization and commercial use of private converters in either inference mode. Server development, testing and staging are free; each organization has one 30-day production evaluation.

Free

€0

Individuals and organizations

  • The extension, CLI and packages, for any use
  • postvec-server for development, testing, CI and staging
  • postvec-server for personal, noncommercial production use
  • One 30-day production evaluation per organization
  • Private converters for noncommercial use

Enterprise

Contract

Annual agreement

  • Support with a service-level agreement
  • Air-gapped model catalogue
  • Custom conversion pairs
  • Redistribution, OEM and hosting postvec-server for third parties

After a cancellation, production use of the server and the private converters ends after a 30-day transition. Vectors already written stay in the database and embedded mode with public models continues to work. Full terms: License.

UniVec

Built and supported by UniVec

UniVec builds embedding translation infrastructure in Dublin, Ireland. The same team maintains the extension, postvec-server, the model registries and the converters that adopt() and migrate() use.

Converter catalogue

nearly 100 conversion pairs between embedding model spaces. A public subset is open to everyone and private converters are available through verified UniVec accounts under their model terms. Pro covers commercial use.

Login and the private catalogue

Hosted API

Pay-as-you-go embedding and vector conversion over REST and MCP. postvec reaches these APIs through the univec external provider. Usage is billed to your UniVec account.

Pricing on univec.ai

Enterprise

Support agreements with response times, an air-gapped catalogue, custom conversion pairs, redistribution and OEM terms.

Contact UniVec

Install

Run a node

The image starts with the bundled MiniLM model loaded and generates a self-signed certificate. Packages add a systemd unit and a configuration file; a source build adds GPU support.

docker run -d --name postvec-server \
  -p 22222:22222 \
  -p 33333:33333 \
  -v postvec-models:/opt/postvec/models \
  ghcr.io/univec-ai/postvec-server:0.5.0-2