pg_incremental
Overview
| Package | Version | Category | License | Language |
|---|---|---|---|---|
pg_incremental | 1.5.0 | FEAT | PostgreSQL | C |
| ID | Extension | Bin | Lib | Load | Create | Trust | Reloc | Schema |
|---|---|---|---|---|---|---|---|---|
| 2850 | pg_incremental | No | Yes | No | Yes | No | No | pg_catalog |
pg_cron is optional since v1.3 and only required for scheduled pipelines.
Version
| Type | Repo | Version | PG Ver | Package | Deps |
|---|---|---|---|---|---|
| EXT | PIGSTY | 1.5.0 | 1817161514 | pg_incremental | - |
| RPM | PIGSTY | 1.5.0 | 1817161514 | pg_incremental_$v | - |
| DEB | PIGSTY | 1.5.0 | 1817161514 | postgresql-$v-pg-incremental | - |
Build
You can build the RPM / DEB packages for pg_incremental using pig build:
Install
You can install pg_incremental directly. First, make sure the PGDG and PIGSTY repositories are added and enabled:
Install the extension using pig or apt/yum/dnf:
Create Extension:
Usage
- Sources: README, v1.5.0 release
pg_incremental defines exactly-once incremental pipelines for append-only tables and file feeds. Upstream documents three pipeline types: sequence, time-interval, and file-list.
Install And Scheduling Model
The upstream README still documents pg_cron-backed scheduling and installs with:
Pipelines run immediately when created unless execute_immediately := false, then continue on a pg_cron schedule. The README notes that each scheduled execution appears in cron.job_run_details even when no new data is available.
Sequence Pipelines
Use sequence pipelines to process safe ranges of sequence values:
The README documents max_batch_size for limiting how many sequence IDs are processed per run.
Time-Interval Pipelines
Use time windows when the command should receive $1 and $2 as a passed interval:
For export-style jobs, the README documents batched := false so each interval runs separately.
File-List Pipelines
Use file-list pipelines to process newly discovered files:
The v1.5.0 release adds max_batches_per_run to file-list pipelines. The README documents incremental.skip_file() for permanently marking a bad file as processed.
Operations And Monitoring
The README documents:
CALL incremental.execute_pipeline(name): run once if new work exists.SELECT incremental.reset_pipeline(name): reset progress.SELECT incremental.drop_pipeline(name): remove a pipeline.- Views and tables such as
incremental.sequence_pipelines,incremental.time_interval_pipelines,incremental.file_list_pipelines, andincremental.processed_files.
The v1.5.0 release note also calls out a DROP EXTENSION fix for environments where pg_cron is not present.
Was this page helpful?
Thanks—your feedback helps us improve this page.
What got in the way? (optional)