Managed Postgres speaks PostgreSQL
Connect Crunchy Bridge to Excel, Sheets and AI
Crunchy Bridge managed Postgres, direct or through the built-in PgBouncer. The port tells the agent which one you meant.
One connection, every surface
Where your Crunchy Bridge data can go
Connect Crunchy Bridge once and the same read-only connection feeds all of these — no second setup, no second copy of the data. 9 of 11 have a step-by-step guide.
Crunchy Bridge to Excel
Microsoft Excel · Excel add-in
Pull live Crunchy Bridge results straight into a worksheet and refresh them on demand — desktop Excel, Excel Online, Microsoft 365.
Read the PostgreSQL guideCrunchy Bridge to Google Sheets
Sheets add-on
Run a saved Crunchy Bridge query from the sidebar and drop the rows into the sheet. Shared collaborators can refresh it themselves.
Read the PostgreSQL guideCrunchy Bridge MCP server
Claude, Cursor and MCP clients
Give an AI assistant read-only access to Crunchy Bridge with the schema it needs to write correct SQL — no credentials in the chat.
Read the PostgreSQL guideCrunchy Bridge REST API
HTTP endpoint
Publish a Crunchy Bridge query as an authenticated JSON endpoint any application can call, with an OpenAPI 3.1 spec and ready-made Postman, Insomnia and Hoppscotch collections. No database port is opened.
Read the PostgreSQL guideCrunchy Bridge to Airtable
Automation platform
Sync Crunchy Bridge rows into an Airtable base on a schedule, or fetch them inside an Airtable automation script.
Read the PostgreSQL guideCrunchy Bridge to Baserow
Automation platform
Feed a Baserow table from Crunchy Bridge over the REST endpoint — self-hosted or Baserow cloud.
Read the PostgreSQL guideCrunchy Bridge to SeaTable
Automation platform
Keep a SeaTable base current with Crunchy Bridge data without exporting a file or exposing the database.
Read the PostgreSQL guideCrunchy Bridge to Smartsheet
Automation platform
Push Crunchy Bridge results into a Smartsheet grid so plans and reports read from the source system, not last week's export.
Read the PostgreSQL guideCrunchy Bridge to Anvil
Anvil Works · App platform
Back an Anvil Python app with Crunchy Bridge through the REST endpoint instead of embedding database credentials in the app.
Read the PostgreSQL guideCrunchy Bridge to Power BI
Power Query M
Paste the generated Power Query M into the Power BI Advanced Editor and the report reads live Crunchy Bridge results over HTTPS — no ODBC driver, no database port opened.
How Power BI works no Crunchy Bridge walkthrough written yetCrunchy Bridge alerts and reports
Slack · Discord · Email · Webhook
Put a Crunchy Bridge query on a schedule and have the rows delivered to Slack, Discord, email or a signed webhook — or hold the message until a row count, threshold or percentage change crosses the line you set.
How alerts and reports work no Crunchy Bridge walkthrough written yetHow it works
5 steps, no inbound firewall change
Install the Network Agent on any machine that can reach the internet. It opens one outbound connection and never listens, so there is no inbound firewall rule to request.
Open the cluster in Crunchy Bridge, go to the Connection tab and copy the URI. Paste it into the first field — host, port, database, username and password are all read out of it.
Check which port came through. 5432 is the direct database and 5431 is the PgBouncer pool, and the mode selector follows the port automatically when you paste.
Leave Use SSL on and run the test. Crunchy Bridge requires an encrypted connection and the agent enforces it for Crunchy hostnames regardless.
Save, then read it from Microsoft Excel, Google Sheets, Power BI, MCP or REST. The pasted URI is dropped once the fields are filled, so the password is stored once.
Feature deep-dive
What Crunchy Bridge gives you
Two ports, one hostname, and nothing to get out of step
Most managed Postgres services with a pooler hand you a second hostname, or a flag you have to remember. Crunchy Bridge changes the port and nothing else, which turns out to matter more than it sounds.
- Port 5432 is the direct database. Port 5431 is the built-in PgBouncer, running in transaction mode, on the same host with the same credentials.
- Because the port is part of every connection string, it travels with the paste. Paste a 5431 URI and the card switches itself to pooled — you do not have to know that the mode selector exists.
- The agent reads the same port when it connects, so what the badge shows and what actually happens are the same fact rather than two settings that can drift apart. On cards where the pooled flag is stored separately from the address, they can.
- The mode selector will not let you contradict yourself. Choose the pool with the port still on 5432 and it says so before you can save, which is the failure this design is built to prevent.
What changes when you go through the pool
Transaction pooling hands your session to a different backend between statements, and two Npgsql defaults have to move for that to be safe.
- Prepared statements are switched off. Named prepared statements do not survive being reassigned to another backend, so automatic preparation is pinned off rather than left to fail later under load.
- The session reset that normally runs when a connection returns to the pool is skipped, because on a transaction pooler that reset is not yours to perform.
- Both are applied by the agent from the port alone. There is nothing to configure and no way to have the pooled endpoint without the pooled behaviour.
- Use the direct port for long-running reads and the pool when you have many short ones. Either works from Microsoft Excel and Google Sheets; the difference shows up under concurrency, not in the results.
Encrypted, and what that does and does not prove
Worth stating plainly, because it is the same posture across every managed Postgres card here and it is easy to over-read.
- TLS is required, not offered. The agent forces encryption for Crunchy hostnames even if the SSL checkbox is cleared, so the traffic is never in the clear.
- The certificate chain is not verified. Treat it as protection against anyone reading the traffic in transit, rather than as proof of which server answered.
- Everything the agent runs is read-only, and the credentials never leave the machine you installed it on. Query Streams stores no copy of your data and no copy of your password.
- Nothing needs installing at the Crunchy end. The agent carries the Npgsql driver and connects as an ordinary client.
-- Ordinary Postgres, read-only, over TLS
SELECT c.name,
COUNT(o.id) AS orders,
SUM(o.amount) AS revenue
FROM public.customers AS c
JOIN public.orders AS o ON o.customer_id = c.id
WHERE o.placed_at >= now() - interval '30 days'
GROUP BY c.name
ORDER BY revenue DESC;
Shared by every database connector
True of every database connector
- Outbound only — the agent opens one encrypted connection out to Query Streams. No inbound port to forward, no VPN, no IP allowlist, nothing about your database exposed to the internet.
- Credentials stay put — the database username and password live on the machine you installed the agent on. Query Streams never receives them and cannot reach your database on its own.
- Read-only, enforced — one statement at a time, SELECT and friends only. A write is rejected on your own machine before it is ever sent to the server, rather than relying on a permission somebody remembered to set.
- Deploy as many agents as you like — one per site, region or cloud. Every data source they can see arrives in a single dropdown, so nobody has to know which agent hosts what.
What you get once a query is saved
- Share the capability, not the SQL — a colleague or an outside partner can run your query and change its filters without ever seeing the statement behind it.
- Filters from either direction — declare them yourself as @variables, or let the connector spot the literal values already sitting in your WHERE clause and offer those as dropdowns.
- Read it from anywhere — Microsoft Excel, Google Sheets, Power BI, the REST API, AI assistants over MCP, the Query Builder and Nova all read the same saved query.
- Run several at once — five saved queries into five worksheet tabs, streamed concurrently, however large the results.
- Join it to anything else you have connected — another database, a business API, or a folder of files, in one read-only statement.
Cross-source SQL
Join Crunchy Bridge to the rest of your data
One statement can span Crunchy Bridge and your other connections at once. Each source runs only the part it can, streams the result back, and the join happens centrally — the sources never talk to each other and nothing is copied anywhere.
3 connections · 3 agents
One statement
-- nothing copied, nothing merged, nothing scheduled
SELECT c.region, COUNT(*) AS orders, SUM(i.amount_due) AS invoiced
FROM crunchy_prod.public.orders1 f
JOIN erp_sql.dbo.customers2 c ON c.id = f.customer_id
JOIN billing.stripe.invoices3 i ON i.customer = c.stripe_id
GROUP BY c.region
ORDER BY invoiced DESC;
The three parts are connection, schema and table — and the connection name is whatever you called it. Illustrative columns; your tables will be your tables. Read-only applies to every piece: SELECT, WITH and EXPLAIN only, with a ceiling on how much any one source may hand over for a single query. How federated queries work
Connection details
What Crunchy Bridge needs
- Host
- p.<cluster-id>.db.postgresbridge.com — the same host for both endpoints
- Port
- 5432 for the direct database, 5431 for the built-in PgBouncer pool
- Driver
- Npgsql, carried by the agent — nothing to install at the Crunchy Bridge end
- Paste format
- The URI from the cluster's Connection tab, as a postgres:// string
- TLS
- Required and enforced for Crunchy hostnames. Encrypted; the certificate chain is not verified
- Pooling
- Transaction-mode PgBouncer on 5431. The agent disables automatic prepared statements and skips session reset when you use it
- Saved as
- PostgreSQL, with Crunchy Bridge kept as a badge
- Default schema
- public, which is what a federated reference carries
Crunchy Bridge is the reference case for how a pooled endpoint should be described. Because the pool is a port rather than a separate hostname or a saved flag, every layer that needs to know — the mode shown on the connection, the paste parser, and the agent making the connection — reads the same value from the same place. There is no second setting to keep in sync and therefore no way for the label to say one thing while the connection does another.
The mode selector is worth understanding as a guard rather than a switch. It does not change your port when you change it; it refuses to let the two disagree. That is deliberate, because the port is the thing Crunchy Bridge actually routes on, so making the selector authoritative would let it overwrite the only value that matters.
For a cross-source query Crunchy Bridge is ordinary Postgres. A connection you called crunchy_prod is written crunchy_prod.public.orders, and it joins to a folder of CSVs, an on-premises system of record or a billing API in one read-only statement — with nothing copied and nothing scheduled.
Vendor documentation: www.crunchydata.com
FAQ
Questions about Crunchy Bridge
Which tools can read Crunchy Bridge data through Query Streams?
All of them, from one connection: Excel, Google Sheets, MCP, REST API, Airtable, Baserow, SeaTable, Smartsheet, Anvil, Power BI, scheduled alerts and reports. Connect the database once and every surface reads the same read-only connection — there is no per-tool setup and no second copy of the data.
Do I have to open a firewall port to my Crunchy Bridge database?
No. The Query Streams Network Agent runs inside your network and opens a single outbound encrypted connection. Nothing listens for inbound traffic, no VPN is required, and the database keeps its existing firewall rules.
Can Query Streams change data in Crunchy Bridge?
No. The agent enforces read-only at the point of execution — one statement at a time, SELECT and friends only. Credentials stay on the agent and are never sent to Query Streams.
What does Query Streams need to connect to Crunchy Bridge?
A reachable host, a role and its password — the agent carries the driver, so nothing is installed on the database. Host: p.<cluster-id>.db.postgresbridge.com — the same host for both endpoints. Port: 5432 for the direct database, 5431 for the built-in PgBouncer pool. Driver: Npgsql, carried by the agent — nothing to install at the Crunchy Bridge end. Paste format: The URI from the cluster's Connection tab, as a postgres:// string.
Can I join Crunchy Bridge to another database in the same query?
Yes — that is a federated query. One statement can reference Crunchy Bridge and your other connections at once, written as connection.schema.table. Each source runs only the part it can and streams the result back; the join happens centrally, so the sources never connect to each other and nothing is copied or scheduled. Read-only applies to every piece — SELECT, WITH and EXPLAIN only — and there is a ceiling on how much any one source may hand over for a single query. Federated queries are a plan feature; the federated queries page carries the current source and size limits.
Is connecting Crunchy Bridge different from connecting PostgreSQL?
Only the connection string. Crunchy Bridge speaks the PostgreSQL wire protocol, so filters, scheduling, sharing, the Excel and Google Sheets add-ons and the MCP server all behave identically. The Crunchy Bridge card pre-fills the host, port and SSL settings that provider expects.
Is there a Crunchy Bridge to Excel guide?
Yes — it is the PostgreSQL guide, and it is correct for Crunchy Bridge as written. Crunchy Bridge speaks the PostgreSQL wire protocol, so Crunchy Bridge to Excel, Crunchy Bridge to Google Sheets and every other destination follow the same steps. The only Crunchy Bridge-specific part is the connection string, and the Crunchy Bridge card fills that in for you.
Put Crunchy Bridge where the work happens
Install the agent, point it at your database, and pick a destination.
Read-only Outbound only Credentials stay on the agent

