Contents
Installed SQL Object And Option Inventory
Generated by scripts/generate-sql-object-inventory.sh from
sql/pgcontext--0.2.0.sql and the HNSW reloptions callback. Run the generator
after changing the installed SQL contract, or use
scripts/generate-sql-object-inventory.sh --check to verify it. Do not edit
this file by hand.
The SQL contract registry owns lifecycle classification; this inventory pins the installed object and option shape consumed by the capability contract.
Full SQL artifact SHA-256: 6ac8ce941ba8260ebc0673643b3e36090cbd7a9e38829b74ff3cb628f1c5b981
The artifact fingerprint covers every object declaration, function result shape, cast method/context, operator identity, and opclass strategy. contract_registry separately compares installed functions and catalog objects bidirectionally, including typed operator and access-method/input-type opclass identities.
| Object kind | Installed count |
|---|---|
| Types | 18 |
| Schemas | 0 |
| Functions | 272 |
| Tables | 16 |
| Views | 12 |
| Triggers | 4 |
| Casts | 23 |
| Operators | 42 |
| Operator classes | 18 |
| Aggregates | 8 |
| Access methods | 1 |
Types
BitVecBuildJobStatusEmbeddingMigrationStatusHalfVecIndexAdvisorRecommendationIndexDiagnosticStatusIndexLifecycleStatusIndexMemoryEstimateStatusOptimizationStatusQueryCohortStatusQueryExplainStatusQueryLatencyBucketQueryLifecycleStateRecallCheckStatusSparseVecTelemetryStatusVacuumAdviceStatusVector
Schemas, Tables, Views, And Triggers
- table
pgcontext._artifact_reader_pins - table
pgcontext._artifact_segments - table
pgcontext._build_deltas - table
pgcontext._build_jobs - table
pgcontext._collection_aliases - table
pgcontext._collection_late_interaction_tokens - table
pgcontext._collection_late_interaction - table
pgcontext._collection_payload_columns - table
pgcontext._collection_points - table
pgcontext._collection_sparse_vectors - table
pgcontext._collection_vectors - table
pgcontext._collections - table
pgcontext._embedding_migrations - table
pgcontext._model_versions - table
pgcontext._pgvector_ownership_conversions - table
pgcontext._query_stats - trigger
pgcontext_build_jobs_no_progress_regression - trigger
pgcontext_build_jobs_terminal_state - trigger
pgcontext_capture_build_point_delta - trigger
pgcontext_cleanup_late_interaction_registration - view
pgcontext._collection_acl - view
pgcontext._visible_artifact_segments - view
pgcontext._visible_build_jobs - view
pgcontext._visible_collection_late_interaction - view
pgcontext._visible_collection_limits - view
pgcontext._visible_collection_payload_columns - view
pgcontext._visible_collection_points - view
pgcontext._visible_collection_sparse_vectors - view
pgcontext._visible_collection_vectors - view
pgcontext._visible_collections - view
pgcontext._visible_pgvector_ownership_conversions - view
pgcontext._visible_query_stats
Function Names
Overload argument and result identities are pinned by the artifact fingerprint and bidirectional contract_registry test.
"_begin_pgvector_ownership_conversion""_hnsw_candidates""_hnsw_masked_candidates""_hnsw_sparse_candidates""_hnsw_sparse_masked_candidates""_mmap_hnsw_artifact_candidates""_sync_pgvector_ownership_columns""_transition_pgvector_ownership_conversion""adopt_pgvector""artifact_segment_diagnostics""artifact_segment_memory""artifact_segment_mmap_payload""artifact_segment_serving_readiness""artifact_segments""attach_hnsw_index""attach_sparse_hnsw_index""backfill_points""binary_quantize""bitvec""bitvec_and_transition""bitvec_bits_final""bitvec_cmp""bitvec_dims""bitvec_enforce_typmod""bitvec_eq""bitvec_from_bool_array""bitvec_ge""bitvec_gt""bitvec_hamming_distance""bitvec_in""bitvec_jaccard_distance""bitvec_le""bitvec_lt""bitvec_ne""bitvec_or_transition""bitvec_out""bitvec_to_bool_array""bitvec_typmod_in""bitvec_typmod_out""build_jobs""build_mmap_hnsw_artifact""bulk_delete_points""bulk_upsert_points""cleanup_artifact_segments""clear_payload""collection_aliases""collection_info""collection_limits""collection_sparse_vectors""collection_vectors""compact""compare_indexes""configure_collection_limits""configure_sparse_vector""configure_vector""cosine_distance""count""create_collection""create_collection_alias""create_embedding_migration""cutover_pgvector_ownership_conversion""delete_payload""delete_points""discover""drop_collection""drop_collection_alias""embedding_migrations""enable_pgvector_binding""encode_artifact_segment""estimate_index_memory""execute_query""explain""explain_late_interaction""explain_late_interaction_ann""explain_sparse""explore""facet""finalize_pgvector_ownership_conversion""grouped_search""halfvec""halfvec_avg_final""halfvec_cmp""halfvec_cosine_distance""halfvec_dims""halfvec_enforce_typmod""halfvec_eq""halfvec_from_double_array""halfvec_from_integer_array""halfvec_from_real_array""halfvec_ge""halfvec_gt""halfvec_in""halfvec_inner_product""halfvec_l1_distance""halfvec_l2_distance""halfvec_le""halfvec_lt""halfvec_ne""halfvec_negative_inner_product""halfvec_out""halfvec_sum_final""halfvec_sum_transition""halfvec_to_real_array""halfvec_to_vector""halfvec_typmod_in""halfvec_typmod_out""hnsw_build_stats""hnsw_l2_distance""hnsw_last_scan_work""hnsw_serving_stats""index_advisor""index_diagnostics""index_status""inner_product""l1_distance""l2_distance""migration_report""model_versions""negative_inner_product""optimization_status""pgvector_ownership_conversions""product_quantize""product_reconstruct""publish_artifact_segment""publish_artifact_segment_file""query""query_cohort_stats""query_discover""query_execution_stats""query_formula""query_full_text""query_late_interaction""query_lookup""query_nearest""query_prefetch""query_recommend""query_rerank""query_score_threshold""query_sparse_nearest""query_telemetry_queue_stats""query_weight""recall_check""recommend""record_query_stat""register_filter_column""register_jsonb_path""register_late_interaction""register_model_version""register_sparse_vector""register_vector""repair_late_interaction""request_build_cancel""rerank_late_interaction""rerank_quantized_candidates""retire_artifact_segment""retry_build_job""rollback_pgvector_ownership_conversion""run_build_job""run_pgvector_ownership_conversion""scalar_quantize""scalar_reconstruct""scroll""search""search_late_interaction""search_late_interaction_ann""search_mmap_hnsw_artifact""search_sparse""set_payload""sparsevec""sparsevec_avg_final""sparsevec_cmp""sparsevec_cosine_distance""sparsevec_dims""sparsevec_enforce_typmod""sparsevec_eq""sparsevec_from_arrays""sparsevec_from_real_array""sparsevec_from_vector""sparsevec_ge""sparsevec_gt""sparsevec_in""sparsevec_indices""sparsevec_inner_product""sparsevec_l1_distance""sparsevec_l2_distance""sparsevec_le""sparsevec_lt""sparsevec_ne""sparsevec_negative_inner_product""sparsevec_out""sparsevec_sum_final""sparsevec_sum_transition""sparsevec_to_real_array""sparsevec_to_vector""sparsevec_typmod_in""sparsevec_typmod_out""sparsevec_values""start_build_job""start_pgvector_ownership_conversion""telemetry""update_build_job""update_embedding_migration""upsert_points""vacuum_advice""validate_artifact_segment""validate_hnsw_graph_artifact""vector_avg_final""vector_cmp""vector_dims""vector_enforce_typmod""vector_eq""vector_from_double_array""vector_from_integer_array""vector_from_real_array""vector_ge""vector_gt""vector_in""vector_le""vector_lt""vector_ne""vector_out""vector_sum_final""vector_sum_transition""vector_to_real_array""vector_typmod_in""vector_typmod_out"pgcontext._begin_late_interaction_registrationpgcontext._capture_build_point_deltapgcontext._capture_late_interaction_tokenspgcontext._cleanup_late_interaction_registrationpgcontext._cosine_distance_fastpgcontext._enforce_build_job_terminal_statepgcontext._finish_late_interaction_registrationpgcontext._l1_distance_fastpgcontext._l2_distance_fast8pgcontext._l2_distance_fastpgcontext._late_interaction_ann_candidate_pointspgcontext._mapped_hnsw_sql_droppgcontext._negative_inner_product_fastpgcontext._prepare_late_interaction_repairpgcontext._refresh_collection_source_tablepgcontext._refresh_payload_source_bindingspgcontext._refresh_sparse_vector_source_bindingpgcontext._refresh_vector_source_bindingpgcontext._reject_build_job_progress_regressionpgcontext._store_late_interaction_tokenspgcontext.current_vector_config_revisionpgcontext.hamming_distancepgcontext.hnsw_handlerpgcontext.jaccard_distance
Cast Identities
(bit AS bitvec) WITH INOUT AS ASSIGNMENT;(bit varying AS bitvec) WITH INOUT AS ASSIGNMENT;(bitvec AS bit varying) WITH INOUT AS ASSIGNMENT;(bitvec AS bit) WITH INOUT;(bitvec AS bitvec)(bitvec AS boolean[]) WITH FUNCTION pgcontext.bitvec_to_bool_array(bitvec) AS ASSIGNMENT;(boolean[] AS bitvec) WITH FUNCTION pgcontext.bitvec_from_bool_array(boolean[]) AS ASSIGNMENT;(double precision[] AS halfvec)(double precision[] AS vector)(halfvec AS halfvec)(halfvec AS real[])(halfvec AS vector)(integer[] AS halfvec)(integer[] AS vector)(real[] AS halfvec)(real[] AS sparsevec)(real[] AS vector)(sparsevec AS real[])(sparsevec AS sparsevec)(sparsevec AS vector)(vector AS real[])(vector AS sparsevec)(vector AS vector)
Typed Operator Registry Entries
| Entry | Kind | Applies to | Lifecycle |
|---|---|---|---|
vector_ops |
operator class | btree, vector | Stable |
halfvec_ops |
operator class | btree, halfvec | Experimental |
sparsevec_ops |
operator class | btree, sparsevec | Experimental |
bitvec_ops |
operator class | btree, bitvec | Experimental |
vector_hnsw_ops |
operator class | pgcontext_hnsw, vector | Experimental |
vector_hnsw_ip_ops |
operator class | pgcontext_hnsw, vector | Experimental |
vector_hnsw_cosine_ops |
operator class | pgcontext_hnsw, vector | Experimental |
vector_hnsw_l1_ops |
operator class | pgcontext_hnsw, vector | Experimental |
halfvec_hnsw_ops |
operator class | pgcontext_hnsw, halfvec | Stable |
halfvec_hnsw_ip_ops |
operator class | pgcontext_hnsw, halfvec | Stable |
halfvec_hnsw_cosine_ops |
operator class | pgcontext_hnsw, halfvec | Stable |
halfvec_hnsw_l1_ops |
operator class | pgcontext_hnsw, halfvec | Stable |
sparsevec_hnsw_ops |
operator class | pgcontext_hnsw, sparsevec | Stable |
sparsevec_hnsw_ip_ops |
operator class | pgcontext_hnsw, sparsevec | Stable |
sparsevec_hnsw_cosine_ops |
operator class | pgcontext_hnsw, sparsevec | Stable |
sparsevec_hnsw_l1_ops |
operator class | pgcontext_hnsw, sparsevec | Stable |
bitvec_hnsw_hamming_ops |
operator class | pgcontext_hnsw, bitvec | Stable |
bitvec_hnsw_jaccard_ops |
operator class | pgcontext_hnsw, bitvec | Stable |
<-> |
operator | vector, vector | Stable |
<#> |
operator | vector, vector | Stable |
<=> |
operator | vector, vector | Stable |
<+> |
operator | vector, vector | Stable |
< |
operator | vector, vector | Stable |
<= |
operator | vector, vector | Stable |
= |
operator | vector, vector | Stable |
<> |
operator | vector, vector | Stable |
>= |
operator | vector, vector | Stable |
> |
operator | vector, vector | Stable |
<-> |
operator | halfvec, halfvec | Experimental |
<#> |
operator | halfvec, halfvec | Experimental |
<=> |
operator | halfvec, halfvec | Experimental |
<+> |
operator | halfvec, halfvec | Experimental |
< |
operator | halfvec, halfvec | Experimental |
<= |
operator | halfvec, halfvec | Experimental |
= |
operator | halfvec, halfvec | Experimental |
<> |
operator | halfvec, halfvec | Experimental |
>= |
operator | halfvec, halfvec | Experimental |
> |
operator | halfvec, halfvec | Experimental |
<-> |
operator | sparsevec, sparsevec | Experimental |
<#> |
operator | sparsevec, sparsevec | Experimental |
<=> |
operator | sparsevec, sparsevec | Experimental |
<+> |
operator | sparsevec, sparsevec | Experimental |
< |
operator | sparsevec, sparsevec | Experimental |
<= |
operator | sparsevec, sparsevec | Experimental |
= |
operator | sparsevec, sparsevec | Experimental |
<> |
operator | sparsevec, sparsevec | Experimental |
>= |
operator | sparsevec, sparsevec | Experimental |
> |
operator | sparsevec, sparsevec | Experimental |
< |
operator | bitvec, bitvec | Experimental |
<= |
operator | bitvec, bitvec | Experimental |
= |
operator | bitvec, bitvec | Experimental |
<> |
operator | bitvec, bitvec | Experimental |
>= |
operator | bitvec, bitvec | Experimental |
> |
operator | bitvec, bitvec | Experimental |
<~> |
operator | bitvec, bitvec | Experimental |
<%> |
operator | bitvec, bitvec | Experimental |
<~> |
operator | bit, bit | Experimental |
<%> |
operator | bit, bit | Experimental |
<~> |
operator | bit varying, bit varying | Experimental |
<%> |
operator | bit varying, bit varying | Experimental |
Aggregate Identities
pgcontext.avg(halfvec) (pgcontext.avg(sparsevec) (pgcontext.avg(vector) (pgcontext.bit_and(bitvec) (pgcontext.bit_or(bitvec) (pgcontext.sum(halfvec) (pgcontext.sum(sparsevec) (pgcontext.sum(vector) (
Access Methods And Operator Classes
- access method
pgcontext_hnsw - operator class
pgcontext.bitvec_hnsw_hamming_ops - operator class
pgcontext.bitvec_hnsw_jaccard_ops - operator class
pgcontext.bitvec_ops - operator class
pgcontext.halfvec_hnsw_cosine_ops - operator class
pgcontext.halfvec_hnsw_ip_ops - operator class
pgcontext.halfvec_hnsw_l1_ops - operator class
pgcontext.halfvec_hnsw_ops - operator class
pgcontext.halfvec_ops - operator class
pgcontext.sparsevec_hnsw_cosine_ops - operator class
pgcontext.sparsevec_hnsw_ip_ops - operator class
pgcontext.sparsevec_hnsw_l1_ops - operator class
pgcontext.sparsevec_hnsw_ops - operator class
pgcontext.sparsevec_ops - operator class
pgcontext.vector_hnsw_cosine_ops - operator class
pgcontext.vector_hnsw_ip_ops - operator class
pgcontext.vector_hnsw_l1_ops - operator class
pgcontext.vector_hnsw_ops - operator class
pgcontext.vector_ops
pgcontext_hnsw Index Reloptions
| Option | Accepted shape | Lifecycle |
|---|---|---|
quantization |
none, scalar, sq8, or pq |
Experimental until quantized serving is complete |
scalar_min |
finite lower bound | Experimental |
scalar_max |
finite upper bound greater than scalar_min |
Experimental |
scalar_levels |
integer from 2 through 256 | Experimental |
pq_subvector_dimensions |
positive divisor of vector dimensions | Experimental |
pq_codebooks |
validated JSON codebook array | Experimental |
HNSW GUCs
| Setting | Default | Lifecycle |
|---|---|---|
pgcontext.hnsw_m |
16 |
Experimental HNSW serving policy |
pgcontext.hnsw_ef_construction |
64 |
Experimental HNSW build policy |
pgcontext.hnsw_ef_search |
32 |
Experimental HNSW search policy |
pgcontext.hnsw_candidate_budget |
32 |
Experimental filtered/iterative policy |
pgcontext.hnsw_iterative_expansion_limit |
10000 |
Experimental bounded expansion policy |
pgcontext.hnsw_recall_threshold |
0.95 |
Experimental recall-health policy |