layout: default title: Stable API

Stable API

This page lists the compact application-facing API. For every function, configuration knob, and lower-level helper, use the full SQL API Reference.

Storage and maintenance

CREATE TABLE events (
    id bigint PRIMARY KEY,
    payload text
) USING sorted_heap;
API Use
sorted_heap_compact(regclass) Offline full rewrite into globally sorted PK order
sorted_heap_compact_online(regclass) Online compaction with trigger-based change replay
sorted_heap_merge(regclass) Offline sorted-prefix plus unsorted-tail merge
sorted_heap_merge_online(regclass) Online merge
sorted_heap_bulk_load_ordered(regclass, source_sql, order_by, analyze_after := false, key_columns := NULL) Trusted ordered bulk ingestion with observational run witness
sorted_heap_rebuild_zonemap(regclass) Manual zone-map rebuild

Partition maintenance

API Use
sorted_heap_partition_status(parent) Check concrete leaves under a partitioned parent
sorted_heap_partition_index_status(parent) Check leaf index state
sorted_heap_partition_maintenance_plan(parent, operation) Read-only lock and rewrite estimate
sorted_heap_compact_partitions(parent, fail_on_unsupported := true) Compact concrete sorted_heap leaves
sorted_heap_merge_partitions(parent, fail_on_unsupported := true) Merge concrete sorted_heap leaves
sorted_heap_rebuild_zonemap_partitions(parent, fail_on_unsupported := true) Rebuild leaf zone maps

Observability

API Use
sorted_heap_zonemap_stats(regclass) Inspect zone-map validity and coverage
sorted_heap_zonemap_may_match_int8(regclass, bigint, bigint) Fail-open metadata probe for first-key int8 range overlap
sorted_heap_append_run_status(regclass default NULL) Inspect ordered bulk-load append-run witnesses and stale/current status
sorted_heap_append_run_plan(regclass) Dry-run append-run summary; never authorizes merge in this release
sorted_heap_append_run_invalidate(regclass default NULL) Mark append-run witnesses invalid
sorted_heap_append_run_cleanup(regclass default NULL) Delete invalid, relfilenode-stale, or orphaned append-run witnesses
sorted_heap_restore_plan(parent default NULL) Post-restore maintenance checklist
sorted_heap_scan_stats() Shared/global scan pruning counters
sorted_heap_scan_stats_by_relation() Per-relation scan pruning counters
sorted_heap_partition_scan_stats(parent) Partition rollup for scan pruning counters
sorted_heap_reset_stats() Reset sorted_heap scan counters

Vector search

CREATE TABLE documents (
    id bigint PRIMARY KEY,
    embedding svec(384),
    content text
);

CREATE INDEX documents_embedding_idx
ON documents USING sorted_hnsw (embedding)
WITH (m = 16, ef_construction = 200);

SELECT id, content
FROM documents
ORDER BY embedding <=> '[0.1,0.2,0.3,...]'::svec
LIMIT 10;
API Use
svec(dim) Float32 vector storage
hsvec(dim) Float16 vector storage
sorted_hnsw Planner-integrated KNN Index AM
sorted_hnsw_scan_stats() Backend-local ANN/top-up/exact-fallback attribution
sorted_hnsw_reset_stats() Reset backend-local sorted_hnsw scan counters

Stable GraphRAG

SELECT *
FROM sorted_heap_graph_rag(
    'facts'::regclass,
    '[0.1,0.2,0.3,...]'::svec,
    relation_path := ARRAY[1, 2],
    ann_k := 64,
    top_k := 10,
    score_mode := 'path'
);
API Use
sorted_heap_graph_register(...) Register non-canonical fact column names
sorted_heap_graph_config(regclass) Inspect fact-graph registration
sorted_heap_graph_unregister(regclass) Remove fact-graph registration
sorted_heap_graph_rag(...) Stable fact-shaped GraphRAG query
sorted_heap_graph_rag_stats() GraphRAG execution counters
sorted_heap_graph_rag_reset_stats() Reset GraphRAG counters

Routed GraphRAG

API Use
sorted_heap_graph_route(...) Stable routed query dispatcher
sorted_heap_graph_route_plan(...) Explain which route/default/profile/policy would be used
sorted_heap_graph_route_last_stats() Last routed GraphRAG execution summary

Canonical setup helpers:

API family Use
sorted_heap_graph_exact_* Exact-key route registration
sorted_heap_graph_segment_* Range/segment route registration
sorted_heap_graph_route_profile_* Profile registration and resolution
sorted_heap_graph_route_default_* Default profile registration
sorted_heap_graph_route_policy_* Policy/group registration
sorted_heap_graph_segment_meta_* Segment metadata registration

Stable configuration

GUC Default Use
sorted_heap.enable_scan_pruning on Enable sorted_heap custom scan pruning
sorted_heap.vacuum_rebuild_zonemap off Rebuild zone maps during VACUUM
sorted_heap.lazy_update off Defer costly eager update maintenance
sorted_hnsw.ef_search 64 Runtime HNSW search breadth
sorted_hnsw.shared_cache on Shared decoded graph cache when preloaded
sorted_hnsw.sq8 on SQ8 decoded cache representation
sorted_hnsw.build_sq8 off Low-memory index build mode