Built-in functions
This page documents many of the high level functions, targeted functionality is covered on dedicated sub-sections.
Functions available
Functions available to PL/Rust are defined under
the trusted-pgrx directory in lib.rs. User functions in plrust will not compile if they use
the unsafe keyword.
There are a handful of functions in trusted-pgrx that are
declared unsafe; plrust functions cannot use them because they would need an unsafe {} block.
Datum functions
PL/Rust function support for various Datums are documented by
pgrx on docs.rs,
the source is on GitHub for those interested.
There are Datums defined in pgrx that are not included in PL/Rust
because they have not been imported by plrust.
AnyNumeric:
A plain PostgreSQL NUMERIC with default precision and scale values. This is a sufficient type to represent any Rust primitive value from i128::MIN to u128::MAX and anything in between.
FromDatum and IntoDatum: Provide conversions between pg_sys::Datum and Rust types.
Json
and
JsonB
match the types in PostgreSQL of the same name.
Date:
A plain PostgreSQL DATE type without a time component.
Time / TimeWithTimeZone / Timestamp / TimestampWithTimeZone
Range Support In progress