Merged
Conversation
11ba2ac to
bb91aa2
Compare
Due to the refacotring of the streamer interface we needed to update the Makefile.
Since the streaming interface was heavily refactored in PostgreSQL 18 we will add those changes in a separate, later commit.
7afade5 to
47e548d
Compare
Since the streamer interface was heavily refactored in PostgreSQL 18 we could not just re-use our patch for the PostgreSQL 17 tools. The new interface seems much nicer than the old one though.
Fixes necessary to make sure it builds: - Make sure to only include shmem.h in backend code - Add new SMGR hooks - Change base64 calls to support new function signature
These constants should also be marked with static since they are local to their respective files.
The return typ of pg_buffercache_evict() changed in PostgreSQL 18 so we need to write code which gives the same output in both 17 and 18.
e895da9 to
ed70d10
Compare
On top of improving the quality of the test it also makes it possible to have the same output for both PostgreSQL 17 and 18.
To make it easier to add support for setting io_mode we first refactor the test runner scripts.
bb242d8 to
b46bd43
Compare
We don't have a proper AIO callback implementation, which results in AIO reads skipping the pg_tde decryption code. Simply disable it until we implement proper support.
The AIO patches changed to code so the AIO codepaths are used in most cases even when synchronous IO is used, so we need to add some basic TDE support to the AIO codepaths even for when async IO is disabled. This implements it as a quick and dirty fix which only works with our patched upstream code and uses a global variable in the backend which makes it only work when io_method = sync.
Including making sure the code formatting works for both PostgreSQL 17 and 18 files. For now skip moving from to 18 for the sanitizer tests.
Due to a typo we actually never uplaoded any artifacts on test failure when running PSP tests with pg_tde enabled.
dutow
approved these changes
Oct 14, 2025
| # https://wiki.postgresql.org/wiki/Running_pgindent_on_non-core_code_or_development_code | ||
| update-typedefs: | ||
| wget -q -O - "https://buildfarm.postgresql.org/cgi-bin/typedefs.pl?branch=REL_17_STABLE" | cat - typedefs.list | sort | uniq > typedefs-full.list | ||
| (wget -q -O - "https://buildfarm.postgresql.org/cgi-bin/typedefs.pl?branch=REL_17_STABLE"; wget -q -O - "https://buildfarm.postgresql.org/cgi-bin/typedefs.pl?branch=REL_18_STABLE") | cat - typedefs.list | sort -u > typedefs-full.list |
Collaborator
There was a problem hiding this comment.
this seems to work for now, but it can't cause problems when we format earlier version source code with latest pgindent + typedefs?
Collaborator
Author
There was a problem hiding this comment.
Yeah, this was a pretty ugly fix to get it working.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This adds support for PostgreSQL 18 to
pg_tde. This required quite extensive changes topg_basebackupdue to it being heavily refactored. Additionally we had to do an ugly fix due to the AIO changes which are relevant in withio_method = sync. This code only works with sync IO.