Connect once, ask in English, get rows and the query that produced them. Follow-ups keep the context, so "and only the ones from last quarter" works.
On first connection SQLore introspects the Postgres catalog directly rather than relying on a generic description of your database. It reads across every schema on the search path, not just `public`, which is the detail that decides whether a question about a table in `analytics` or `billing` can be answered at all.
The first question is rarely the real one. You ask for signups by month, see the shape, and then want it split by plan, excluding internal accounts, for the last two quarters only. Each of those is a follow-up rather than a new query written from scratch — the conversation keeps the tables, the joins and the filters it has already established, so you refine an answer instead of re-specifying it.
Generated SQL is parsed to an AST and validated down to a single read-only SELECT before execution, then run on a read-only connection with a statement timeout. On top of that, pointing SQLore at a Postgres role with only `SELECT` granted — or at a read replica — means the guarantee is enforced by your database as well as by the application. Two independent mechanisms, because one of them is ours and you have no reason to take our word for it.
Migrations happen, and a cached schema that has gone stale is how an assistant starts referencing a column that was dropped last week. Refreshing a connection re-reads the catalog and rebuilds the index. Nothing is ever written back to your database in the process — the introspection is entirely reads against the catalog.
Host, port, database, and a role with SELECT. Credentials are stored on your machine and are never transmitted anywhere.
It introspects the schemas on your search path once and caches the result locally.
Plain English. You get the answer as rows, plus the SQL, the row count and the execution time.
The conversation holds context, so each follow-up narrows the previous answer rather than starting over.
More answers on the main FAQ, or ask us directly.
PostgreSQL, in depth
MySQL
The interface
Every page in this section covers a different question about the same product. See all solutions.
Start free, upgrade when you are asking enough questions for it to matter.