omni_types
Advanced types
Repository
https://docs.omnigres.org/omni_types/function_signature_types/
https://docs.omnigres.org/omni_types/function_signature_types/
Source
omnigres-20251108.tar.gz
omnigres-20251108.tar.gz
Overview
| Package | Version | Category | License | Language |
|---|---|---|---|---|
omnigres | 0.3.6 | 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_auth omni_httpc omni_httpd omni_schema |
Version
| Type | Repo | Version | PG Ver | Package | Deps |
|---|---|---|---|---|---|
| EXT | PIGSTY | 0.3.6 | 1817161514 | omnigres | - |
| RPM | PIGSTY | 0.3.6 | 1817161514 | omnigres_$v | - |
| DEB | PIGSTY | 0.3.6 | 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_types;
Usage
The omni_types extension provides advanced type utilities, including function signature types that capture complete function signatures and allow direct invocation.
Define a Function Signature Type
Explicit definition:
SELECT omni_types.function_signature_type('sig', 'text', 'int');
-- Creates type 'sig' for functions accepting text and returning int
From existing function:
SELECT omni_types.function_signature_type_of('sig', 'length(text)');
Cast Functions to the Type
SELECT 'length'::sig;
For non-failing validation:
SELECT sig_conforming_function('length'); -- returns NULL if no match
Invoke Typed Functions
SELECT call_sig('length', 'hello'); -- returns 5
The call_<TYPE> function is auto-generated for each signature type and executes the referenced function with the provided arguments.
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.