ulak
Overview
| Package | Version | Category | License | Language |
|---|---|---|---|---|
ulak | 0.0.2 | FEAT | Apache-2.0 | C |
| ID | Extension | Bin | Lib | Load | Create | Trust | Reloc | Schema |
|---|---|---|---|---|---|---|---|---|
| 2680 | ulak | No | Yes | Yes | Yes | No | No | ulak |
| Related | pgmq pgmb pg_durable redis pgq pgmqtt pg_task tcn pg_background fsm_core |
|---|
preload required; rm README from RPM/DEB
Version
| Type | Repo | Version | PG Ver | Package | Deps |
|---|---|---|---|---|---|
| EXT | PIGSTY | 0.0.2 | 1817161514 | ulak | - |
| RPM | PIGSTY | 0.0.2 | 1817161514 | ulak_$v | - |
| DEB | PIGSTY | 0.0.2 | 1817161514 | postgresql-$v-ulak | - |
Build
You can build the RPM / DEB packages for ulak using pig build:
Install
You can install ulak directly. First, make sure the PGDG and PIGSTY repositories are added and enabled:
Install the extension using pig or apt/yum/dnf:
Preload:
Create Extension:
Usage
Sources: README, wiki, v0.0.2 release
ulak implements the transactional outbox pattern inside PostgreSQL. Messages are inserted transactionally, then background workers deliver them asynchronously with retries, circuit breaking, and dead-letter handling.
Enable the Extension
The README also shows setting ulak.database when running the included Docker example.
Define Endpoints and Send Messages
The same API pattern is documented for kafka, mqtt, redis, amqp, and nats endpoints.
Delivery Controls and Pub/Sub
Monitoring and Recovery
Key Settings
The README highlights these ulak. GUCs:
workerspoll_intervalbatch_sizemax_queue_sizecircuit_breaker_thresholdcircuit_breaker_cooldownhttp_timeoutdlq_retention_days
The v0.0.2 release notes only document a Docker publish workflow fix, so the current README and wiki remain the authoritative user-facing usage sources.
Was this page helpful?
Thanks—your feedback helps us improve this page.
What got in the way? (optional)