omni_var
Scoped variables
Repository
https://docs.omnigres.org/omni_var/variables/
https://docs.omnigres.org/omni_var/variables/
Source
omnigres-20251108.tar.gz
omnigres-20251108.tar.gz
Overview
| Package | Version | Category | License | Language |
|---|---|---|---|---|
omnigres | 0.3.0 | FEAT | Apache-2.0 | C |
| ID | Extension | Bin | Lib | Load | Create | Trust | Reloc | Schema |
|---|---|---|---|---|---|---|---|---|
| 2940 | omni | No | Yes | Yes | Yes | No | No | omni |
| 2941 | omni_auth | No | No | No | Yes | No | No | omni_auth |
| 2942 | omni_aws | No | No | No | Yes | Yes | No | omni_aws |
| 2943 | omni_cloudevents | No | No | No | Yes | Yes | No | omni_cloudevents |
| 2944 | omni_containers | No | Yes | No | Yes | No | No | omni_containers |
| 2945 | omni_credentials | No | No | No | Yes | No | No | omni_credentials |
| 2948 | omni_email | No | No | No | Yes | No | No | omni_email |
| 2949 | omni_http | No | No | No | Yes | No | No | omni_http |
| 2950 | omni_httpc | No | Yes | No | Yes | No | No | omni_httpc |
| 2951 | omni_httpd | No | Yes | No | Yes | No | No | omni_httpd |
| 2952 | omni_id | No | Yes | No | Yes | No | Yes | - |
| 2953 | omni_json | No | No | No | Yes | Yes | No | omni_json |
| 2954 | omni_kube | No | Yes | No | Yes | No | No | omni_kube |
| 2955 | omni_ledger | No | Yes | No | Yes | No | No | omni_ledger |
| 2956 | omni_manifest | No | No | No | Yes | No | No | omni_manifest |
| 2957 | omni_mimetypes | No | No | No | Yes | No | No | omni_mimetypes |
| 2958 | omni_os | No | Yes | No | Yes | No | No | omni_os |
| 2959 | omni_polyfill | No | Yes | No | Yes | No | No | omni_polyfill |
| 2960 | omni_python | No | Yes | No | Yes | No | No | omni_python |
| 2961 | omni_regex | No | Yes | No | Yes | No | Yes | - |
| 2962 | omni_rest | No | No | No | Yes | No | No | omni_rest |
| 2963 | omni_schema | No | No | No | Yes | No | No | omni_schema |
| 2964 | omni_seq | No | Yes | No | Yes | No | No | omni_seq |
| 2965 | omni_service | No | No | No | Yes | No | No | omni_service |
| 2966 | omni_session | No | No | No | Yes | No | No | omni_session |
| 2968 | omni_sql | No | Yes | No | Yes | No | No | omni_sql |
| 2969 | omni_sqlite | No | Yes | No | Yes | No | No | omni_sqlite |
| 2970 | omni_test | No | No | No | Yes | No | No | omni_test |
| 2971 | omni_txn | No | Yes | No | Yes | No | No | omni_txn |
| 2972 | omni_types | No | Yes | No | Yes | No | No | omni_types |
| 2973 | omni_var | No | Yes | No | Yes | No | No | omni_var |
| 2974 | omni_vfs | No | Yes | No | Yes | No | No | omni_vfs |
| 2975 | omni_vfs_types_v1 | No | No | No | Yes | No | No | omni_vfs_types_v1 |
| 2976 | omni_web | No | Yes | No | Yes | No | No | omni_web |
| 2977 | omni_worker | No | Yes | No | Yes | No | No | omni_worker |
| 2978 | omni_xml | No | Yes | No | Yes | No | No | omni_xml |
| 2979 | omni_yaml | No | Yes | No | Yes | No | No | omni_yaml |
| Related | |
|---|---|
| Depended By | omni_kube omni_rest omni_session |
Version
| Type | Repo | Version | PG Ver | Package | Deps |
|---|---|---|---|---|---|
| EXT | PIGSTY | 0.3.0 | 1817161514 | omnigres | - |
| RPM | PIGSTY | 0.3.0 | 1817161514 | omnigres_$v | - |
| DEB | PIGSTY | 0.3.0 | 1817161514 | postgresql-$v-omnigres | - |
| OS / PG | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|
| el8.x86_64 | PIGSTY MISS | PIGSTY 20250120 | PIGSTY 20250120 | PIGSTY 20250120 | PIGSTY 20250120 |
| el8.aarch64 | PIGSTY MISS | PIGSTY 20250120 | PIGSTY 20250120 | PIGSTY 20250120 | PIGSTY 20250120 |
| el9.x86_64 | PIGSTY MISS | PIGSTY 20250507 | PIGSTY 20250507 | PIGSTY 20250507 | PIGSTY 20250507 |
| el9.aarch64 | PIGSTY MISS | PIGSTY 20250507 | PIGSTY 20250507 | PIGSTY 20250507 | PIGSTY 20250507 |
| el10.x86_64 | PIGSTY MISS | PIGSTY MISS | PIGSTY MISS | PIGSTY MISS | PIGSTY MISS |
| el10.aarch64 | PIGSTY MISS | PIGSTY MISS | PIGSTY MISS | PIGSTY MISS | PIGSTY MISS |
| d12.x86_64 | PIGSTY MISS | PIGSTY 20250120 | PIGSTY 20250120 | PIGSTY 20250120 | PIGSTY 20250120 |
| d12.aarch64 | PIGSTY 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 | PIGSTY MISS | PIGSTY 20250120 | PIGSTY 20250120 | PIGSTY 20250120 | PIGSTY 20250120 |
| u22.aarch64 | PIGSTY 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 |
Build
You can build the RPM / DEB packages for omnigres using pig build:
pig build pkg omnigres # build RPM / DEB packages
Install
You can install omnigres directly. First, make sure the PGDG and PIGSTY repositories are added and enabled:
pig repo add pgsql -u # Add repo and update cache
Install the extension using pig or apt/yum/dnf:
pig install omnigres; # Install for current active PG version
pig ext install -y omnigres -v 18 # PG 18
pig ext install -y omnigres -v 17 # PG 17
pig ext install -y omnigres -v 16 # PG 16
pig ext install -y omnigres -v 15 # PG 15
pig ext install -y omnigres -v 14 # PG 14
dnf install -y omnigres_18 # PG 18
dnf install -y omnigres_17 # PG 17
dnf install -y omnigres_16 # PG 16
dnf install -y omnigres_15 # PG 15
dnf install -y omnigres_14 # PG 14
apt install -y postgresql-18-omnigres # PG 18
apt install -y postgresql-17-omnigres # PG 17
apt install -y postgresql-16-omnigres # PG 16
apt install -y postgresql-15-omnigres # PG 15
apt install -y postgresql-14-omnigres # PG 14
Create Extension:
CREATE EXTENSION omni_var;
Usage
The omni_var extension provides typed variables with transaction, session, and statement scopes.
Set Variables
SELECT omni_var.set('my_var', true); -- transaction scope
SELECT omni_var.set_session('my_var', true); -- session scope
SELECT omni_var.set_statement('my_var', true); -- statement scope
For explicit typing:
SELECT omni_var.set('text_var', 'value'::text);
Get Variables
SELECT omni_var.get('my_var', false); -- transaction scope, default=false
SELECT omni_var.get_session('my_var', false); -- session scope
SELECT omni_var.get_statement('my_var', false); -- statement scope
The default value serves dual purposes: returned when the variable is not found, and its type specifies the expected return type.
Behavior
- If a variable is explicitly set to
null,getreturnsnull(not the default) - Mismatched type specifications raise errors:
ERROR: type mismatch DETAIL: expected integer, got boolean - Transaction-scoped variables are bound by the enclosing transaction lifetime
- Session variables persist throughout the session duration
Feedback
Was this page helpful?
Thanks for the feedback! Please let us know how we can improve.
Sorry to hear that. Please let us know how we can improve.