Operations reference#
Reference for pipeline error log functions. For guide-style documentation, see Pipeline error log .
Error log functions#
Each pipeline maintains an error log table at
{source_schema}.pipeline_{pipeline_name}_errors . These functions
provide a consistent interface for querying and managing that log.
aidb.get_error_logs#
Returns error log entries for a pipeline, with optional filters.
Parameters#
Parameter |
Type |
Default |
Description |
|---|---|---|---|
pipeline_name |
TEXT |
Required |
Name of the pipeline. |
p_source_id |
TEXT |
NULL |
Filter to a specific source record ID. |
p_pipeline_step |
SMALLINT |
NULL |
Filter to a specific pipeline step number. |
p_error_category |
TEXT |
NULL |
Filter by category: RecordTemporary, RecordPermanent, PipelineTemporary, or PipelinePermanent. |
p_limit |
INTEGER |
NULL |
Maximum number of rows to return. |
p_offset |
INTEGER |
NULL |
Number of rows to skip (for pagination). |
Returns#
Column |
Type |
Description |
|---|---|---|
id |
bigint |
Error log entry ID |
source_id |
text |
Source record that failed |
part_ids |
bigint[] |
Part identifiers (for chunked records) |
pipeline_step |
smallint |
Step number where the failure occurred |
step_operation |
text |
Operation name (for example, ParsePdf, ChunkText) |
error_message |
text |
Error description |
error_category |
aidb.ErrorBlocking |
Error category |
failed_at |
timestamptz |
Timestamp of the failure |
retry_count |
integer |
Number of retry attempts |
last_retry_at |
timestamptz |
Timestamp of the last retry |
Examples#
- - All errors for a pipeline
SELECT * FROM aidb.get_error_logs(my_pipeline);
- - Filter by source record
SELECT * FROM aidb.get_error_logs(my_pipeline, p_source_id => doc_42);
- - Filter by step and category
SELECT * FROM aidb.get_error_logs(
my_pipeline,
p_pipeline_step => 1::smallint,
p_error_category => RecordPermanent
);
- - Paginate
SELECT * FROM aidb.get_error_logs(my_pipeline, p_limit => 20, p_offset => 40);
aidb.get_error_log_summary#
Returns aggregated error counts for a single pipeline, grouped by step, operation, and category.
Parameters#
Parameter |
Type |
Description |
|---|---|---|
pipeline_name |
TEXT |
Name of the pipeline. |
Returns#
Column |
Type |
Description |
|---|---|---|
pipeline_step |
smallint |
Step number |
step_operation |
text |
Operation name |
error_category |
text |
Error category |
error_count |
bigint |
Number of errors in this group |
latest_failed_at |
timestamptz |
Most recent failure timestamp |
Example#
SELECT * FROM aidb.get_error_log_summary(my_pipeline);
__OUTPUT__
pipeline_step | step_operation | error_category | error_count | latest_failed_at
- --------------+----------------+-----------------+-------------+----------------------------
1 | ParsePdf | RecordPermanent | 2 | 2026-04-10 14:31:58.456+00
2 | ChunkText | RecordPermanent | 1 | 2026-04-10 14:32:01.123+00
(2 rows)
aidb.get_all_error_summaries#
Returns the same rollup as aidb.get_error_log_summary() but across
all pipelines at once.
Returns#
Column |
Type |
Description |
|---|---|---|
pipeline_name |
text |
Pipeline name |
pipeline_step |
smallint |
Step number |
step_operation |
text |
Operation name |
error_category |
text |
Error category |
error_count |
bigint |
Number of errors in this group |
latest_failed_at |
timestamptz |
Most recent failure timestamp |
Example#
SELECT * FROM aidb.get_all_error_summaries();
__OUTPUT__
pipeline_name | pipeline_step | step_operation | error_category | error_count | latest_failed_at
- --------------+---------------+----------------+-------------------+-------------+----------------------------
my_pipeline | 1 | ParsePdf | RecordPermanent | 2 | 2026-04-10 14:31:58.456+00
pdf_ingester | 1 | ParsePdf | PipelinePermanent | 1 | 2026-04-10 15:00:12.000+00
(2 rows)
aidb.clear_error_logs#
Deletes specific error log entries by ID. Review entries with
aidb.get_error_logs() before clearing.
Parameters#
Parameter |
Type |
Description |
|---|---|---|
pipeline_name |
TEXT |
Name of the pipeline. |
error_ids |
BIGINT[] |
Array of error log entry IDs to delete. |
Returns#
INTEGER — the number of rows deleted.
Example#
SELECT aidb.clear_error_logs(my_pipeline, ARRAY[1, 3]);
__OUTPUT__
clear_error_logs
- -----------------
2
(1 row)
aidb.retry_pipeline_errors#
!!!Note aidb.retry_pipeline_errors() is not yet available. It will
be included in a future release. See Known issues .
Re-processes specific error log entries from the step where they originally failed.
Parameters#
Parameter |
Type |
Description |
|---|---|---|
pipeline_name |
TEXT |
Name of the pipeline. |
error_ids |
BIGINT[] |
Array of error log entry IDs to retry. |
Returns#
Column |
Type |
Description |
|---|---|---|
error_id |
bigint |
Error log entry ID |
status |
text |
resolved or failed |
error_message |
text |
Failure reason (empty if resolved) |
Resolved entries are removed from the error log. Failed retries remain
with an incremented retry_count and updated last_retry_at .
Example#
SELECT * FROM aidb.retry_pipeline_errors(my_pipeline, ARRAY[1, 2]);
__OUTPUT__
error_id | status | error_message
- ---------+----------+----------------------------------
1 | resolved |
2 | failed | failed to extract text from page 0
(2 rows)
Error categories#
Category |
Scope |
Blocks pipeline? |
Description |
|---|---|---|---|
RecordTemporary |
Single record |
No |
Transient failure for one record. May succeed on retry. |
RecordPermanent |
Single record |
No |
Permanent failure for one record (for example, corrupt data). |
PipelineTemporary |
Entire step |
Yes |
Transient failure that stopped the step (for example, service outage). May resolve on retry. |
PipelinePermanent |
Entire step |
Yes |
Permanent failure that stopped the step (for example, invalid model config). |