Query Amazon Redshift from any Windmill script, flow or app — over the Postgres protocol, so SQL runs natively.
Set up in 3 steps
Collect the connection details
In the AWS console, open Redshift and take the cluster's endpoint — it carries the host and port — plus the database name, and a user and password allowed to connect.
Add the resource in Windmill
Open Resources, add a resource of type redshift and fill the fields. The cluster must accept connections from your workers, so check its security group first.
Write a SQL script
Redshift speaks the Postgres protocol. Pick PostgreSQL as the script language and write plain SQL.
Resource type
The shape of the credential every script on this page expects.
redshift
View raw schema →| Field | Type | Required | What it is |
|---|---|---|---|
| host | string | Yes | The cluster or workgroup endpoint, without the port (e.g. my-cluster.abc123.us-east-1.redshift.amazonaws.com) |
| port | integer | No | The instance port |
| dbname | string | Yes | The database name |
| user | string | Yes | The Redshift username |
| password | string | Yes | The Redshift user's password |
| sslmode | string | No | Redshift requires SSL by default. |
| root_certificate_pem | string | No | The root certificate in pem format, needed under verify-ca/verify-full |
Questions
Connections time out
Almost always the cluster's security group. It has to allow the workers' address on the port, and a cluster in a private subnet is unreachable from outside the VPC.
Do I need an external database at all?
For warehouse-scale analytics, yes. But if you only need somewhere to keep relational data between runs, Windmill data tables are managed storage with nothing to configure — Redshift is worth its setup when the data volume or the BI tooling around it calls for it.
Are my credentials stored on the hub?
Never. They live only in your own Windmill workspace, encrypted at rest.