Query PostgreSQL in plain English
Connect your database, type the question, get the answer. ByeSQL generates the SQL from your real schema, runs it read-only, and gives you a table, a chart or a dashboard panel. Nothing is installed inside PostgreSQL.
Nothing gets installed in your database
Most ways of putting AI in front of PostgreSQL ask you to deploy something inside it. ByeSQL does not.
- Needs superuser access to install
- Often unavailable on managed PostgreSQL, where the extension allowlist is fixed
- Has to be upgraded with your database
- Sends prompts out from inside the database process
- Leaves objects behind when you remove it
- Connects as an ordinary database user
- Works the same on RDS, Aurora, Cloud SQL, Azure, Supabase and Neon
- Nothing to upgrade on your side
- Generation happens outside your database; only a validated SELECT reaches it
- Revoke the user and no trace remains
It works from your real schema
The most common failure of a general-purpose model writing SQL is inventing a table or a column. ByeSQL sends your actual schema as context with every prompt, so there is nothing to guess.
Tables and views
Both are introspected, so a question can be answered from a view you already built for reporting.
Columns and types
Names and data types, so dates are filtered as dates and numbers are aggregated as numbers.
Keys and relationships
Primary keys, foreign keys and unique indexes, so a generated join follows the relationships that actually exist between your tables.
Your schema is cached when you connect. If you migrate, hit Refresh on the connection to re-introspect it.
The connection we recommend
Never point a tool at PostgreSQL with your application user or a superuser. Create a dedicated read-only role instead.
-- A role that can only read, scoped to one schema
CREATE ROLE byesql_readonly LOGIN PASSWORD 'a-strong-password';
GRANT CONNECT ON DATABASE your_database TO byesql_readonly;
GRANT USAGE ON SCHEMA public TO byesql_readonly;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO byesql_readonly;
-- Include tables created later
ALTER DEFAULT PRIVILEGES IN SCHEMA public
GRANT SELECT ON TABLES TO byesql_readonly;With this role, SAFE mode and PostgreSQL's own permissions both have to fail before anything could be written, and SAFE mode never sends a write in the first place.
Running MySQL too?
Connect both and switch between them in the same workspace. Staging, production and analytics can all live side by side.
PostgreSQL questions
Do I need to install a PostgreSQL extension?
No. ByeSQL connects over a normal PostgreSQL connection, the same way any client would. Nothing is installed inside your database, no extension is compiled, and nothing needs a superuser to deploy. If you ever stop using ByeSQL, you revoke the user and there is nothing left behind.
Which PostgreSQL versions are supported?
ByeSQL connects over standard JDBC, so any PostgreSQL version still in support works, along with managed PostgreSQL such as Amazon RDS and Aurora, Google Cloud SQL, Azure Database for PostgreSQL, Supabase and Neon.
Does it understand my schemas, not just the public one?
ByeSQL introspects whatever the database user you configure can see, across the schemas that user has access to. Scoping the user is how you control what is visible: grant it usage on the schemas you want queried and nothing else.
Can it write to my PostgreSQL database?
No. SAFE mode only allows a statement through if it begins with SELECT or WITH, and rejects it if any write keyword appears anywhere in it. That check runs before the SQL is sent to PostgreSQL. Combined with a read-only user, you have both an application-level and a database-level guarantee.
Will a generated query lock or overload my database?
Every query is rewritten to carry a LIMIT before it runs, 200 rows by default and 5,000 at most, and execution is cut off after 20 seconds. ByeSQL only ever issues single SELECT statements, so it takes no locks that a normal read would not.
Ask your PostgreSQL database a question
Free plan, no credit card. Read-only by default, so production is a safe place to start.