ParadeDB on Azure lets you add high-performance vector search and hybrid search to your Azure-hosted PostgreSQL database by installing the ParadeDB extension.
ParadeDB is a PostgreSQL extension that adds vector search, hybrid search, and full-text search. Deploying it on Azure Database for PostgreSQL gives SaaS teams Google-like relevance without moving data to a separate vector store.
Create a Flexible Server with the "Extensions" feature turned on. Connect with psql or Galaxy and run CREATE EXTENSION IF NOT EXISTS paradedb;
. The command loads C functions and SQL operators needed for vector search.
Create a vector
column. Populate it from your ML pipeline or OpenAI API.
ALTER TABLE Products ADD COLUMN embedding vector(1536);
UPDATE Products
SET embedding = openai_embed(name || ' ' || coalesce(description,''));
Use paradedb.ivfflat_ops
or paradedb.hnsw_ops
for index-accelerated ANN queries.
SELECT id, name, price
FROM Products
ORDER BY embedding <-> paradedb.embed('iPhone 14 128GB')
LIMIT 5;
Create an index for millisecond-level latency.
CREATE INDEX products_embedding_hnsw
ON Products USING hnsw (embedding paradedb.hnsw_ops)
WITH (m = 16, ef_construction = 200);
Combine standard WHERE clauses with ANN ORDER BY.
SELECT id, name, price
FROM Products
WHERE stock > 0
ORDER BY embedding <#> paradedb.embed('budget wireless headphones')
LIMIT 10;
Keep vectors small (≤1536 dims), use HNSW for top-k <100, and schedule VACUUM ANALYZE
. On Azure, pick a server with enough vCPUs to match index build threads.
See the "Common Mistakes" section below for quick fixes.
Read replicas need CREATE EXTENSION paradedb;
too. Without it, Logical Replication fails.
Using vector_ops
instead of paradedb.hnsw_ops
disables ANN acceleration. Recreate with the correct class.
Yes, but you must load the extension on every worker node.
Yes. Use a foreign key to the main table and join during searches.
ParadeDB supports up to 16,000 dimensions, but latency grows. Stay under 3k for OLTP workloads.
The extension is open-source; you only pay for Azure compute and storage.
Yes. Store the 1536-dim vectors directly in the vector
column.
Query pg_stat_user_indexes
and run EXPLAIN ANALYZE
to verify index usage.