Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Welcome to pgrx v0.15.0. This begins a new series for pgrx that includes support for Postgres 18. As of this release, that means Postgres 18beta1.
This release does contain a few breaking API changes but they're largely mechanical. Don't worry, the compiler will let you know!
As always, please install our CI tool with
cargo install cargo-pgrx --version 0.15.0 --locked
and then runcargo pgrx upgrade
in all of your extension crates.If you want to start working with Postgres 18beta1, you'll also need to re-init your pgrx environment with
cargo pgrx init
. That will automatically detect all the latest Postgres versions, including 18beta1.At the top here, I'd like to thank @silver-ymz for the 18beta1 support. It was a pleasant surprise to see that work come from the community -- it's no easy task to add a new Postgres version to pgrx!
That said, as Postgres 18 is currently beta, you should consider pgrx' support for it as beta too. Please report any problems with 18beta1 (or discrepancies with other versions) as GitHub issues.
Also, this release requires rust v1.88.0 or greater.
if-let
chains are now a thing and we're not afraid to use them.What's Changed
Postgres 18beta1 Support
#define
by @eeeebbbbrrrr in pg18 support: add header and implement#define
#2094More Headers
catalog/heap.h
binding by @ccleve in Added "catalog/heap.h" binding #2072utils/pg_status.h
by @eeeebbbbrrrr in include utils/pg_status.h #2091cargo-pgrx
improvementsLLVM_*
variables to--runas
command by @theory in PassLLVM_*
variables to--runas
command #2083does_db_exist()
: fixpsql
argument order by @eeeebbbbrrrr indoes_db_exist()
: fixpsql
argument order #2093cargo pgrx regress
output is no longer fully buffered by @eeeebbbbrrrr incargo pgrx regress
output is no longer fully buffered #2095pgrx_embed
name from lib name by @YohDeadfall in Detect pgrx_embed name from lib name #2035cargo-pgrx
: use system certificate store for HTTPS validation by @charmitro in cargo-pgrx: use system certificate store for HTTPS validation #2074Breaking Changes
New Stuff
pg_binary_protocol
attribute to derive send and receive functions forPostgresType
by @LucaCappelletti94 in Addedpg_binary_protocol
attribute to derive send and receive functions forPostgresType
#2068General Code Cleanup
cargo clippy --fix
by @eeeebbbbrrrr incargo clippy --fix
#2092if-let
to unpack Options by @stuhood in Use if-let to unpack Options #2089rust_byte_slice_to_bytea()
docs by @burmecia in docs: fix typo inrust_byte_slice_to_bytea()
docs #2071#[doc(hidden)]
by @LucaCappelletti94 in Added a missing#[doc(hidden)]
#2079Administrative
New Contributors
Much thanks to our new contributors! Your work is sincerely appreciated!
Full Changelog: v0.14.3...v0.15.0