Skip to content

feat: BackgroundWorker::connect_worker_to_spi_by_oid#2116

Merged
eeeebbbbrrrr merged 1 commit into
pgcentralfoundation:developfrom
if0ne:worker-connect-by-oid
Aug 1, 2025
Merged

feat: BackgroundWorker::connect_worker_to_spi_by_oid#2116
eeeebbbbrrrr merged 1 commit into
pgcentralfoundation:developfrom
if0ne:worker-connect-by-oid

Conversation

@if0ne

@if0ne if0ne commented Jul 29, 2025

Copy link
Copy Markdown
Contributor

A common case is passing the database Oid through the BackgroundWorker arguments for connection. Although the signature of the BackgroundWorkerInitializeConnectionByOid function is not complicated, I would like to have a safe wrapper for this function.

Signed-off-by: if0ne <pavel.agafonov.al@gmail.com>
@eeeebbbbrrrr eeeebbbbrrrr merged commit 129f09f into pgcentralfoundation:develop Aug 1, 2025
10 of 16 checks passed
eeeebbbbrrrr added a commit that referenced this pull request Aug 1, 2025
Welcome to pgrx v0.16.0.

This release contains support for Postgres 18beta2 and has some breaking
changes in that support for pgrx' "hooks" implementation, which has been
deprecated for over a year, has finally been removed.

Additionally, due to unsoundness issues, direct support for using
`heapless` in shared memory has been removed. Users can still do this
themselves, which requires them to assert they're taking responsibility
of possible unsoundness issues.

As always, first install the latest `cargo-pgrx` with:

```shell
$ cargo install cargo-pgrx --version 0.16.0 --locked
```

Then you're free to run `cargo pgrx upgrade` in the root of all your
extension crates.

To pickup pg18beta2 support you'll also want to run `cargo pgrx init` so
that it can be downloaded and compiled.

# What's Changed

## Breaking Changes

* delete `pgrx::hooks` by @usamoi in
#2120
* improve shmem api by @usamoi in
#2107


## New Features

* update to Postgres v18beta2 by @usamoi in
#2111
* feat: `BackgroundWorker::connect_worker_to_spi_by_oid` by @if0ne in
#2116
* teach `#[pg_cast]` to support 3-argument CAST functions by
@eeeebbbbrrrr in #2119
* teach `#[pg_extern]` about a SUPPORT function by @eeeebbbbrrrr in
#2121

## Bug Fixes

* fix name_data_to_str by @usamoi in
#2108
* add pg_guard_ffi_boundary to direct_pg_extern_function_call_as_datum
by @usamoi in #2118

## `cargo-pgrx` Improvements

* add `--valgrind` to more cargo-pgrx subcommands by @usamoi in
#2109
* `cargo pgrx regress --resetdb` will run `setup.sql` by @ccleve in
#2113


## Code Cleanup

* filter out unrecognized attributes in PostgresGucEnum by @usamoi in
#2102
* Elide needless lifetime by @nyurik in
#2097

## Package/Build System Cleanup

* chore: include pgrx-version-updater into workspace by @nyurik in
#2101
* chore: consolidate package settings in workspace by @nyurik in
#2100
* chore: prepare for 2024 edition by @nyurik in
#2103

# Thanks!  

Thanks to all contributors -- y'alls work helps keep pgrx moving
forward.

**Full Changelog**:
v0.15.0...v0.16.0
daamien pushed a commit to daamien/pgrx that referenced this pull request Dec 15, 2025
…dation#2116)

A common case is passing the database Oid through the BackgroundWorker
arguments for connection. Although the signature of the
BackgroundWorkerInitializeConnectionByOid function is not complicated, I
would like to have a safe wrapper for this function.

Signed-off-by: if0ne <pavel.agafonov.al@gmail.com>
daamien pushed a commit to daamien/pgrx that referenced this pull request Dec 15, 2025
Welcome to pgrx v0.16.0.

This release contains support for Postgres 18beta2 and has some breaking
changes in that support for pgrx' "hooks" implementation, which has been
deprecated for over a year, has finally been removed.

Additionally, due to unsoundness issues, direct support for using
`heapless` in shared memory has been removed. Users can still do this
themselves, which requires them to assert they're taking responsibility
of possible unsoundness issues.

As always, first install the latest `cargo-pgrx` with:

```shell
$ cargo install cargo-pgrx --version 0.16.0 --locked
```

Then you're free to run `cargo pgrx upgrade` in the root of all your
extension crates.

To pickup pg18beta2 support you'll also want to run `cargo pgrx init` so
that it can be downloaded and compiled.

# What's Changed

## Breaking Changes

* delete `pgrx::hooks` by @usamoi in
pgcentralfoundation#2120
* improve shmem api by @usamoi in
pgcentralfoundation#2107


## New Features

* update to Postgres v18beta2 by @usamoi in
pgcentralfoundation#2111
* feat: `BackgroundWorker::connect_worker_to_spi_by_oid` by @if0ne in
pgcentralfoundation#2116
* teach `#[pg_cast]` to support 3-argument CAST functions by
@eeeebbbbrrrr in pgcentralfoundation#2119
* teach `#[pg_extern]` about a SUPPORT function by @eeeebbbbrrrr in
pgcentralfoundation#2121

## Bug Fixes

* fix name_data_to_str by @usamoi in
pgcentralfoundation#2108
* add pg_guard_ffi_boundary to direct_pg_extern_function_call_as_datum
by @usamoi in pgcentralfoundation#2118

## `cargo-pgrx` Improvements

* add `--valgrind` to more cargo-pgrx subcommands by @usamoi in
pgcentralfoundation#2109
* `cargo pgrx regress --resetdb` will run `setup.sql` by @ccleve in
pgcentralfoundation#2113


## Code Cleanup

* filter out unrecognized attributes in PostgresGucEnum by @usamoi in
pgcentralfoundation#2102
* Elide needless lifetime by @nyurik in
pgcentralfoundation#2097

## Package/Build System Cleanup

* chore: include pgrx-version-updater into workspace by @nyurik in
pgcentralfoundation#2101
* chore: consolidate package settings in workspace by @nyurik in
pgcentralfoundation#2100
* chore: prepare for 2024 edition by @nyurik in
pgcentralfoundation#2103

# Thanks!  

Thanks to all contributors -- y'alls work helps keep pgrx moving
forward.

**Full Changelog**:
pgcentralfoundation/pgrx@v0.15.0...v0.16.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants