SET client_min_messages = warning; CREATE EXTENSION IF NOT EXISTS vector; SET enable_seqscan = off; CREATE TABLE t (val vector(3)); INSERT INTO t (val) VALUES ('[0,0,0]'), ('[1,2,3]'), ('[1,1,1]'), (NULL); CREATE INDEX ON t USING ivfflat (val vector_cosine_ops) WITH (lists = 1); INSERT INTO t (val) VALUES ('[1,2,4]'); SELECT * FROM t ORDER BY val <=> '[3,3,3]'; val --------- [1,1,1] [1,2,3] [1,2,4] (3 rows) SELECT * FROM t ORDER BY val <=> (SELECT NULL::vector); val ----- (0 rows) DROP TABLE t;