mirror of
https://github.com/supabase/supabase.git
synced 2026-05-12 04:16:08 +08:00
## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES ## What kind of change does this PR introduce? Updates verbiage throughout docs to use postgres over postgresql. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Documentation** * Updated terminology throughout documentation, guides, and resources for consistent product naming across all user-facing materials, including page titles, descriptions, and reference documentation. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
87 lines
2.4 KiB
Plaintext
87 lines
2.4 KiB
Plaintext
---
|
|
title: 'Query with Postgres'
|
|
subtitle: 'Query analytics bucket data directly from Postgres using SQL.'
|
|
---
|
|
|
|
Once your data flows into an analytics bucket through your own ingestion pipeline, you can query it directly from Postgres using standard SQL.
|
|
|
|
This is made possible by the [Iceberg Foreign Data Wrapper](/docs/guides/database/extensions/wrappers/iceberg), which creates a bridge between your Postgres database and Iceberg tables.
|
|
|
|
<Admonition type="note" title="About ingestion">
|
|
|
|
Managed replication into Analytics Buckets through Supabase ETL is no longer supported. This guide assumes your Analytics Bucket is being populated by your own ingestion pipeline.
|
|
|
|
</Admonition>
|
|
|
|
## Setup overview
|
|
|
|
You have two options to enable querying:
|
|
|
|
1. **Dashboard UI** (recommended) - Streamlined setup through the Supabase Dashboard
|
|
2. **Manual installation** - Install the wrapper using SQL and configuration
|
|
|
|
## Installing via Dashboard UI
|
|
|
|
The dashboard provides the easiest setup experience:
|
|
|
|
1. Navigate to your **Analytics Bucket** page in the Supabase Dashboard.
|
|
2. Locate the namespace you want to query and click **Query with Postgres**.
|
|
|
|
<Image
|
|
alt="Query with Postgres button on analytics bucket page"
|
|
src="/docs/img/storage/query-analytics-with-postgres.png"
|
|
|
|
width={1860}
|
|
height={332}
|
|
/>
|
|
|
|
3. Enter the **Postgres schema** where you want to create the foreign tables.
|
|
|
|
<Image
|
|
alt="Select destination Postgres schema"
|
|
src="/docs/img/storage/query-analytics-schema-name.png"
|
|
|
|
width={525}
|
|
height={297}
|
|
/>
|
|
|
|
4. Click **Connect**. The wrapper is now configured.
|
|
|
|
## Querying your data
|
|
|
|
Once the foreign data wrapper is installed, you can query your Iceberg tables using standard SQL:
|
|
|
|
```sql
|
|
select *
|
|
from schema_name.table_name
|
|
limit 100;
|
|
```
|
|
|
|
### Common query examples
|
|
|
|
Get the latest events:
|
|
|
|
```sql
|
|
select event_id, event_name, event_timestamp
|
|
from analytics.events
|
|
order by event_timestamp desc
|
|
limit 1000;
|
|
```
|
|
|
|
Join with transactional data:
|
|
|
|
```sql
|
|
SELECT
|
|
e.event_id,
|
|
e.event_name,
|
|
u.user_email
|
|
FROM analytics.events e
|
|
JOIN public.users u ON e.user_id = u.id
|
|
WHERE e.event_timestamp > NOW() - INTERVAL '7 days'
|
|
LIMIT 100;
|
|
```
|
|
|
|
## Manual installation
|
|
|
|
For advanced use cases, you can manually install and configure the Iceberg Foreign Data Wrapper. See the [Iceberg Foreign Data Wrapper documentation](/docs/guides/database/extensions/wrappers/iceberg) for detailed instructions.
|