Skip to content

Containerised tests for PG 12-19 and expanded documentation#10

Open
postgresql007 wants to merge 2 commits into
masterfrom
permissions_extended
Open

Containerised tests for PG 12-19 and expanded documentation#10
postgresql007 wants to merge 2 commits into
masterfrom
permissions_extended

Conversation

@postgresql007

Copy link
Copy Markdown
Contributor

Summary

This branch adds a container-based regression harness covering PostgreSQL 12
through 19, extends CI to PostgreSQL 19, and substantially expands the
documentation.

Testing

  • test/Dockerfile is parameterised by a PG_MAJOR build argument and
    installs that major version from the PostgreSQL APT repository, including the
    -pgdg-snapshot repository so not-yet-released versions (currently 19) can be
    tested.
  • test/run-tests.sh builds one image per version and runs make installcheck
    inside it (via pg_virtualenv, against a throwaway cluster), then prints a
    pass/fail summary. With no arguments it covers 12–19; specific versions can be
    passed as arguments.
  • test/README.md documents how to use the harness.

CI

  • PostgreSQL 19 added to the .github/workflows/regression.yml matrix
    (the existing pgdg helper already pulls the snapshot repository).

Documentation

  • Every *_permissions view is now documented with a worked example and real
    output, including the column-vs-table and PUBLIC-default subtleties.
  • A new walkthrough shows how to compare desired and actual state with
    permission_diffs() and how to fix divergences through the updatable views.
  • A new Compliance section relates the extension to common regulatory
    frameworks (SOX, PCI DSS, GDPR, HIPAA, ISO 27001/27002, SOC 2, DORA).

The single version-agnostic expected/sample.out continues to match on all
versions. Locally verified against PostgreSQL 16 and 19; the remaining versions
are covered by the harness and CI.

- test/: a Dockerfile parameterised by PG_MAJOR plus run-tests.sh and
  run-installcheck.sh to build and run "make installcheck" against every
  supported major version in throwaway containers.  Not-yet-released
  versions (currently 19) are pulled from the pgdg-snapshot repository.
- CI: add PostgreSQL 19 to the regression matrix.
- README: document all of the *_permissions views with worked examples,
  add a desired-vs-actual walkthrough built around permission_diffs() and
  the updatable views, and add a Compliance section relating the extension
  to common regulatory frameworks.
@postgresql007 postgresql007 requested a review from kovmir June 24, 2026 16:47
@postgresql007

Copy link
Copy Markdown
Contributor Author

Ran the new container harness locally (test/run-tests.sh) across the full range. All supported major versions build the extension and pass make installcheck against the version-agnostic expected/sample.out:

Version Result
12 PASS
13 PASS
14 PASS
15 PASS
16 PASS
17 PASS
18 PASS
19 PASS (from the pgdg-snapshot repository)

passed: 12 13 14 15 16 17 18 19 / failed: none.

@postgresql007

Copy link
Copy Markdown
Contributor Author

Added a CHANGELOG entry for version 1.4 (not yet released) in 8a4425d: the pg\_% literal-underscore bugfix plus the new test harness, PostgreSQL 19 in CI, and the expanded documentation/compliance section.

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