omni_containers
omni_containers
omnigres : Docker container management
Overview
| ID | Extension | Package | Version | Category | License | Language |
|---|---|---|---|---|---|---|
| 2944 | omni_containers
|
omnigres
|
0.2.0 |
FEAT
|
Apache-2.0
|
C
|
| Attribute | Has Binary | Has Library | Need Load | Has DDL | Relocatable | Trusted |
|---|---|---|---|---|---|---|
--s-d--
|
No
|
Yes
|
No
|
Yes
|
no
|
no
|
Packages
| Type | Repo | Version | PG Major Compatibility | Package Pattern | Dependencies |
|---|---|---|---|---|---|
| EXT | PIGSTY
|
0.2.0 |
18
17
16
15
14
|
omnigres |
omni_httpc, omni_web |
| RPM | PIGSTY
|
0.2.0 |
18
17
16
15
14
|
omnigres_$v |
- |
| DEB | PIGSTY
|
0.2.0 |
18
17
16
15
14
|
postgresql-$v-omnigres |
- |
| Linux / PG | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|
el8.x86_64
|
MISS
|
PIGSTY 20250120
|
PIGSTY 20250120
|
PIGSTY 20250120
|
PIGSTY 20250120
|
el8.aarch64
|
MISS
|
PIGSTY 20250120
|
PIGSTY 20250120
|
PIGSTY 20250120
|
PIGSTY 20250120
|
el9.x86_64
|
MISS
|
PIGSTY 20250507
|
PIGSTY 20250507
|
PIGSTY 20250507
|
PIGSTY 20250507
|
el9.aarch64
|
MISS
|
PIGSTY 20250507
|
PIGSTY 20250507
|
PIGSTY 20250507
|
PIGSTY 20250507
|
el10.x86_64
|
MISS
|
MISS
|
MISS
|
MISS
|
MISS
|
el10.aarch64
|
MISS
|
MISS
|
MISS
|
MISS
|
MISS
|
d12.x86_64
|
MISS
|
PIGSTY 20250120
|
PIGSTY 20250120
|
PIGSTY 20250120
|
PIGSTY 20250120
|
d12.aarch64
|
MISS
|
PIGSTY 20250120
|
PIGSTY 20250120
|
PIGSTY 20250120
|
PIGSTY 20250120
|
d13.x86_64
|
PIGSTY 20251108
|
PIGSTY 20251108
|
PIGSTY 20251108
|
PIGSTY 20251108
|
PIGSTY 20251108
|
d13.aarch64
|
PIGSTY 20251108
|
PIGSTY 20251108
|
PIGSTY 20251108
|
PIGSTY 20251108
|
PIGSTY 20251108
|
u22.x86_64
|
MISS
|
PIGSTY 20250120
|
PIGSTY 20250120
|
PIGSTY 20250120
|
PIGSTY 20250120
|
u22.aarch64
|
MISS
|
PIGSTY 20250120
|
PIGSTY 20250120
|
PIGSTY 20250120
|
PIGSTY 20250120
|
u24.x86_64
|
PIGSTY 20251108
|
PIGSTY 20251108
|
PIGSTY 20251108
|
PIGSTY 20251108
|
PIGSTY 20251108
|
u24.aarch64
|
PIGSTY 20251108
|
PIGSTY 20251108
|
PIGSTY 20251108
|
PIGSTY 20251108
|
PIGSTY 20251108
|
Source
pig build pkg omnigres; # build rpm/debInstall
Make sure PGDG and PIGSTY repo available:
pig repo add pgsql -u # add both repo and update cacheInstall this extension with pig:
pig install omnigres; # install via package name, for the active PG version
pig install omni_containers; # install by extension name, for the current active PG version
pig install omni_containers -v 18; # install for PG 18
pig install omni_containers -v 17; # install for PG 17
pig install omni_containers -v 16; # install for PG 16
pig install omni_containers -v 15; # install for PG 15
pig install omni_containers -v 14; # install for PG 14Create this extension with:
CREATE EXTENSION omni_containers CASCADE; -- requires omni_httpc, omni_webUsage
The omni_containers extension manages Docker container lifecycle from PostgreSQL. Requires Docker Engine API access (defaults to unix:///var/run/docker.sock).
Create and Start a Container
SELECT * FROM omni_containers.docker_container_create(
'busybox',
cmd => 'echo Hello world',
pull => true
);Parameters: image (required), cmd, attach (default db.omni), start (default true), wait (default false), pull (default false), options (jsonb).
Container Logs
SELECT * FROM omni_containers.docker_container_logs('container_id');Supports stdout, stderr, since, until, timestamps, tail parameters.
Execute Command in Container
SELECT * FROM omni_containers.docker_container_exec('container_id', 'ls -la');Stop and Inspect
SELECT * FROM omni_containers.docker_container_stop('container_id');
SELECT info->'State'->'ExitCode' FROM omni_containers.docker_container_inspect('container_id') AS info;List Docker Images
SELECT repo_tags FROM omni_containers.docker_images;Full Workflow Example
WITH container AS (
SELECT * FROM omni_containers.docker_container_create(
'ghcr.io/yrashk/psql',
cmd => $$psql -c 'create table test ();'$$,
wait => true, pull => true) AS id
)
SELECT
omni_containers.docker_container_inspect(id)->'State'->'ExitCode' AS exit_code,
omni_containers.docker_container_logs(id) AS logs
FROM container;Last updated on