Skip to content

Changes needed for PG 19 - #548

Open
jcflack wants to merge 7 commits into
REL1_6_STABLEfrom
trackpg/REL1_6_STABLE/pg19
Open

Changes needed for PG 19#548
jcflack wants to merge 7 commits into
REL1_6_STABLEfrom
trackpg/REL1_6_STABLE/pg19

Conversation

@jcflack

@jcflack jcflack commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

PostgreSQL 19 support involves the following source changes:

  • AssertVariableIsOfType... macros are now StaticAssertVariableIsOfType...
  • log_min_messages is now an array of settings indexed by backend type, not a single setting
  • DomainHasConstraints parameter count has changed
  • bits8, bits16, bits32 typedefs are gone, to be replaced by their uint8, ... equivalents
  • Signal handlers should use the SIGNAL_ARGS macro to be insulated from changes to the passed arguments

Also, new compiler warnings have been enabled that flag niladic functions declared in old () style rather than (void). Affected declarations have been updated.

Recent PostgreSQL versions give a deprecation warning for md5 as a connection auth method, so the default in the Node.java test harness has been updated to scram-sha-256, with the CI scripting now responsible for overriding that default back to md5 when testing on PG releases older than 10.

In postgres/postgres@137d05d, the AssertVariableIsOfType and
AssertVariableIsOfTypeMacro macros were renamed with the Static
prefix, to clarify that they are not run-time assertions.
Since postgres/postgres@38e0190, log_min_messages is no longer a scalar,
but an array indexed by the type of the backend.
Warnings for -Wstrict-prototypes and -Wold-style-definition have been
made the default upstream in postgres/postgres@29bf4ee. May as well
modernize those places in PL/Java's code that incur those warnings.
Since postgres/postgres@487cf2c, it can return information about whether
the domain constraints involve volatile expressions. Passing NULL gets
the former behavior.
In postgres/postgres@bab2f27, the bits8, bits16, and bits32 typedefs
have been removed, in favor of the corresponding uint8/16/32 standard
types, which are what the typedefs have always resolved to in all PG
versions PL/Java 1.6 (and even 1.5!) would care about.
The number of parameters to a signal handler changed
in postgres/postgres@3e2a149.
The default value is now scram-sha-256 to avoid warnings in newer
PG releases. That won't work for regression testing on versions older
than PG 10; factor out and expose a getPgConfigProperty method so
a script can query pg_config --version before running initdb, and
determine if a different --auth-host option needs to be passed to init.
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.

1 participant