Skip to main content
Applies to: Embedded ❌, Enterprise ✅
ivf_partition reads an existing IVF-family vector index’s trained partitions and assigns each row to the one its vector falls into. The column needs an up-to-date, single-segment index before the function runs — the same requirement dedupe has. Grouping by its result buckets rows by vector proximity without a full pairwise scan — useful for blocking a large table into comparable chunks, such as before a pairwise similarity pass.

Input

ivf_partition takes exactly 1, 3, or 4 arguments — the vector column alone (scans every partition), or the vector column plus selection and count, plus seed only when selection is 'random': Arguments can be passed positionally, ivf_partition(embedding, 'random', 100, 42), or named as shown above. count and seed are the same scan-scoping arguments duplicate_pairs accepts, so a sampled partition estimate carries over — but not dedupe, which always scans every partition and refuses sampling arguments entirely.

What to read next

Cluster records by index partition

Use this function to group and sample records by an existing index’s partitions.

DEDUPE

The packaged table function for the deduplication use case, over the same index.