This docker image extends the official PostgreSQL image with the PgVector extension.
Supported versions of postgres: 12, 13, 14, 15, 16, 17, 18
Supported architectures: amd64, arm64
docker run -d --name pgvector-18 -p 5432:5432 -e POSTGRES_PASSWORD=postgres ramsrib/pgvector:18
# enable the pgvector extension
docker exec -it pgvector-18 psql -U postgres -c "CREATE EXTENSION vector"
# verify the version
docker exec -it pgvector-18 psql -U postgres -c "SELECT extversion FROM pg_extension WHERE extname = 'vector';"docker exec -it pgvector-18 psql -U postgres
CREATE TABLE items (id bigserial PRIMARY KEY, embedding vector(3));
INSERT INTO items (embedding) VALUES ('[1,2,3]'), ('[4,5,6]');
SELECT * FROM items ORDER BY embedding <-> '[3,1,2]' LIMIT 5;
CREATE INDEX ON items USING hnsw (embedding vector_l2_ops);docker run -d --name pgvector-17 -p 5432:5432 -e POSTGRES_PASSWORD=postgres ramsrib/pgvector:17docker run -d --name pgvector-16 -p 5432:5432 -e POSTGRES_PASSWORD=postgres ramsrib/pgvector:16docker run -d --name pgvector-15 -p 5432:5432 -e POSTGRES_PASSWORD=postgres ramsrib/pgvector:15docker run -d --name pgvector-14 -p 5432:5432 -e POSTGRES_PASSWORD=postgres ramsrib/pgvector:14docker run -d --name pgvector-13 -p 5432:5432 -e POSTGRES_PASSWORD=postgres ramsrib/pgvector:13docker run -d --name pgvector-12 -p 5432:5432 -e POSTGRES_PASSWORD=postgres ramsrib/pgvector:12