Skip to main content

Big structured SQL data: Postgres (Supabase, Neon.tech)

This page is part of our section on Persistent storage & databases which covers where to effectively store and manage the data manipulated by Windmill. Check that page for more options on data storage.

For Postgres databases (best for structured data storage and retrieval, where you can define schema and relationships between entities), we recommend using Supabase or Neon.tech.

Execute queries

From Windmill, you can connect to most SQL services (PostgreSQL, MySQL, MS SQL, BigQuery, Snowflake) and execute queries, either with dedicated SQL scripts, or through other languages (Python, TypeScript etc.) using the appropriate libraries.

All details at:

Supabase

Supabase is an open-source alternative to Firebase, providing a backend-as-a-service platform that offers a suite of tools, including real-time subscriptions, authentication, storage, and a PostgreSQL-based database.

  1. Sign-up to Supabase's Cloud App or Self-Host it.

  2. Create a new Supabase project.

  3. Get a Connection string.

    • Go to the Settings section.
    • Click Database.
    • Find your Connection Info and Connection String. Direct connections are on port 5432.
  4. From Windmill, add your Supabase connection string as a Postgresql resource and Execute queries. Tip: you might need to set the sslmode to "disable".


You can also integrate Supabase directly through its API.

Neon.tech

Neon.tech is an open-source cloud database platform that provides fully managed PostgreSQL databases with high availability and scalability.

  1. Sign-up to Neon's Cloud App or Self-Host it.

  2. Set up a project and add data.

  3. Get a Connection string. You can obtain it connection string from the Connection Details widget on the Neon Dashboard: select a branch, a role, and the database you want to connect to and a connection string will be constructed for you.

  4. From Windmill, add your Neon.tech connection string as a Postgresql resource and Execute queries.


tip

Adding the connection string as a Postgres resource requires to parse it.


For example, for psql postgres://daniel:<password>@ep-restless-rice.us-east-2.aws.neon.tech/neondb, that would be:

{
"host": "ep-restless-rice.us-east-2.aws.neon.tech",
"port": 5432,
"user": "daniel",
"dbname": "neondb",
"sslmode": "require",
"password": "<password>"
}

Where the sslmode should be "require" and Neon uses the default PostgreSQL port, 5432.

Database studio

From Windmill App editor, you can use the Database studio component to visualize and manage your databases (PostgreSQL / MySQL / MS SQL / Snowflake / BigQuery).

Database studio


The Database studio component allows you to:

  • Display the content of a table.
  • Edit the content of a table by directly editing the cells (only when the cell is editable).
  • Add a new row.
  • Delete a row.

All details at: