Pipelines semantic knowledge bases reference Innovation Release

This reference documentation for Pipelines semantic knowledge bases includes information on the functions and views available in the aidb extension for semantic knowledge bases.

Views

aidb.list_semantic_kbs

Returns a list of all semantic knowledge bases.

ColumnTypeDescription
nametextName of the semantic knowledge base
model_nametextName of the embedding model used
schemastext[]PostgreSQL schemas being monitored
auto_processingtextAuto-processing mode (Live, Background, or Disabled)
bypass_triggersbooleanWhether DDL triggers are bypassed
created_attimestampWhen the knowledge base was created

Example

SELECT * FROM aidb.list_semantic_kbs();

Functions

aidb.create_semantic_kb

Creates a new semantic knowledge base that indexes database schema metadata.

Parameters

ParameterTypeDefaultDescription
nameTEXTRequiredUnique identifier for the knowledge base
modelTEXTRequiredName of the embedding model (must exist)
schemasTEXT[]RequiredPostgreSQL schemas to monitor
auto_processingTEXTRequiredProcessing mode: 'Live', 'Background', or 'Disabled'
bypass_triggersBOOLEANFALSESkip DDL triggers (for Background mode only)
vector_indexJSONBNULLVector index configuration (see helper functions)

Example

SELECT aidb.create_semantic_kb(
    'my_kb',
    'my_embedding_model',
    ARRAY['public', 'sales'],
    'Background',
    FALSE,
    aidb.vector_index_hnsw_config(m => 16, ef_construction => 64)
);

aidb.delete_semantic_kb

Deletes a semantic knowledge base and its metadata.

Parameters

ParameterTypeDefaultDescription
nameTEXTRequiredName of the semantic knowledge base

Example

SELECT aidb.delete_semantic_kb('my_kb');

aidb.refresh_semantic_kb

Re-crawls all monitored schemas and rebuilds the metadata index.

Parameters

ParameterTypeDefaultDescription
nameTEXTRequiredName of the semantic knowledge base

Example

SELECT aidb.refresh_semantic_kb('my_kb');

aidb.update_semantic_kb_auto_processing

Changes the auto-processing mode for an existing semantic knowledge base.

Parameters

ParameterTypeDefaultDescription
nameTEXTRequiredName of the semantic knowledge base
modeTEXTRequiredNew processing mode: 'Live', 'Background', or 'Disabled'

Example

SELECT aidb.update_semantic_kb_auto_processing('my_kb', 'Background');

aidb.semantic_kb_stats

Returns statistics about a semantic knowledge base.

Parameters

ParameterTypeDefaultDescription
nameTEXTRequiredName of the semantic knowledge base

Returns

ColumnTypeDescription
total_countbigintTotal indexed entities
tables_countbigintNumber of tables indexed
views_countbigintNumber of views indexed
columns_countbigintNumber of columns indexed
pending_ddl_eventsbigintQueued changes awaiting processing (Background mode)

Example

SELECT * FROM aidb.semantic_kb_stats('my_kb');

Search functions

aidb.get_metadata

Searches all indexed entities (tables, views, columns) matching a query.

Parameters

ParameterTypeDefaultDescription
kb_nameTEXTRequiredName of the semantic knowledge base
queryTEXTRequiredNatural language query
min_similarityFLOATRequiredMinimum similarity threshold (0.0-1.0)
limitINTEGERRequiredMaximum number of results
offsetINTEGERRequiredOffset for pagination

Returns

ColumnTypeDescription
schema_nametextPostgreSQL schema containing the entity
relation_nametextTable or view name
column_nametextColumn name (NULL for tables/views)
entity_typetext'Table', 'View', 'Column', or 'Alias'
definitiontextFull DDL definition
commenttextDatabase comment if present
similaritydouble precisionCosine similarity score

Example

SELECT schema_name, relation_name, column_name, entity_type, definition, similarity
FROM aidb.get_metadata('my_kb', 'customer orders', 0.8, 10, 0);

aidb.get_column_definitions

Searches only column definitions.

Parameters

ParameterTypeDefaultDescription
kb_nameTEXTRequiredName of the semantic knowledge base
queryTEXTRequiredNatural language query
min_similarityFLOATRequiredMinimum similarity threshold (0.0-1.0)
limitINTEGERRequiredMaximum number of results
offsetINTEGERRequiredOffset for pagination

Returns

ColumnTypeDescription
schema_nametextPostgreSQL schema containing the column
relation_nametextTable or view name
column_nametextColumn name
definitiontextColumn DDL definition
similaritydouble precisionCosine similarity score

Example

SELECT * FROM aidb.get_column_definitions('my_kb', 'payment method', 0.8, 10, 0);

aidb.get_entity_definitions

Searches table and view definitions, filtered by entity type.

Parameters

ParameterTypeDefaultDescription
kb_nameTEXTRequiredName of the semantic knowledge base
queryTEXTRequiredNatural language query
min_similarityFLOATRequiredMinimum similarity threshold (0.0-1.0)
entity_typesTEXT[]RequiredEntity types to include ('Table', 'View')
limitINTEGERRequiredMaximum number of results
offsetINTEGERRequiredOffset for pagination

Returns

ColumnTypeDescription
schema_nametextPostgreSQL schema containing the entity
relation_nametextTable or view name
entity_typetext'Table' or 'View'
definitiontextEntity DDL definition
similaritydouble precisionCosine similarity score

