v0.0.9
This is pgx v0.0.9. It is a bugfix and new feature release. Primarily, it brings support for safely creating Postgres Background Workers.
New Features
-
PRs #5 & #26: Background worker support. See pgx-examples/bgworker for an example.
- There's also a new flag named
--bgworker
tocargo pgx new <extname>
to automatically create a template Background Worker extension crate - Thanks @jamessewell!
- There's also a new flag named
-
Issue #23:
#[pg_extern]
functions can now return Rust tuples, which translate into an UDF thatRETURNS TABLE (..., ...)
. -
Issue #28:
#[pg_operator]
macro now exists, which works exactly like#[pg_extern]
, but will auto generate theCREATE OPERATOR
DDL for you. This is useful when defining operators for custom data types. See pgx-examples/operators. -
PR #27:
cargo pgx init
now honors http proxy settings from your environment. Thanks @diegopy! -
PR #30:
cargo pgx start <PGVER>
now specifies the "unix_socket_directories" when starting Postgres, which is simply~/.pgx/
. Thanks @jamessewell!
Other Changes/Fixes
- Properly detoast arrays. This was a regression from v0.0.8
- Add a
FromDatum
implementation forpgx::Numeric
- Add ability to create a
pgx::PgTupleDesc
from a compositepgx::pg_sys::Datum
- Add a
--release
flag tocargo pgx run
for interactively testing a release build of your extension cargo pgx run
spawnspsql
usingexecvp()
, which means it'll properly handle, among other things,^C
- Ensure
SPI_finish()
always gets called, even in the face of errors/panics - Fix
PgTryResult::unwrap_or()/unwrap_or_else()
to call Postgres'FlushErrorState()
- Make GitHubActions build much faster
Sponsor our Work
Please consider sponsoring our work on pgx
(and ZomboDB, by choosing a sponsorship tier. Your sponsorship, at any tier, is greatly appreciated and helps keep pgx
and ZomboDB free and actively developed!
Thanks!
Thanks to all y'all that have been using pgx
, reporting issues, and especially submitting pull requests.