Skip to content

Quick Start

Installation

# Install dependencies
sudo apt-get install postgresql-server-dev-all libcurl4-openssl-dev

# Install pgvector
# See: https://github.com/pgvector/pgvector

# Build and install
cd pgedge-vectorizer
make
sudo make install

Configuration

Add to postgresql.conf:

shared_preload_libraries = 'pgedge_vectorizer'
pgedge_vectorizer.provider = 'openai'
pgedge_vectorizer.api_key_file = '~/.pgedge-vectorizer-llm-api-key'
pgedge_vectorizer.model = 'text-embedding-3-small'
pgedge_vectorizer.databases = 'mydb'  # Comma-separated list of databases to monitor

Create API key file:

echo "your-api-key" > ~/.pgedge-vectorizer-llm-api-key
chmod 600 ~/.pgedge-vectorizer-llm-api-key

Restart PostgreSQL and create extension:

CREATE EXTENSION vector;
CREATE EXTENSION pgedge_vectorizer;

Basic Usage

-- Create a table
CREATE TABLE documents (
    id BIGSERIAL PRIMARY KEY,
    content TEXT
);

-- Enable vectorization
SELECT pgedge_vectorizer.enable_vectorization(
    'documents',
    'content'
);

-- Insert data - automatically chunked and vectorized
INSERT INTO documents (content)
VALUES ('Your text content here...');

-- Query similar content using generate_embedding()
SELECT
    d.id,
    c.content,
    c.embedding <=> pgedge_vectorizer.generate_embedding('your search query') AS distance
FROM documents d
JOIN documents_content_chunks c ON d.id = c.source_id
ORDER BY distance
LIMIT 5;