Tested platforms¶
Every release runs the complete test suite — regression, isolation and TAP — on all of the following before it ships.
PostgreSQL versions¶
| Version | Status |
|---|---|
| 18 | Supported, and the primary target |
| 17 | Tested every release |
| 16 | Tested every release |
| 15 and earlier | Not supported |
The extension is built from a single set of sources with no version-specific code down to PostgreSQL 16.
Operating systems¶
Tested against PostgreSQL 18 on:
| Distribution | Compiler |
|---|---|
| Rocky Linux 8 | gcc 8 |
| Rocky Linux 9 | gcc 11 |
| Debian 12 | gcc 12 |
| Ubuntu 22.04 LTS | gcc 11 |
| Ubuntu 24.04 LTS | gcc 13 |
| Ubuntu 26.04 LTS | gcc 15 |
| Fedora 44 | gcc 15 |
PostgreSQL 16, 17 and 18 are each tested on both Ubuntu 24.04 and 26.04.
The spread of compilers is deliberate. The build treats new warnings as failures, and no single platform surfaces the whole set — Rocky 8's gcc 8 and Fedora's gcc 15 disagree about plenty.
Ubuntu 20.04¶
Not supported. The PostgreSQL project has removed Ubuntu 20.04 from its APT repository entirely, so there are no PostgreSQL 18 packages for it at all. The oldest Ubuntu the PGDG repository still carries is 22.04.
Running it on 20.04 would mean building PostgreSQL itself from source, which is outside what this extension can support.
Architectures¶
Tested on x86-64. The extension contains nothing architecture-specific, but ARM builds are not currently part of the test matrix.
What "tested" means here¶
Each platform runs the full suite on every release:
- Regression tests covering enforcement, retention, the purge routine, transparency to ordinary PostgreSQL, and an adversarial matrix that attempts every forbidden operation as the table owner, as an unprivileged role, and as a superuser.
- Isolation tests for concurrent behaviour, in particular that two transactions racing to make the first insert into an
insertoncetable produce exactly one winner. - TAP tests for dump and restore, physical and logical replication, behaviour when the library is not loaded, and the completeness of violation records.