omni_seq
Distributed integer sequences
omnigres : Distributed integer sequences
Overview
| ID | Extension | Package | Version | Category | License | Language |
|---|---|---|---|---|---|---|
| 2964 | omni_seq | omnigres | 0.1.1 |
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.1.1 |
18 17 16 15 14 | omnigres |
- |
| RPM | PIGSTY | 20251108 |
18 17 16 15 14 | omnigres_$v |
- |
| DEB | PIGSTY | 20251108 |
18 17 16 15 14 | postgresql-$v-omnigres |
- |
| Linux / PG | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|
| el8.x86_64 | PIGSTY 20251108 | PIGSTY 20250120 | PIGSTY 20250120 | PIGSTY 20250120 | PIGSTY 20250120 |
| el8.aarch64 | PIGSTY 20251108 | PIGSTY 20250120 | PIGSTY 20250120 | PIGSTY 20250120 | PIGSTY 20250120 |
| el9.x86_64 | PIGSTY 20251108 | PIGSTY 20250507 | PIGSTY 20250507 | PIGSTY 20250507 | PIGSTY 20250507 |
| el9.aarch64 | PIGSTY 20251108 | PIGSTY 20250507 | PIGSTY 20250507 | PIGSTY 20250507 | PIGSTY 20250507 |
| el10.x86_64 | PIGSTY 20251108 | PIGSTY 20251108 | PIGSTY 20251108 | PIGSTY 20251108 | PIGSTY 20251108 |
| el10.aarch64 | PIGSTY 20251108 | PIGSTY 20251108 | PIGSTY 20251108 | PIGSTY 20251108 | PIGSTY 20251108 |
| d12.x86_64 | PIGSTY 20251108 | PIGSTY 20250120 | PIGSTY 20250120 | PIGSTY 20250120 | PIGSTY 20250120 |
| d12.aarch64 | PIGSTY 20251108 | 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 | PIGSTY 20251108 | PIGSTY 20250120 | PIGSTY 20250120 | PIGSTY 20250120 | PIGSTY 20250120 |
| u22.aarch64 | PIGSTY 20251108 | 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 |
| u26.x86_64 | PIGSTY 20251108 | PIGSTY 20251108 | PIGSTY 20251108 | PIGSTY 20251108 | PIGSTY 20251108 |
| u26.aarch64 | PIGSTY 20251108 | PIGSTY 20251108 | PIGSTY 20251108 | PIGSTY 20251108 | PIGSTY 20251108 |
Source
docs.omnigres.org/omni_seq/id/
omnigres-20251108.tar.gz
Install
Make sure PGDG and PIGSTY repo available:
Install this extension with pig:
Create this extension with:
Usage
The omni_seq extension provides distributed (prefixed) identifier types to work around PostgreSQL’s limitation where sequence data is not replicated in logical replication.
Types
Types follow the pattern omni_seq.id_<PREFIX_TYPE>_<ID_TYPE>. Supported base types: int16, int32, int64. When prefix and identifier types match, the shorthand omni_seq.id_int64 is available.
Create a Table with Distributed IDs
IDs display as PREFIX:IDENTIFIER (e.g., 7222168279780171472:1).
Functions
omni_seq.id_int64_nextval(node_id, sequence_name)– Generates the next distributed IDomni_seq.system_identifier()– Returns the unique 64-bit system identifier from pg_controlomni_seq.id_int64_int32_make(prefix, identifier)– Constructs a distributed ID from components (useful during migrations)