Example

SELECT * FROM aidb.get_entity_definitions('my_kb', 'transaction history', 0.8, ARRAY['Table', 'View'], 10, 0);

aidb.search_by_comment

Searches based on table/column COMMENT values.

Parameters

ParameterTypeDefaultDescription
kb_nameTEXTRequiredName of the semantic knowledge base
queryTEXTRequiredNatural language query
min_similarityFLOATRequiredMinimum similarity threshold (0.0-1.0)
limitINTEGERRequiredMaximum number of results
offsetINTEGERRequiredOffset for pagination

Returns

ColumnTypeDescription
schema_nametextPostgreSQL schema containing the entity
relation_nametextTable or view name
column_nametextColumn name (NULL for tables/views)
commenttextDatabase comment
similaritydouble precisionCosine similarity score

Example

SELECT * FROM aidb.search_by_comment('my_kb', 'stores customer preferences', 0.7, 10, 0);

Semantic alias functions

aidb.create_semantic_alias

Creates a parameterized SQL query with a semantic description.

Parameters

ParameterTypeDefaultDescription
nameTEXTRequiredUnique name for the alias
descriptionTEXTRequiredSemantic description for search
queryTEXTRequiredSQL query with ${param} placeholders
paramsJSONBRequiredParameter definitions (use aidb.alias_params())
modelTEXTRequiredEmbedding model for vectorizing description

Example

SELECT aidb.create_semantic_alias(
    'get_customer_orders',
    'Retrieve all orders for a specific customer',
    'SELECT * FROM orders WHERE customer_id = ${customer_id}',
    aidb.alias_params(
        aidb.alias_param('customer_id', 'integer', 'The customer ID')
    ),
    'my_embedding_model'
);

aidb.alias_param

Defines a single parameter for a semantic alias.

Parameters

ParameterTypeDefaultDescription
nameTEXTRequiredParameter name (matches ${name} in query)
param_typeTEXTRequiredData type ('integer', 'text', 'date', etc.)
descriptionTEXTRequiredHuman-readable description
enum_valuesTEXT[]NULLOptional allowed values

Example

aidb.alias_param('status', 'text', 'Order status filter', ARRAY['pending', 'shipped', 'delivered'])

aidb.alias_params

Combines multiple alias parameters.

Parameters

ParameterTypeDefaultDescription
paramsVARIADICRequiredMultiple aidb.alias_param() calls

Example

aidb.alias_params(
    aidb.alias_param('customer_id', 'integer', 'Customer identifier'),
    aidb.alias_param('limit', 'integer', 'Maximum results to return')
)

aidb.execute_semantic_alias

Executes a semantic alias with provided parameters.

Parameters

ParameterTypeDefaultDescription
nameTEXTRequiredName of the alias to execute
argsJSONBRequiredParameter values as JSON object
roleTEXTNULLOptional role to execute as

Example

SELECT * FROM aidb.execute_semantic_alias(
    'get_customer_orders',
    '{"customer_id": 123}'::jsonb
);

-- With role-based execution
SELECT * FROM aidb.execute_semantic_alias(
    'get_customer_orders',
    '{"customer_id": 123}'::jsonb,
    'analytics_role'
);

aidb.search_semantic_aliases

Searches aliases by semantic similarity.

Parameters

ParameterTypeDefaultDescription
modelTEXTRequiredEmbedding model (must match alias creation)
queryTEXTRequiredNatural language query
min_similarityFLOATRequiredMinimum similarity threshold (0.0-1.0)
limitINTEGERRequiredMaximum number of results
offsetINTEGERRequiredOffset for pagination

Returns

ColumnTypeDescription
nametextAlias name
descriptiontextSemantic description
query_texttextSQL query template
similaritydouble precisionCosine similarity score

Example

SELECT * FROM aidb.search_semantic_aliases('my_embedding_model', 'customer purchase history', 0.7, 10, 0);

aidb.get_semantic_aliases

Lists all semantic aliases.

Example

SELECT * FROM aidb.get_semantic_aliases();

aidb.get_semantic_alias

Gets details for a specific semantic alias.

Parameters

ParameterTypeDefaultDescription
nameTEXTRequiredName of the alias

Example

SELECT * FROM aidb.get_semantic_alias('get_customer_orders');

aidb.delete_semantic_alias

Deletes a semantic alias.

Parameters

ParameterTypeDefaultDescription
nameTEXTRequiredName of the alias

Example

SELECT aidb.delete_semantic_alias('get_customer_orders');

Vector index helper functions

aidb.vector_index_hnsw_config

Configures an HNSW index for the semantic knowledge base.

Parameters

ParameterTypeDefaultDescription
vector_data_typeTEXTNULLVector storage type
mINTEGER16Max connections per node
ef_constructionINTEGER64Build-time search depth
ef_searchINTEGERNULLQuery-time search depth

Example

aidb.vector_index_hnsw_config(m => 16, ef_construction => 64)

aidb.vector_index_ivfflat_config

Configures an IVFFlat index for the semantic knowledge base.

Parameters

ParameterTypeDefaultDescription
vector_data_typeTEXTNULLVector storage type
listsINTEGERRequiredNumber of clusters
probesINTEGERNULLClusters to search at query time

Example

aidb.vector_index_ivfflat_config(lists => 100)

aidb.vector_index_disabled_config

Disables vector indexing for the semantic knowledge base.

Example

aidb.vector_index_disabled_config()