Export PostgreSQL to Google Sheets
on a schedule, in plain English.
Push Postgres query results or table snapshots into Google Sheets automatically — no CSV exports, no Zapier task quotas, no manual refreshes. Just describe what you want.
rsync.ai generates a SQL query from your plain-English description, runs it against PostgreSQL on the schedule you set, and writes the results to your Google Sheet — replacing or appending rows. Column types are mapped automatically: dates display correctly, booleans become checkboxes, numbers get the right format. Works with OAuth or service account auth. Self-hosted, source-available.
- Scheduled export on any cadence — plain-English schedule description
- Full replace or incremental append mode
- Automatic cell type mapping — dates, checkboxes, currency
- Service account auth — no OAuth token expiry surprises
How to sync PostgreSQL to Google Sheets — 5 steps
From connecting Postgres to rows appearing in your spreadsheet.
- 1
Connect PostgreSQL
Provide host, port (default 5432), user, password, and database name. The user needs SELECT on the tables or views you want to export — no replication privilege required for scheduled snapshot exports. rsync.ai supports self-hosted Postgres 10+, Amazon RDS, Aurora, Google Cloud SQL, Supabase, and Neon. SSL and SSH tunnel are both supported.
host · port · user · password · database — SELECT only - 2
Connect Google Sheets
Authenticate via OAuth (click 'Sign in with Google') or a Google service account. For service accounts, rsync.ai shows you the service account email (e.g. rsync-export@your-project.iam.gserviceaccount.com) — share your target spreadsheet with that email as Editor. Service accounts are recommended for scheduled pipelines so the connection doesn't break if a user's OAuth token expires.
OAuth · or service account (recommended for scheduled runs) - 3
Describe the sync in plain English
Type what you want: 'Export the last 1000 orders with their status and total from Postgres to Sheet1 in the Orders spreadsheet every morning at 8am.' rsync.ai generates the SQL query, maps the column types, and proposes the target spreadsheet, sheet tab name, and header row. You can also reference an existing view or write a custom SELECT.
No SQL required — rsync.ai generates it from your description - 4
rsync.ai maps column types to Sheets cell formats
rsync.ai converts PostgreSQL types to the closest Google Sheets cell type: INTEGER and BIGINT→Number, NUMERIC/DECIMAL→Currency or Number, TIMESTAMPTZ and TIMESTAMP→Date+Time, DATE→Date, BOOLEAN→Checkbox, TEXT and VARCHAR→Text, UUID→Text. Cell formats are applied automatically so dates display correctly and currencies show two decimal places.
INTEGER→Number · TIMESTAMPTZ→Date · BOOLEAN→Checkbox · NUMERIC→Currency - 5
Approve and run on schedule
rsync.ai shows a preview of the first 5 rows, the target sheet and tab, and the schedule (e.g. 'Daily at 08:00 UTC'). Approve and the first run executes immediately. Subsequent runs either replace the sheet contents (full replace mode) or append new rows (incremental mode, keyed on a timestamp or ID column). Watch run history and row counts in the rsync.ai UI.
Full replace or incremental append · watch live in UI
PostgreSQL → Google Sheets type mapping
Default cell format mapping. Override any column format in the approve step.
| PostgreSQL column (type) | Google Sheets cell format | Notes | |
|---|---|---|---|
| id (INTEGER) | id (Number) | Integer formatted as number — no decimal places. | |
| created_at (TIMESTAMPTZ) | created_at (Date+Time) | Converted to UTC. Displayed in Sheets as 'YYYY-MM-DD HH:MM:SS'. | |
| customer_name (TEXT) | customer_name (Text) | Plain text. Long values truncated at 50,000 characters (Sheets cell limit). | |
| is_paid (BOOLEAN) | is_paid (Checkbox) | TRUE→checked, FALSE→unchecked. Sheets renders as a checkbox cell. | |
| total (NUMERIC(10,2)) | total (Currency) | Formatted as currency with 2 decimal places. Currency symbol from sheet locale. | |
| order_uuid (UUID) | order_uuid (Text) | Stored as a plain text string (36-character UUID format). |
rsync.ai vs. Zapier, Fivetran, manual CSV for PostgreSQL → Google Sheets
What you give up — and gain — choosing rsync.ai for Postgres to Sheets pipelines.