Skip to main content

Data tables

SQL storage with near-zero setup

Store and query relational data from scripts, flows, and apps. Windmill manages the database, credentials, and schema so you just write SQL.

SQL storage with near-zero setup

Datatables are a workspace-scoped layer on top of your own PostgreSQL database, added as a resource. Configure it once, then any script, flow, or app can query it. Windmill manages credentials internally so they are never exposed to users.

One line to connect

Call wmill.datatable() from any script to get a database connection, then query with TypeScript, Python, DuckDB, or raw SQL. String interpolation is automatically converted to parameterized queries to prevent SQL injection.

Read the docs

Asset tracking and data lineage

Windmill auto-detects datatable usage in scripts and shows them as asset nodes in flows. Read vs write mode is detected automatically. Click through to the Database Explorer to inspect schemas and data.

Read the docs

Database Studio

The Database Studio is a visual interface for exploring table data, editing rows, and managing schemas. Available in both the app editor and as a standalone tool.

Read the docs

Schema organization

Use schemas to organize tables within a datatable. Set a default search path per script or use schema.table syntax. Typically one or a few datatables per workspace, with schemas for logical separation.

Read the docs

Full-code apps integration

Data tables are fully integrated with full-code apps on Windmill. Query them directly from backend runnables with SQL and build complete data-driven applications.

Read the docs

Frequently asked questions

Build your internal platform on Windmill

Scripts, flows, apps, and infrastructure in one place.