-
-
Notifications
You must be signed in to change notification settings - Fork 253
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix install command for Postgres 16 on macOS #1300
Fix install command for Postgres 16 on macOS #1300
Conversation
Does this actually fix any incorrect behaviors in a practical use-case, or is this mere adherence to convention? The change in the Postgres build system does not change what dynamic libraries Postgres will load correctly. |
Yep, it does fix an incorrect behaviour (I should've added it to the PR description straight away):
And it work if I install pgrx with this patch:
|
You want Okay, this should have been caught by a test. I believe this should track the latest: pgrx/.github/workflows/tests.yml Lines 259 to 269 in 3d03cd2
|
Oopsie, of course 😄
That one is on Linux. pgrx/.github/workflows/tests.yml Lines 377 to 388 in 3d03cd2
I'm happy to adjust the CI pipeline to use different Postgres versions on macOS. Let me know if you want me to add it. |
Oh, whoops. Silly me. Yes, please do, with a comment about why the particular version. |
Thank you! |
Since Postgres 16, the shared library extension on macOS is `.dylib` instead of `.so`. Ref: postgres/postgres@b55f62a This fixes some problems with `cargo pgrx` commands on macOS.
Welcome to pgrx v0.10.2! In pgrx v0.10.0, as part of a refactoring step in order to make refactoring easier in the future, without things like losing track of random functions, we... omitted a few functions! These depended on the cshim, but were not direct bindings, themselves. Oops. They're back now in `pgrx::pg_sys`. ## `cargo pgrx` works now for Postgres 16 on macOS Installing extensions on macOS for Postgres 16 had problems due to recent changes to Postgres defaults. We have fixed this and expanded our test coverage for macOS to reduce the odds of this happening in the future, thanks to @bayandin in #1300 ## composites compose better There were some problems with composite types and arrays, and specifically arrays of composite types in composite types. These are the sorts of things that cause edge cases in PgHeapTuple. They should now be appropriately supported, however, thanks to @eeeebbbbrrrr in #1303 ## `#[pg_schema]` will enable your bad ideas The following should now work appropriately: ```rust #[pgrx::pg_schema] mod pg_catalog { ``` It does what you think it does. Since this can affect a global namespace in a way that makes it much easier to conflict with other extensions, it is best to avoid this. However, it is the sort of bad idea that extensions which "take over" the Postgres host extensively redefine the host's capabilities, like https://www.zombodb.com/ does, may have to resort to in order to accomplish their goal. Thanks to @eeeebbbbrrrr in #1302 ## Keep the bug reports coming And thank _you_ for reporting your issues!
Since Postgres 16, the shared library extension on macOS is
.dylib
instead of.so
.Ref postgres/postgres@b55f62a