You've already forked pgvecto.rs
mirror of
https://github.com/tensorchord/pgvecto.rs.git
synced 2025-08-01 06:46:52 +03:00
* feat: transactional CREATE/DROP Signed-off-by: usamoi <usamoi@outlook.com> * test: transaction ddl Signed-off-by: usamoi <usamoi@outlook.com> --------- Signed-off-by: usamoi <usamoi@outlook.com>
66 lines
1.4 KiB
Plaintext
66 lines
1.4 KiB
Plaintext
statement ok
|
|
SET search_path TO pg_temp, vectors;
|
|
|
|
# product quantization
|
|
statement ok
|
|
CREATE TABLE t (val vector(3));
|
|
|
|
statement ok
|
|
INSERT INTO t (val) SELECT ARRAY[random(), random(), random()]::real[] FROM generate_series(1, 1000);
|
|
|
|
statement ok
|
|
CREATE INDEX ON t USING vectors (val vector_l2_ops)
|
|
WITH (options = "[indexing.hnsw.quantization.product]");
|
|
|
|
statement ok
|
|
INSERT INTO t (val) VALUES ('[0.6,0.6,0.6]');
|
|
|
|
query I
|
|
SELECT COUNT(1) FROM (SELECT 1 FROM t ORDER BY val <-> '[0.5,0.5,0.5]' limit 10) t2;
|
|
----
|
|
10
|
|
|
|
query I
|
|
SELECT COUNT(1) FROM (SELECT 1 FROM t ORDER BY val <=> '[0.5,0.5,0.5]' limit 10) t2;
|
|
----
|
|
10
|
|
|
|
query I
|
|
SELECT COUNT(1) FROM (SELECT 1 FROM t ORDER BY val <#> '[0.5,0.5,0.5]' limit 10) t2;
|
|
----
|
|
10
|
|
|
|
statement ok
|
|
DROP TABLE t;
|
|
|
|
# scalar quantization
|
|
statement ok
|
|
CREATE TABLE t (val vector(3));
|
|
|
|
statement ok
|
|
INSERT INTO t (val) SELECT ARRAY[random(), random(), random()]::real[] FROM generate_series(1, 1000);
|
|
|
|
statement ok
|
|
CREATE INDEX ON t USING vectors (val vector_l2_ops)
|
|
WITH (options = "[indexing.hnsw.quantization.scalar]");
|
|
|
|
statement ok
|
|
INSERT INTO t (val) VALUES ('[0.6,0.6,0.6]');
|
|
|
|
query I
|
|
SELECT COUNT(1) FROM (SELECT 1 FROM t ORDER BY val <-> '[0.5,0.5,0.5]' limit 10) t2;
|
|
----
|
|
10
|
|
|
|
query I
|
|
SELECT COUNT(1) FROM (SELECT 1 FROM t ORDER BY val <=> '[0.5,0.5,0.5]' limit 10) t2;
|
|
----
|
|
10
|
|
|
|
query I
|
|
SELECT COUNT(1) FROM (SELECT 1 FROM t ORDER BY val <#> '[0.5,0.5,0.5]' limit 10) t2;
|
|
----
|
|
10
|
|
|
|
statement ok
|
|
DROP TABLE t; |