Native PG Wire Protocol
Experimental lab POCDraft RFC v1.2Extended Query planned
AXIS can speak the PostgreSQL wire protocol directly, letting unmodified PostgreSQL clients (psql, drivers, pgAdmin) connect to AXIS instead of the database. This is a lab POC — experimental, disabled by default, and not the production integration path.
Status summary
| Area | Status | Evidence |
|---|---|---|
| Wire listener | Experimental | AXIS_PGWIRE_ENABLED=false by default; listener on :6544 in lab mode (AXIS_PGWIRE_LAB_MODE=true) |
Simple Query (Q) intercept & enforce | Experimental | Text query parsed/classified/policy-evaluated before forwarding; ALLOW forward, BLOCK/REQUIRE_APPROVAL rejected client-side |
Extended Query (P/B/E) | Planned | EQ0–EQ5 stages; required before OLTP pilot |
CancelRequest (F) | Implemented (lab) | RFC-032; client cancel propagates to the backend; unknown cancel keys rejected |
| Regression suite | 65/65 passed | Lab harness |
| Chaos suite | 14/14 passed | Backend down, wrong target, slow backend, cancel, reconnect |
Draft RFC v1.2 (2026-05-21)
The integration design is specified as a draft RFC: a wire-level listener in front of the database, Simple Query enforced end-to-end, Extended Query parameterized flow planned with bind-value classification, and COPY handling fail-closed. The RFC is a design contract for lab development, not a production feature.
Simple Query flow
Simple Query is enforced end-to-end in the lab; Extended Query and COPY remain planned/fail-closed.
Per-message handling in the lab
| Message | Behavior |
|---|---|
Q (Simple Query) | Parse → classify → policy; ALLOW forwards, others rejected with error responses |
P/B/E (Extended Query) | Not implemented; client fails closed (error response) rather than bypassing |
F (CancelRequest) | Implemented per RFC-032; propagates cancel; unknown keys rejected |
COPY (H/D/c) | Fail-closed in the POC; copy is not silently allowed |
| SSLRequest / GSSENCRequest | Handled per protocol (POC may skip encryption with documented lab caveat) |
Limits and warnings
- POC is lab-only (
AXIS_PGWIRE_LAB_MODE=true) and disabled by default; do not use it for production traffic. - Extended Query is the required gate for real OLTP clients (parameterized statements); until EQ ships, drivers using prepared statements fail closed.
- Approval-driven writes are not interactive on the wire path: REQUIRE_APPROVAL is rejected to the client (no human-in-the-loop UI on the wire).
- Chaos tests cover backend-down, wrong-target, slow backend, cancel and reconnect scenarios (14/14 in the lab).
- The RFC is a draft: treat all wire behavior as subject to change until an RFC becomes stable.
Do not point production clients at the lab wire listener. It is an experiment for RFC validation, not an OLTP path.
Related: ORM & Extended Query · Architecture · Changelog