vectorscale
Advanced indexing for vector data with DiskANN
Overview
Attributes
Yes | No | Yes | No | Yes | No | No | - |
Packages
EL | PIGSTY | pgvectorscale_$v | 0.7.1 | - | 17 16 15 14 13 |
Debian | PIGSTY | postgresql-$v-pgvectorscale | 0.7.1 | - | 17 16 15 14 13 |
Dependencies
This extension depends on: vector
Comments
pgrx=0.12.9
Availability
PG17 | PG16 | PG15 | PG14 | PG13 | |
---|---|---|---|---|---|
el8.x86_64 | 0.7.1 | 0.7.1 | 0.7.1 | 0.7.1 | 0.7.1 |
el8.aarch64 | 0.7.1 | 0.7.1 | 0.7.1 | 0.7.1 | 0.7.1 |
el9.x86_64 | 0.7.1 | 0.7.1 | 0.7.1 | 0.7.1 | 0.7.1 |
el9.aarch64 | 0.7.1 | 0.7.1 | 0.7.1 | 0.7.1 | 0.7.1 |
d12.x86_64 | 0.7.1 | 0.7.1 | 0.7.1 | 0.7.1 | 0.7.1 |
d12.aarch64 | 0.7.1 | 0.7.1 | 0.7.1 | 0.7.1 | 0.7.1 |
u22.x86_64 | 0.7.1 | 0.7.1 | 0.7.1 | 0.7.1 | 0.7.1 |
u22.aarch64 | 0.7.1 | 0.7.1 | 0.7.1 | 0.7.1 | 0.7.1 |
u24.x86_64 | 0.7.1 | 0.7.1 | 0.7.1 | 0.7.1 | 0.7.1 |
u24.aarch64 | 0.7.1 | 0.7.1 | 0.7.1 | 0.7.1 | 0.7.1 |
CONTRIB
PGDG
PIGSTY
Download
To add the required PGDG / PIGSTY upstream repository, use:
pig repo add pgdg -u # add PGDG repo and update cache (leave existing repos)
pig repo add pigsty -u # add PIGSTY repo and update cache (leave existing repos)
pig repo add pgsql -u # add PGDG + Pigsty repo and update cache (leave existing repos)
pig repo set all -u # set repo to all = NODE + PGSQL + INFRA (remove existing repos)
./node.yml -t node_repo -e node_repo_modules=node,pgsql # -l <cluster>
Or download the latest packages directly:
Install
Install this extension with:
pig ext install vectorscale; # install by extension name, for the current active PG version
pig ext install pgvectorscale; # install via package alias, for the active PG version
pig ext install vectorscale -v 17; # install for PG 17
pig ext install vectorscale -v 16; # install for PG 16
pig ext install vectorscale -v 15; # install for PG 15
pig ext install vectorscale -v 14; # install for PG 14
pig ext install vectorscale -v 13; # install for PG 13
dnf install pgvectorscale_17;
dnf install pgvectorscale_16;
dnf install pgvectorscale_15;
dnf install pgvectorscale_14;
dnf install pgvectorscale_13;
apt install postgresql-17-pgvectorscale;
apt install postgresql-16-pgvectorscale;
apt install postgresql-15-pgvectorscale;
apt install postgresql-14-pgvectorscale;
apt install postgresql-13-pgvectorscale;
./pgsql.yml -t pg_ext -e '{"pg_extensions": ["pgvectorscale"]}' # -l <cls>
Create this extension with:
CREATE EXTENSION vectorscale CASCADE;
Usage
CREATE EXTENSION vectorscale CASCADE;
CREATE TABLE IF NOT EXISTS document_embedding (
id BIGINT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY,
metadata JSONB,
contents TEXT,
embedding VECTOR(1536)
);
CREATE INDEX document_embedding_idx ON document_embedding
USING diskann (embedding);
SELECT *
FROM document_embedding
ORDER BY embedding <=> $1
LIMIT 10
This fdw is read-only for now.