Praxion runs a small agent inside your own network. It reads pg_stat_statements from your Postgres replica, anonymizes the queries, and sends metadata only — your table data never leaves. Suggestions arrive ranked by predicted saving × confidence, and nothing reaches your database unless you apply it. Plain-language questions are answered from your own business glossary.
The agent runs on a host you control and opens its connections outwards — nothing ever reaches in. It reads your Postgres replica — never the primary — via pg_stat_statements, anonymizes the queries and sends metadata only. It reaches the control plane over HTTPS/TLS, or over AWS PrivateLink on Enterprise. If the connection drops, the agent keeps running and keeps its readings until it can send them.
ghcr.io/phjcherry/praxion-agent — or drop in the signed native binary for Windows, macOS or Linux. Both take the same four settings: AGENT_ID, LICENSE_KEY, CONTROL_PLANE_URL and PG_REPLICA_DSN. Nothing is installed on anyone's laptop.DROP INDEX foo to your database on its own.Retry-After instead of hammering.The agent reads pg_stat_statements and raises only what it can actually see there: full scans and missing indexes. Each suggestion carries the table it touches, the money it is predicted to be wasting per month, a confidence score, and the DDL to fix it. The list is ordered by saving × confidence — so a 35% guess sorts below a 60% one, where it belongs.
Write the question the way you would ask a colleague. Praxion translates it using your glossary definitions rather than whatever the model assumes, validates the indexes it wants to use against the real schema, and shows you the SQL before anything runs. Each step of the pipeline is reported to the panel as it completes.
public.customers ⋈ public.orders38 mscustomers.statusSUM(orders.total)idx_customers_status verified against the live schemaThe only data that crosses the boundary is anonymized metadata: query fingerprints, their timings, and the catalog snapshot the schema map is drawn from. Never row values, never credentials. The control plane never touches your database, and your database never exposes itself to the control plane. Enterprise connects over AWS PrivateLink; Starter and Growth use HTTPS/TLS to the same API.
Every plan is billed per connected database, per month — no query metering, no seat licensing and no surprise overage invoices. Start on the 15-day trial — 1 database and 75 Text-to-SQL queries — then move to Starter (up to 2 databases at $149 each) or Growth (up to 10 at $169 each). Enterprise is negotiated from ~$99 per database on a minimum commitment.
If it's not here, write to us at support@praxionapp.com — real humans reply, usually within one business day.
pg_stat_statements tells you what ran and how long it took. Praxion reads it from your replica and turns it into a ranked list of suggestions with a predicted saving in dollars, a confidence score and the DDL to copy. The diagnosis is the same signal — what changes is the triage.CONTROL_PLANE_URL. Starter and Growth reach the same API over HTTPS/TLS. Either way, your table data never leaves your network.Field notes on pg_stat_statements, query optimization, and running guardrailed Text-to-SQL on-prem. Written by the engineers who build Praxion.