Skip to main content

LlamaIndex Vector_Stores Integration: Postgres

This integration allows you to use PostgreSQL with the pgvector extension as a vector store for LlamaIndex.

Installation

pip install llama-index-vector-stores-postgres

Usage

Basic Setup

from llama_index.vector_stores.postgres import PGVectorStore

vector_store = PGVectorStore.from_params(
    database="your_database",
    host="localhost",
    password="your_password",
    port="5432",
    user="your_user",
    table_name="your_table",
    embed_dim=1536,  # OpenAI embedding dimension
)

Query Modes

The PGVectorStore supports multiple query modes:

  • DEFAULT - Standard similarity search
  • HYBRID - Combines dense and sparse retrieval
  • SPARSE - BM25-based text search
  • TEXT_SEARCH - Full-text search
  • MMR - Maximal Marginal Relevance for diverse results

MMR (Maximal Marginal Relevance) Queries

MMR balances relevance and diversity in search results. Use it when you want results that are both relevant to the query and diverse from each other.

from llama_index.core import VectorStoreIndex

# Create index with PGVectorStore
index = VectorStoreIndex.from_vector_store(vector_store)

# Query engine with MMR
query_engine = index.as_query_engine(
    vector_store_query_mode="mmr",
    similarity_top_k=5,
    vector_store_kwargs={
        "mmr_threshold": 0.5,  # 0=max diversity, 1=max similarity
    },
)
response = query_engine.query("Your question here")

# Retriever with MMR
retriever = index.as_retriever(
    vector_store_query_mode="mmr",
    similarity_top_k=5,
    vector_store_kwargs={
        "mmr_threshold": 0.3,  # Lower = more diverse results
        "mmr_prefetch_factor": 4.0,  # Prefetch multiplier (default: 4.0)
    },
)
nodes = retriever.retrieve("Your query here")

MMR Parameters

Parameter Description Default
mmr_threshold Balance between relevance (1.0) and diversity (0.0) 0.5
mmr_prefetch_factor Multiplier for candidate pool size 4.0
mmr_prefetch_k Exact candidate pool size (overrides factor) None

Metadata

Release files for llama-index-vector-stores-postgres 0.9.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for llama-index-vector-stores-postgres 0.9.0
File Size Uploaded
llama_index_vector_stores_postgres-0.9.0.tar.gz 14.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for llama-index-vector-stores-postgres 0.9.0
File Interpreter ABI Platform
llama_index_vector_stores_postgres-0.9.0-py3-none-any.whl Python 3 none any Details

Total release size: 28.9 kB

Release files / llama_index_vector_stores_postgres-0.9.0.tar.gz

Download URL llama_index_vector_stores_postgres-0.9.0.tar.gz
Size 14.5 kB
Tags Source
SHA-256 checksum
How to use checksums
893cfabb2017c4a7f78d8093545ed55e8bb91d1a98f71cabf196bc9e7031805d
BLAKE2b-256 checksum
How to use checksums
d6e94dd22c8de37652bb856eafd0cb1f29f2354aa163cba96ed6a534d1f1e830
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / llama_index_vector_stores_postgres-0.9.0-py3-none-any.whl

Download URL llama_index_vector_stores_postgres-0.9.0-py3-none-any.whl
Size 14.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c3212fa25a1d85f6bd9688ead5d484e70e002a905e3b27e4dd039e0ea9a0b2f4
BLAKE2b-256 checksum
How to use checksums
ce692d4c5cae0ffb30a28a15f27896a09a04415cccf91cc2e7d9f9f165a26fa8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.9.0 This release

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.8

2 release files

0.6.7

2 release files

0.6.6

2 release files

0.6.5

2 release files

0.6.4

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page