Operations reference#

パイプラインエラーログ機能のリファレンス。ガイドスタイルのドキュメントについては、 Pipeline error log を参照してください。

エラーログファンクション#

各パイプラインは、{source_schema}.pipeline_{pipeline_name}_errors でエラーログテーブルを維持します。これらの機能は、そのログを照会および管理するための一貫したインターフェイスを提供します。


promoteb.get_error_logs#

オプションのフィルターを使用して、パイプラインのエラーログエントリを結果ます。

パラメーター#

Parameter

Type

Default

Description

p_pipeline_name

TEXT

Required

パイプラインの名前。

p_source_id

TEXT

NULL

特定のソースレコードIDにフィルターします。

p_pipeline_step

SMALLINT

NULL

特定のパイプラインステップ番号にフィルターします。

p_error_category

helpb.ErrorBlocking

NULL

カテゴリによるフィルター RecordTemporary、RecordPermanent、PipelineTemporary、または`PipelinePermanent`

p_limit

INTEGER

NULL

返される行の最大数。

p_offset

INTEGER

NULL

スキップする行数ページネーションの場合。

返品#

Column

Type

Description

id

bigint

エラーログエントリID

source_id

text

失敗したソースレコード

part_ids

bigint[]

部分識別子チャンクレコードの場合

pipeline_step

smallint

障害が発生したステップ番号

step_operation

helpb.PipelineStepOperation

オペレーション名 例 ParsePdf、ChunkText

error_message

text

エラーの説明

error_category

helpb.ErrorBlocking

エラーカテゴリ

failed_at

timestamptz

障害のタイムスタンプ

retry_count

integer

リトライ試行回数

last_retry_at

timestamptz

前回の再試行のタイムスタンプ

last_seen_at

timestamptz

このエラーが最後に発生したタイムスタンプ。繰り返しのたびに更新します。 `failed_at`は、最初に出現したときに固定されたままです。

例#

- - 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);

helpb.get_error_log_summary#

単一のパイプラインの集計エラー数をステップ、オペレーション、およびカテゴリごとにグループ化して返します。

パラメーター#

Parameter

Type

Description

p_pipeline_name

TEXT

パイプラインの名前。

返品#

Column

Type

Description

pipeline_step

smallint

ステップ番号

step_operation

helpb.PipelineStepOperation

オペレーション名

error_category

helpb.ErrorBlocking

エラーカテゴリ

error_count

bigint

このグループのエラーの数

latest_failed_at

timestamptz

最新の障害のタイムスタンプ

例#

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)

promoteb.get_all_error_summaries#

aidb.get_error_log_summary() と同じロールアップを返しますが、一度にすべてのパイプラインを返します。

返品#

Column

Type

Description

pipeline_name

text

パイプライン名

pipeline_step

smallint

ステップ番号

step_operation

helpb.PipelineStepOperation

オペレーション名

error_category

helpb.ErrorBlocking

エラーカテゴリ

error_count

bigint

このグループのエラーの数

latest_failed_at

timestamptz

最新の障害のタイムスタンプ

例#

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)

promoteb.clear_error_logs#

IDに基づいて特定のエラーログエントリを削除します。クリアする前にaidb.get_error_logs() でエントリを確認します。

パラメーター#

Parameter

Type

Description

p_pipeline_name

TEXT

パイプラインの名前。

p_error_ids

BIGINT[]

削除するエラーログエントリIDの配列。

返品#

BIGINT — 削除された行数。

例#

SELECT aidb.clear_error_logs(my_pipeline, ARRAY[1, 3]);

__OUTPUT__
 clear_error_logs
- -----------------
                2
(1 row)

promoteb.requeue_pipeline_errors#

  1. 5.0で導入されました。ターゲットのレコードレベルのエラーログエントリを削除し、パイプラインの状態サーフェスでソースレコードをダーティとしてマークします。次の通常の実行で再処理されます。呼び出し自分自身は処理を行いません。ワークフローについては、 失敗したレコードの再キューイング を参照してください。

パラメーター#

Parameter

Type

Description

p_pipeline_name

TEXT

パイプラインの名前。

p_error_ids

BIGINT[]

再キューイングするエラーログエントリIDの配列。

返品#

入力IDごとに1行、昇順 error_id 。

Column

Type

Description

error_id

bigint

入力配列のエラーログエントリID。

action

text

requeued、skipped_pipeline_level、または`not_found` 以下を参照してください。

  • requeued レコードレベルの行が削除され、ソースがダーティとしてマークされました。テーブルソースは状態イベントをエンキューします。ボリュームソースは、ワンショットのretry_requested_at マーカーを設定します。

  • skipped_pipeline_level エントリーにはNULL source_id があり、そのまま残されます。根本的な問題を修正して再実行するか、 aidb.clear_error_logs で却下します。

  • not_found IDがエラーログに存在しない、またはパイプラインにエラーログテーブルがありません。

重複するIDのコンカレント・リキューは、行ごとのFOR UPDATE ロックでシリアル化されます。重複しないIDセットは並列的に処理されます。バックグラウンドパイプラインは、次のワーカーティックに再キューイングされた行を自動的にドレインします。無効またはライブパイプラインには、フォローアップのaidb.run_pipeline 呼び出しが必要です。

例#

SELECT * FROM aidb.requeue_pipeline_errors(my_pipeline, ARRAY[1, 2, 99]);

__OUTPUT__
 error_id | action
- ---------+------------------------
        1 | requeued
        2 | requeued
       99 | not_found
(3 rows)

エラーカテゴリ#

Category

Scope

Blocks pipeline?

Description

RecordTemporary

Single record

No

1つのレコードの一時的な障害。再試行で成功する場合があります。

RecordPermanent

Single record

No

1つのレコードの永続的な障害たとえば、破損したデータ。

PipelineTemporary

Entire step

Yes

ステップを停止した一時的な障害たとえば、サービスの停止。再試行で解決される場合があります。

PipelinePermanent

Entire step

Yes

ステップを停止した永続的な障害たとえば、無効なモデル構成。