- Category
- Developer Tools
- Rank
- No. 3700Tools index
- Type
- TOOL
- Use case
- Coding
- Interfaces
- API · Client SDK · Host Plugin
- GitHub
- 3 stars
- Date
About
Pgxio is a SQL-first REST and WebSocket backend built as a Rust Nginx module that calls explicitly published PostgreSQL functions through nonblocking libpq. It authenticates requests with JWTs and pushes authorized invalidation signals over WebSockets. The README describes it as an experimental source preview, tested on Linux ARM64 only.
At a glance
Pgxio turns PostgreSQL functions you explicitly list into a REST and WebSocket API, running as a Rust module inside Nginx. Requests are authenticated with JWTs, and WebSocket clients receive signals telling them when to refetch data. It is an experimental source preview, so treat it as something to evaluate, not to deploy.
Good fit
Backend developers who already keep their logic in SQL functions and want a thin HTTP layer in front of PostgreSQL, for example as an alternative to PostgREST. Routes are an explicit allowlist, so unlisted functions cannot be called, and responses are released only after a successful COMMIT.
Consider something else when
You need a production-ready backend, release binaries, or client SDKs installed from npm or PyPI; the TypeScript and Python/Django clients exist only as source in the repository. Also skip it if you want durable change-data capture, event replay or a message queue, because its WebSocket signals are ephemeral.
Start here
With Docker Compose and Python 3 installed, clone the repository and run bin/pgxio init, bin/pgxio up and bin/pgxio check. Then call the example list_tasks endpoint on localhost port 8080 using a token from bin/pgxio token alice. A JSON reply means the stack works; next, adapt the example SQL and the routes in pgxio.conf.
Cost and requirements
The source is BSD 3-Clause licensed. Running it locally needs Docker with Compose and Python 3. The Docker image builds Nginx and the module together, and the README warns against loading the module into an arbitrary distribution Nginx binary. Development tokens are for local use only; real deployments configure JWT or JWKS and TLS termination.
Limits to know
Validation so far covers Linux ARM64 on Debian and Ubuntu; FreeBSD and amd64 remain incomplete. Your SQL must enforce field types, required fields and permissions, since JSON Schema checking is optional and off by default. The authors say soak testing, fuzzing and an independent security review are still needed, and their speed comparison with PostgREST comes from historical local benchmarks, not this preview.
Still unclear
- Does it work with managed Supabase? The authors say compatibility has not been established.
- What minimum RAM and production capacity does a deployment need? The README says neither has been established.
- Will a stable release with binaries and published SDK packages follow the preview?
Sources checked 2026-11-09. Source-based assessment.
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.