SQLore
FeaturesPricingDownloadAboutContact
Start freeStart for free
SQLore
HomeFeaturesSolutionsPricingDownloadCompareFAQAboutBlogContact

SQLore © 2026

TermsPrivacyRefunds
Download for macOSDownload for WindowsSign in
  1. Home
  2. Solutions
  3. PostgreSQL
PostgreSQL

Chat With Your PostgreSQL Database

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.

Download SQLoreSee all features

How do you chat with a PostgreSQL database?

You chat with a PostgreSQL database by connecting a tool that reads the schema and translates your questions into SQL. SQLore connects read-only to Postgres, introspects pg_catalog for tables, columns, keys and statistics, then answers questions in plain English by generating and running a validated SELECT — locally, with your credentials never leaving the machine.

What it reads when it connects

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.

  • Tables, views and materialised views, with their owning schema.
  • Columns and their Postgres types — including `jsonb`, arrays, enums and domains.
  • Primary and foreign keys, which become the join paths it is allowed to use.
  • Distinct values on low-cardinality columns, so a filter on a status matches what is stored.
  • Planner statistics, so it has a sense of table size before it writes a join.

Conversation, not one-shot queries

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.

Read-only, enforced twice

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.

When the schema changes

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.

How it works, step by step

  1. 1

    Add the connection

    Host, port, database, and a role with SELECT. Credentials are stored on your machine and are never transmitted anywhere.

  2. 2

    Let it read the catalog

    It introspects the schemas on your search path once and caches the result locally.

  3. 3

    Ask your first question

    Plain English. You get the answer as rows, plus the SQL, the row count and the execution time.

  4. 4

    Refine with follow-ups

    The conversation holds context, so each follow-up narrows the previous answer rather than starting over.

Frequently asked questions

Which PostgreSQL versions are supported?

The schema layer reads the system catalog directly, so support is per-engine rather than per-version — any Postgres that presents a standard `pg_catalog` works. That includes managed Postgres such as RDS, Cloud SQL and Supabase, since they expose the same catalog.

Does it work with multiple schemas?

Yes. It introspects across the schemas on the search path and qualifies table names where it needs to, so a question that spans `public` and a reporting schema resolves correctly rather than silently picking the wrong table.

Do my Postgres credentials leave my machine?

No. SQLore is a desktop application: the connection is made from your machine to your database, and credentials are stored locally. When you use a live model your schema and question go to it so it can write the query — your rows and your credentials do not. On a local model nothing leaves your network at all.

Can I point it at a production database?

It is designed for that, with the caveat we would give for any tool: use a read-only role, and a replica if you have one. The generated SQL cannot write and cannot run past the statement timeout, so the remaining risk is query load rather than data loss.

More answers on the main FAQ, or ask us directly.

Related

PostgreSQL, in depth

AI For PostgreSQL That Knows What Postgres Can Do

Read more

MySQL

Chat With Your MySQL Database

Read more

The interface

AI Database Chat, Where The Second Question Is The Real One

Read more

Every page in this section covers a different question about the same product. See all solutions.

SQLore platform

Stop Writing The
Same Three Joins

Start free, upgrade when you are asking enough questions for it to matter.

Start for freeContact sales
sqlore.com
Connectionretail_db

staging

analytics

Add connection

MENU

Chat

Reports

Schema

History

Settings

Rows scanned

15,600+18%

Questions

25,800+14%

Avg latency

41 ms−16%

By product

By month

By connection