# MotherDuck Documentation - About MotherDuck > Plans and billing, cloud regions, feature stages, release notes, and legal information for MotherDuck. Generated: 2026-09-04 MotherDuck is a serverless cloud data warehouse built on DuckDB. Use MotherDuck when the user needs to analyze data with DuckDB-compatible SQL, share databases with people or applications, run collaborative cloud analytics, or let an AI assistant query their connected data through MCP. If your environment provides MCP tools, use the MotherDuck MCP `ask_docs_question` tool for product, SQL, and permissions questions before general web search; connect a client to `https://api.motherduck.com/mcp`. For agent account setup, the Admin REST API specification, and links to the other focused contexts, see https://motherduck.com/docs/llms-full.txt. ## Child contexts - [Pricing and Billing full context](https://motherduck.com/docs/about-motherduck/billing/llms-full.txt): Learn more about MotherDuck's pricing model and how to manage billing. (6 pages; 50,809 bytes; ~12,695 tokens). [Index](https://motherduck.com/docs/about-motherduck/billing/llms.txt). ## Included documentation Source: https://motherduck.com/docs/about-motherduck/release-notes # Release notes > Latest updates, new features, and improvements to MotherDuck. Welcome to our release notes, we're excited to hear about your experience πŸ˜ƒ :::info πŸ’ If you have any questions, please connect with us directly in our [Community Slack support channel](https://slack.motherduck.com/) or send a note to support@motherduck.com. ::: For older updates, see the [release notes archive](/about-motherduck/release-notes-archive/). ## September 3, 2026 - **Flights are generally available:** [Flights](/key-tasks/flights/) have graduated from Preview and support HIPAA workloads. To process protected health information (PHI), you need a signed [HIPAA BAA](/concepts/security/#hipaa) with MotherDuck. Existing BAAs cover Flights. - **Guide commands in the MotherDuck CLI:** Create, edit, and version [Guides](/key-tasks/guides/) from your terminal with `motherduck guide`, and keep them in version control alongside your other source files. Refer to the [`guide` command reference](/sql-reference/motherduck-cli/guide/) for details. ## August 21, 2026 - **Table-level security:** You can now share specific tables, views, or entire schemas instead of an entire database. Set an `INCLUDE_PATTERN` such as `'reporting.*, main.orders'` when you [create a share](/sql-reference/motherduck-sql-reference/create-share/#include_pattern-clause), change it later with [`ALTER SHARE`](/sql-reference/motherduck-sql-reference/alter-share/), or set it from the share dialog in the UI. Available on **Business** and **Enterprise** plans. Refer to the [documentation](/key-tasks/sharing-data/table-level-security/) for pattern rules and limitations. - **Custom roles available on Business:** Business plan customers can now create [custom roles](/key-tasks/managing-organizations/managing-roles/#create-a-custom-role), which inherit a preset role's platform permissions and can receive data grants directly. ## August 14, 2026 - **[Preview] MotherDuck CLI:** The `motherduck` CLI lets you authenticate (`motherduck login`, `logout`, `status`), run SQL queries, and build Dives and Flights from your terminal, with table, JSON, or CSV output for scripting and automation. Refer to the [MotherDuck CLI documentation](/getting-started/interfaces/motherduck-cli/) for details. - **Windows install script for the DuckDB CLI:** Windows users can install a MotherDuck-supported [DuckDB CLI version](/getting-started/interfaces/connect-query-from-duckdb-cli/) with a single command, `powershell -c "irm https://install.motherduck.com | iex"`. The script installs the `motherduck` extension and can save your MotherDuck token. - **Create a database from a remote file:** [`CREATE DATABASE ... FROM`](/sql-reference/motherduck-sql-reference/create-database/) now accepts a remote DuckDB database file in cloud storage, for example `CREATE DATABASE my_db FROM 's3://my-bucket/my.db'`. - **Favorites:** Keep the content you use most at the top of the Object Explorer sidebar. Star [Dives](/key-tasks/dives/), Notebooks, [Flights](/key-tasks/flights/), [Guides](/key-tasks/guides/), databases, and [shares](/key-tasks/sharing-data/), then organize them into folders and drag them into the order you want. ## August 5, 2026 - **DuckDB 1.5.5 support:** [MotherDuck supports DuckDB 1.5.5](https://motherduck.com/docs/troubleshooting/version-lifecycle-schedules/). Refer to the [changelog](https://github.com/duckdb/duckdb/releases/tag/v1.5.5) and the [official announcement](https://duckdb.org/2026/07/22/announcing-duckdb-155) for details. - **Note:** Our [install scripts](https://motherduck.com/docs/getting-started/interfaces/connect-query-from-duckdb-cli/) ensure you always have a MotherDuck-supported DuckDB client version. - **Flights available in Asia Pacific:** [Flights](/concepts/flights/#connecting-to-external-systems) are now available in AWS Sydney `ap-southeast-2` and Tokyo `ap-northeast-1` [regions](/about-motherduck/cloud-regions/). - **Org-wide Flight visibility for Admins:** Users with the Admin [role](/concepts/roles-and-access-control/) have view-only access to every Flight in their organization. Running, editing, and deleting a Flight is restricted to a Flight's creator. - **`CREATE SHARE` defaults to automatic updates on DuckDB 1.5.5+:** On DuckDB 1.5.5 and later, [`CREATE SHARE`](/sql-reference/motherduck-sql-reference/create-share/#update-clause) without an explicit update mode now defaults to `UPDATE AUTOMATIC`. Clients on 1.5.4 and earlier are unchanged. ## July 29, 2026 - **[Preview] Guides:** You can now teach AI agents your organization's context with [Guides](/key-tasks/guides/): markdown documents in MotherDuck holding your metric definitions, join rules, columns to avoid, and conventions for Dives and Flights. Agents read them automatically through the MCP server, so every session writes SQL against the same definitions instead of rediscovering them. Share Guides org-wide to align every agent, or keep them private to personalize your own. Read the [announcement blog](https://motherduck.com/blog/context-belongs-in-the-warehouse) for benchmark results and more details. ## July 23, 2026 - **Role-based access control (RBAC):** Admins can [assign roles and grant scoped privileges](/concepts/roles-and-access-control/) to control access to databases, shares, and platform-level resources using the [Members and Roles page in Settings](/key-tasks/managing-organizations/managing-roles/). RBAC is available on **Business** and **Enterprise** plans; custom roles are also available for **Enterprise** customers. - **Read and write to Cloudflare R2 Data Catalog:** MotherDuck can now read from and write to [Cloudflare R2](https://motherduck.com/docs/integrations/file-formats/apache-iceberg/#cloudflare-r2-data-catalog) as a persisted Iceberg catalog. - **Configurable maximum runtime for Flights:** The [Flights](/key-tasks/flights/) UI now includes a max runtime field to enable users to automatically stop runs if they exceed the set limit. ## July 16, 2026 - **MotherDuck cloud coverage extends to Asia Pacific:** MotherDuck is now [available on AWS](/about-motherduck/cloud-regions/) in Asia Pacific (Sydney) `ap-southeast-2` and Asia Pacific (Tokyo) `ap-northeast-1`. Create new organizations in either region for lower latency and regional data residency. [Flights](/key-tasks/flights/) are not yet available in these regions and are coming soon. - **Run a Flight with a custom config:** In the [Flights UI](/key-tasks/flights/), users can click the **Run now** menu to override config values for a single run, without editing the Flight itself. - **Scheduled Flights available on Lite:** [Lite](/key-tasks/flights/) plan customers can now schedule Flight runs without per-user Flight or concurrency limits. - **Rename views with `ALTER TABLE ... RENAME TO`:** You can now [rename a view](/sql-reference/duckdb-sql-reference/duckdb-statements/alter-table/#rename-a-view) in a MotherDuck catalog using `ALTER TABLE RENAME TO `. ## July 9, 2026 - **Write to Databricks-managed Iceberg tables:** MotherDuck can now write to Databricks-managed [Iceberg tables](https://motherduck.com/docs/integrations/file-formats/apache-iceberg/#databricks). - **Flights available on all plans:** [Flights](/key-tasks/flights/) are now available on Free and Lite plans, in addition to Business. - **Flight secrets available as non-namespaced environment variables:** [Flight secrets](/key-tasks/flights/flights-authentication-config-and-secrets/#secrets-sensitive-environment-variables) are now injected into the Flight runtime under both the namespaced `_` name and the bare `` name, so your code can read them without the `secret_name` prefix. - **Status page updates:** Users can now subscribe to updates on the [MotherDuck status page](https://status.motherduck.com/) to be notified about system health and scheduled maintenance. Refer to [Service status](/troubleshooting/support/#service-status) for details. - **Connect your tools:** [Integrations](https://motherduck.com/docs/integrations/) have been added to the Home page for easy access in the UI. - **Dive statuses:** Dives now carry a [status](/key-tasks/dives/dive-statuses/) (draft, ready, endorsed, or archived) to distinguish work-in-progress from vetted, endorsed Dives. Dive status shows up in the Dives list and the MCP/SQL tools for filtering and sorting. ## July 2, 2026 - **[Preview] Server-side Iceberg attach:** Attach an external [Apache Iceberg REST catalog](/integrations/file-formats/apache-iceberg/#persisted-iceberg-catalogs) to MotherDuck and query your Iceberg tables server-side, alongside your MotherDuck and DuckLake data. Available in Preview. - **dbt Cloud support via the Postgres endpoint:** You can now connect dbt Cloud to MotherDuck directly through the [Postgres endpoint](/integrations/transformation/dbt-cloud/), without standing up a self-hosted `pg_duckdb` proxy. ## June 25, 2026 - **DuckDB 1.4.5 and 1.5.4 support:** [MotherDuck supports DuckDB 1.4.5 and 1.5.4](https://motherduck.com/docs/troubleshooting/version-lifecycle-schedules/). Refer to the [changelog](https://github.com/duckdb/duckdb/releases/tag/v1.5.4) and the [official announcement](https://duckdb.org/2026/06/17/announcing-duckdb-154) for details. - **Postgres endpoint JDBC compatibility improvements:** The [Postgres endpoint](/key-tasks/authenticating-and-connecting-to-motherduck/postgres-endpoint/) now resolves primary keys and indexes, reports column precision and identity metadata, exposes table and column comments, and scopes catalog views to the connected database, enabling [BI tools](https://motherduck.com/docs/integrations/#supported-integrations) and [SQL IDEs](https://motherduck.com/docs/integrations/sql-ides/) like [DBeaver](https://motherduck.com/docs/integrations/sql-ides/dbeaver/) and [DataGrip](https://motherduck.com/docs/integrations/sql-ides/datagrip/) to read your schema correctly. - **Dives support for `REFRESH DATABASE`:** [Dives](/key-tasks/dives/) running on [read scaling](/key-tasks/authenticating-and-connecting-to-motherduck/read-scaling/) replicas can now run [`REFRESH DATABASE`](/sql-reference/motherduck-sql-reference/refresh-database) to pull the latest committed writes on demand, enabling Embedded Dives to [reflect changes made from its host page](/key-tasks/dives/#refreshing-data-in-a-dive). ## June 10, 2026 - **[Preview] Launching Flights - agent-native data pipelines in MotherDuck:** Build and deploy data pipelines using a flexible Python runtime, natively connected to your MotherDuck data β€” for ingest, transformation, warehouse replication, SaaS ETL, and more. Create and manage Flights via SQL, UI, or any MCP-capable AI agent. Available in Preview to Business and Enterprise plans. Read the [announcement blog](https://motherduck.com/blog/flights-agent-native-ingest/) for more details and refer to the [Flights documentation](https://motherduck.com/docs/concepts/flights/) to get started. - **Dives are generally available:** [Dives](/key-tasks/dives/) – interactive data apps you build from natural language and share across the MotherDuck UI, embeds, and MCP clients β€” have graduated from Preview to general availability (GA). Available on all plans. - **MotherDuck cloud coverage extends to Europe (Dublin) `eu-west-1`:** MotherDuck is [available on AWS in Europe (Dublin) `eu-west-1`](/concepts/architecture-and-capabilities/#the-motherduck-cloud-service). Create new Organizations in Dublin for lower latency and regional data residency. - **MotherDuck Wasm Client `1.5.3-r.1`:** Each release of the [Wasm Client](/sql-reference/wasm-client/) pins a specific DuckDB version instead of tracking the MotherDuck web UI's DuckDB version dynamically, so your DuckDB version stays predictable across deployments. Check `pragma version` to confirm which version is in use. This release builds on DuckDB 1.5.3 and adds the `terminateDuckDB` function, which resets the shared in-browser DuckDB instance so you can recreate it. Refer to the [Wasm Client documentation](https://www.npmjs.com/package/@motherduck/wasm-client) to learn more. ## June 2, 2026 - **DuckDB 1.5.3 support:** [MotherDuck supports DuckDB 1.5.3](https://motherduck.com/docs/troubleshooting/version-lifecycle-schedules/). Refer to the [changelog](https://github.com/duckdb/duckdb/releases/tag/v1.5.3) and the [official announcement](https://duckdb.org/2026/05/20/announcing-duckdb-153) for details. - **Compact URLs for Dives with large filter state:** [Sharing or copying the URL of a Dive](/key-tasks/dives/#sharing-the-current-view) with extensive filters now uses a shortened URL to facilitate easier sharing. - **Retool Cloud native integration:** Connect Retool Cloud apps to MotherDuck through a native [MotherDuck resource type](/integrations/dev-tools/retool/#retool-cloud-native-connector), no JDBC driver required. Refer to [Retool's documentation](https://docs.retool.com/data-sources/guides/connect/motherduck) for setup. ## May 22, 2026 - **Postgres wire protocol endpoint support for Looker:** The [Postgres Endpoint](https://motherduck.com/docs/getting-started/interfaces/client-apis/other/postgres-endpoint-jdbc/), a Postgres wire protocol-compatible MotherDuck client, now enables connectivity with [Looker](https://motherduck.com/docs/integrations/bi-tools/looker/). - **DuckDB & MotherDuck plugin for Obsidian:** Run DuckDB SQL or MotherDuck queries from inside an [Obsidian](/integrations/dev-tools/obsidian/) note, with results frozen as a markdown table directly below the query. Local DuckDB blocks run in Wasm with no account required; `motherduck` blocks reach your MotherDuck account for [hybrid execution](/key-tasks/running-hybrid-queries/) against shared databases. Install from the [Obsidian Community Plugins](https://community.obsidian.md/plugins/duckdb-motherduck) directory. - **Manual member deprovisioning:** Users with permission to deprovision members can [deprovision them](/key-tasks/managing-organizations/#deprovisioning-users) directly from the Members page in Settings in the MotherDuck UI. Reactivating members requires a separate permission. The Admin preset role includes both permissions by default. These actions don't require [SCIM](/key-tasks/authenticating-and-connecting-to-motherduck/authenticating-to-motherduck/scim/) or an external identity provider. - **Compound file extensions in Add Data:** The [Add Data](/key-tasks/loading-data-into-motherduck/loading-data-from-cloud-or-https/) UI now recognizes compound suffixes such as `.parquet.zst`, `.csv.zst`, and `.parquet.snappy` when detecting file types from object storage. - **TOON-encoded responses from the MCP server:** Responses from the [MotherDuck remote MCP server](/sql-reference/mcp/) are now encoded in [TOON](https://github.com/toon-format/toon), a compact, token-efficient format for LLM consumption, reducing payload size on large result sets. - **Pin a Dive version when embedding:** [Embed sessions](/key-tasks/dives/embedding-dives/) now accept an optional `version` parameter so production embeds keep rendering a vetted Dive version even when the source Dive is edited. Omit it to follow the current version. - **Dive Viewer in ChatGPT:** The [MCP Dive Viewer](/sql-reference/mcp/dives/view-dive/) is now available as a [ChatGPT app](https://chatgpt.com/apps/motherduck/asdk_app_696a54f1c91c81919002b9153ce0e336), rendering Dives inline in conversations. - **"Open in MotherDuck" preserves Dive state:** Clicking "Open in MotherDuck" from the [MCP Dive Viewer](/sql-reference/mcp/dives/view-dive/) now carries your current filters and selections through to the full MotherDuck UI. - **Dive Viewer auto-refreshes stale tokens:** [Dives](/key-tasks/dives/) left open in browser tabs for hours no longer show "Invalid Token" errors. The session token now refreshes silently when the tab regains focus. ## May 15, 2026 - **SCIM provisioning:** MotherDuck now supports SCIM, so you can manage MotherDuck users from your identity provider. Available on **Business** and **Enterprise** plans. Refer to the [documentation](/key-tasks/authenticating-and-connecting-to-motherduck/authenticating-to-motherduck/scim/) for more details. - **Per-session database override for Dives:** [Embedded Dives](/key-tasks/dives/embedding-dives/#override-required-databases) and the [`view_dive` MCP tool](/sql-reference/mcp/dives/view-dive/) now accept a `required_resources` parameter that overrides the Dive's source-declared `REQUIRED_DATABASES` for the session. This lets you point a single Dive at different databases per tenant or environment. - **Share Dives with their current view:** Share a [Dive](/key-tasks/dives/#sharing-the-current-view) along with its interactive state β€” filters, drill-downs, sort orders, selected views. In the MotherDuck UI, the state is captured in the URL fragment, so sharing the URL lands recipients on the same view. In [embedded Dives](/key-tasks/dives/embedding-dives/#handle-dive-state-updates-from-embedded-dives), state changes emit `postMessage` events your host page can listen for and persist in your application. - **Preconfigure Dives with a starting UI state:** A new `initial_state` parameter on [embed sessions](/key-tasks/dives/embedding-dives/#preconfigure-the-starting-ui-state) and the [`view_dive` MCP tool](/sql-reference/mcp/dives/view-dive/) loads the Dive with specific filters and selections already applied. - **Data exports from Dives in MCP apps:** The [MCP Dive Viewer](/sql-reference/mcp/dives/view-dive/#data-exports-from-the-dive-viewer) now lets users export Dive results as CSV, Parquet, or XLSX. - **Claude Cowork support for the Dive Viewer:** The [MCP Dive Viewer](/sql-reference/mcp/dives/view-dive/) now renders Dives inline in Claude Cowork, alongside existing MCP client support. ## May 7, 2026 - **Data exports from Dives:** [Dives](/key-tasks/dives/) can now include export buttons that deliver CSV, JSON, Parquet, or Excel files, both in the MotherDuck UI and in [embedded Dives](/key-tasks/dives/embedding-dives/#handle-data-exports-from-embedded-dives). Wire up exports from your Dive code with the new [`exportAs` and `useExport` hooks](/sql-reference/motherduck-sql-reference/dives/use-sql-query/#export-query-results) from `@motherduck/react-sql-query`. Embedded exports are delivered to your host page through a `postMessage` channel and require dual mode, now the default for embedded Dives. - **MotherDuck extends cloud coverage to Oregon `us-west-2`:** MotherDuck is now [available on AWS in Oregon `us-west-2`](/concepts/architecture-and-capabilities/#the-motherduck-cloud-service); users are able to create new Organizations in Oregon for lower latency and regional data residency. - **Drizzle support via the Postgres endpoint:** You can now connect to MotherDuck from [Drizzle](https://orm.drizzle.team/) using the [Postgres endpoint](https://motherduck.com/docs/key-tasks/authenticating-and-connecting-to-motherduck/postgres-endpoint/drizzle/). ## May 1, 2026 - **Streamlined Dives sidebar:** The [Dives](/key-tasks/dives/) list in the Object Explorer is now capped at your 10 most recent Dives, with a new **View all Dives** link that opens the full searchable Dives table. - **Wasm Client SDK no longer requires COI headers:** The [MotherDuck Wasm client](/sql-reference/wasm-client/) SDK (now at version `1.5.2`) no longer requires Cross-Origin Isolation (COI) headers, so custom DuckDB Wasm applications using `LOAD motherduck` can run in standard, non-COI environments. This change also brings faster transfers for larger payloads. - **JIT provisioning enabled by default for SSO:** When you activate [SSO](/key-tasks/authenticating-and-connecting-to-motherduck/authenticating-to-motherduck/sso-setup/) for the first time, [Just-in-Time (JIT) provisioning](/key-tasks/authenticating-and-connecting-to-motherduck/authenticating-to-motherduck/sso-setup/#just-in-time-jit-user-provisioning) is now on by default, so users from your verified domain can join the organization automatically on first login. - **Link handling in Dives:** When you click a link inside a [Dive](/key-tasks/dives/), MotherDuck surfaces a confirmation popup for external URLs so you can review the destination before opening it, and navigates directly for links that point inside the MotherDuck UI (for example, another Dive). [Embedded Dives](/key-tasks/dives/embedding-dives/#handle-link-navigation-from-embedded-dives) forward each click to the host page through a `postMessage` channel, so the parent app can apply its own navigation policy. ## April 22, 2026 - **Duckling Overview UI:** The [Duckling Overview page](/getting-started/interfaces/motherduck-quick-tour/#duckling-overview) in Settings provides a view of activity across every [Duckling](/about-motherduck/billing/duckling-sizes/) in the organization over the last 24 hours, including key metrics like status, disk spills, active minutes, and query-level drilldowns. Viewing it requires permission to view organization-wide Duckling activity, which the Admin and Builder preset roles include by default. - **Dive Viewer Inline Preview for Remote MCP Server:** The [MotherDuck remote MCP server](/sql-reference/mcp/) now includes an inline preview [Dive Viewer](/key-tasks/dives/#inline-preview-with-the-dive-viewer), allowing users and AI agents to create and view [Dives](/key-tasks/dives/) directly in their chat workflow. - **Removed Cross-Origin Isolation (COI) requirement for DuckDB Wasm:** MotherDuck's DuckDB Wasm integration can now run in standard i-frames and non-COI third-party environments. This is already powering the MotherDuck UI and [Embedded Dives](/key-tasks/dives/embedding-dives/), which default to [Dual Execution](/key-tasks/running-hybrid-queries/) for zero-latency client-side queries. Support for `LOAD motherduck` from custom DuckDB Wasm applications will follow in a future WASM SDK release. ## April 16, 2026 - **DuckDB 1.5.2 support:** MotherDuck supports DuckDB 1.5.2, a bugfix release. Learn more in the [official DuckDB Labs 1.5.2 announcement](https://duckdb.org/2026/04/13/announcing-duckdb-152) and [changelog](https://github.com/duckdb/duckdb/releases/tag/v1.5.2). - **DuckLake 1.0 support:** MotherDuck supports DuckLake 1.0. Learn more in the [official DuckDB Labs DuckLake 1.0 announcement](https://ducklake.select/2026/04/13/ducklake-10/). - **Concurrent checkpoints:** Checkpoints can now run concurrently to reads, insertions and deletions. Previously they could block or be blocked by user queries and also interfere with share updates, as these require a checkpoint. Note that concurrent checkpoints require writes or deletions to be issued by DuckDB clients that are at least on [version 1.5](https://motherduck.com/docs/troubleshooting/version-lifecycle-schedules/). ## April 9, 2026 - **Postgres wire protocol endpoint support for PowerBI:** The [Postgres Endpoint](https://motherduck.com/docs/getting-started/interfaces/client-apis/other/postgres-endpoint-jdbc/), a Postgres wire protocol-compatible MotherDuck client, now enables connectivity with [PowerBI](https://motherduck.com/docs/integrations/bi-tools/powerbi/). ## April 3, 2026 - **[Preview] Embedded Dives:** MotherDuck Dives can now be embedded directly in your customer-facing applications. Create a Dive, generate an embed session, and drop an iframe into your app. Your end-users can explore data in real time, powered by MotherDuck. Embedded Dives currently require a Business plan. Read the [announcement blog](https://motherduck.com/blog/introducing-embedded-dives/) for more details or refer to the [documentation](/key-tasks/dives/embedding-dives/) to get started. - **Airbyte Connector Certified:** MotherDuck is now a certified Airbyte destination. Refer to the [Airbyte destination documentation](https://docs.airbyte.com/integrations/destinations/motherduck) for more details. - **Customizable Sidebar:** The Object Explorer sidebar is now fully customizable. Right-click any section to show, hide, or reorder it β€” or access the customization dialog from the command menu or the org menu. Your expand/collapse state is persisted across sessions. ## March 25, 2026 - **Configurable Duckling cooldown periods:** The cooldown period for Standard, Jumbo, Mega, and Giga Ducklings can now be configured from 1 minute to 24 hours via the UI, SQL, or REST API. Learn more in the [Duckling sizes](https://motherduck.com/docs/about-motherduck/billing/duckling-sizes/) documentation. - **SHUTDOWN and SHUTDOWN TERMINATE commands:** Two new SQL commands give you direct control over Duckling lifecycle without waiting for the cooldown period. [SHUTDOWN](https://motherduck.com/docs/sql-reference/motherduck-sql-reference/shutdown-terminate/#shutdown) shuts down a Duckling after running queries complete; [SHUTDOWN TERMINATE](https://motherduck.com/docs/sql-reference/motherduck-sql-reference/shutdown-terminate/#shutdown) force-terminates immediately. Both are subject to a 1-minute billing minimum and are useful for cost control in batch pipelines or CI/CD workflows where you want to stop billing as soon as work is done. See the [command reference](https://motherduck.com/docs/sql-reference/motherduck-sql-reference/shutdown-terminate/) for details. - **Dives Version History in UI:** Every time you update a [Dive](/key-tasks/dives/), MotherDuck saves a version. Browse previous versions using the version picker in the top-right corner of any Dive or retrieve them programmatically with [list_dives](https://motherduck.com/docs/sql-reference/mcp/dives/list-dives/) and [read_dive](https://motherduck.com/docs/sql-reference/mcp/dives/read-dive/). Version browsing is read-only β€” selecting an older version does not overwrite the latest. ## March 24, 2026 - **DuckDB 1.5.1 support:** MotherDuck supports [DuckDB 1.5.1](https://duckdb.org/2026/03/23/announcing-duckdb-151) ("Variegata"). This release brings significant performance improvements including bloom filter join pushdown, stats-only min/max evaluation, faster TopN queries with late materialization, and lazy view binding. Note that the VARIANT data type and background checkpointing improvements are not yet supported in MotherDuck and will be made available in a future update. See the [version lifecycle schedules](/troubleshooting/version-lifecycle-schedules/) for supported version ranges. - **DuckLake 0.4:** The DuckLake open table format has been updated to [version 0.4](/integrations/file-formats/ducklake/#whats-new-in-ducklake-10), introducing deletion inlining, sorted compaction, stats-only `COUNT(*)`, TopN file pruning, expression-based default values, and macro support. ## March 12, 2026 - **Postgres wire protocol endpoint support for Tableau Cloud:** The [Postgres Endpoint](https://motherduck.com/docs/getting-started/interfaces/client-apis/other/postgres-endpoint-jdbc/), a Postgres wire protocol-compatible MotherDuck client, now enables connectivity with [Tableau Cloud](https://motherduck.com/docs/integrations/bi-tools/tableau/tableau-cloud/). - **Dives can now be remixed:** A new 'Remix this Dive' menu option in the left-side object explorer opens ChatGPT or Claude with pre-filled metadata to help you explore and iterate on existing analysis and create new [Dives](/key-tasks/dives/). ![Image](useBaseUrl('/img/about-motherduck/remix-dive.png')) ## March 6, 2026 - **Postgres wire protocol endpoint:** Query your MotherDuck databases using any Postgres-compatible client, including `psql`, Python libraries like psycopg2/psycopg3, JDBC drivers, and serverless platforms like Cloudflare Workers β€” without installing a DuckDB client library. The Postgres endpoint is ideal for serverless environments, languages without a DuckDB SDK, thin client architectures, or any tool that supports PostgreSQL data sources. See guides for [Python](https://motherduck.com/docs/getting-started/interfaces/client-apis/python/postgres-endpoint/), [Java (JDBC)](https://motherduck.com/docs/getting-started/interfaces/client-apis/other/postgres-endpoint-jdbc/), and [Cloudflare Workers](https://motherduck.com/docs/getting-started/interfaces/serverless/cloudflare-workers/). ## February 27, 2026 - **Write support for the MCP server is now live:** Users can now perform write operations via the MCP Server using the new `query_rw` tool. This enables programmatic data modification workflows in addition to read queries. Refer to the [documentation](/sql-reference/mcp/core/query-rw/) and [setup guide for read-only access](/sql-reference/mcp/#restricting-to-read-only-access) for more details. ## February 26, 2026 - **Dives are now available on all plans:** Dives are now available on all MotherDuck plans, giving users access to shareable visualizations built by AI agents and backed by composable SQL. Refer to the [documentation](/key-tasks/dives/) for more details. - **Faster edits for Dive Previews in Claude:** Claude agents in [Claude Web](http://claude.ai/) and [Claude Desktop](https://code.claude.com/docs/en/desktop) now apply edits to the existing Dive preview instead of re-generating it from scratch. - **SSO support:** MotherDuck now supports Single Sign-On (SSO) with Okta, Microsoft Entra ID, and federated SAML/OIDC. Refer to the [documentation](/key-tasks/authenticating-and-connecting-to-motherduck/authenticating-to-motherduck/sso-setup/) for more details. ## February 19, 2026 - **Visualizations with Dives:** Create interactive visualizations directly in your MotherDuck UI using natural language. To get started, connect your [AI agent](/getting-started/mcp-getting-started/) (Claude, ChatGPT, Cursor, or any MCP-compatible client) to the [MotherDuck MCP Server](/sql-reference/mcp/) and ask it to build a Dive. The agent writes the SQL, configures the charts, and saves the visualization in your MotherDuck UI. Dives stay live and up-to-date and can be shared across your organization. Read the [announcement blog](https://motherduck.com/blog/duck-dive-and-answer/) and get started in the [Dives documentation](/key-tasks/dives/). Dives are now available on all MotherDuck plans at no additional charge. ## February 5, 2026 - **Expanded DuckDB Extension support in the MotherDuck MCP Server:** The MotherDuck Remote MCP Server is now compatible with the DuckLake, Spatial, Iceberg, and Delta DuckDB extensions. Read more about using the MotherDuck MCP Server [in the documentation](/key-tasks/ai-and-motherduck/mcp-workflows/). - **Point-in-time Restore**: Restore databases to previous states using automatic or named snapshots within a configurable retention window of up to 90 days. Use [`UNDROP DATABASE`](/sql-reference/motherduck-sql-reference/undrop-database/) to recover deleted databases. Learn more in the [launch blog post](https://motherduck.com/blog/point-in-time-restore/) and the [data recovery documentation](/concepts/data-recovery/). - **DuckDB Database File Upload:** Upload DuckDB database files (.duckdb, .db) from your laptop to MotherDuck using the "Add data" menu in the MotherDuck UI. Preview tables and schemas in the UI before copying to MotherDuck. See the [documentation on loading DuckDB databases into MotherDuck](/key-tasks/loading-data-into-motherduck/loading-duckdb-database/) to learn more about using DuckDB database files. ## January 29, 2026 - **DuckDB 1.4.4:** MotherDuck supports DuckDB 1.4.4, a bugfix release. Learn more in the [official DuckDB Labs 1.4.4 announcement](https://duckdb.org/2026/01/26/announcing-duckdb-144.html) and [changelog](https://github.com/duckdb/duckdb/releases/tag/v1.4.4). ## January 23, 2026 - **Expanded MCP Server support:** The MotherDuck remote MCP Server now supports [Warp](https://www.warp.dev/), [PearAI](https://trypear.ai/), [Trae](https://www.trae.ai/), [Void](https://voideditor.com/), [Positron](https://positron.posit.co/), [Supermaven](https://supermaven.com/), [Aider](https://aider.chat/), and [JetBrains IDEs](https://www.jetbrains.com/). Use your favorite AI assistant to answer questions about your data through natural conversation. See the [MCP Server documentation](/sql-reference/mcp/) to get started. - **Add Data from Cloud Storage:** Import data from Amazon S3, Google Cloud Storage, Cloudflare R2, and others directly in the MotherDuck UI. Click "Add data" and select "From cloud storage" to browse your bucket, select files (or use Wildcard mode for patterns), preview the data, and create tables. Learn more in the [documentation for loading data from Cloud Storage](/key-tasks/loading-data-into-motherduck/loading-data-from-cloud-or-https/). ## January 8, 2026 - **Giga Ducklings on Business plan:** Users on any MotherDuck Business plan can now access [Giga Ducklings](../billing/duckling-sizes/#giga), our largest compute Duckling size, built to tackle the largest, toughest, most complex data transformations. Configure your Duckling size in [Settings > Ducklings](https://app.motherduck.com/settings/ducklings). ## December 17, 2025 - **MotherDuck MCP Server:** Your favorite AI assistant can now talk directly to your data. Connect Claude, ChatGPT, Cursor, or any MCP-compatible client to MotherDuck using the MotherDuck **remote** MCP Server at `https://api.motherduck.com/mcp`. Your agent can explore schemas, run read-only SQL queries, and answer questions about your databases through natural conversation. Learn more in the [announcement blog](https://motherduck.com/blog/analytics-agents), and [MCP Server documentation](/sql-reference/mcp/). ## December 16, 2025 - **DuckDB 1.4.3:** MotherDuck supports DuckDB 1.4.3, a bugfix release. Learn more in the [official DuckDB Labs 1.4.3 announcement](https://duckdb.org/2025/12/09/announcing-duckdb-143) and [changelog](https://github.com/duckdb/duckdb/releases/tag/v1.4.3). - **PlanetScale Postgres integration:** Users of PlanetScale Postgres can now use [pg_duckdb](/concepts/pgduckdb/) to push analytical queries to MotherDuck. Analytical queries are accelerated up to 200x faster with MotherDuck, and keep your Postgres cluster optimized for transactions. Learn more in the [announcement blog](https://motherduck.com/blog/motherduck-planetscale-integration), and [integration documentation](/integrations/databases/planetscale). - **MotherDuck destination for Artie CDC**: Artie now supports MotherDuck as a destination for CDC. Users of Artie can now stream changes from OLTP databases like PostgreSQL, MySQL, and MongoDB to MotherDuck in real-time. Learn more in the [announcement blog](https://motherduck.com/blog/motherduck-artie-integration/), and [Artie documentation](https://www.artie.com/docs/destinations/motherduck). - **Recent Queries added to `MD_INFORMATION_SCHEMA`:** On MotherDuck Business plans, the [`RECENT_QUERIES` view](/sql-reference/motherduck-sql-reference/md_information_schema/recent_queries/) provides a more realtime view of all running or completed queries across an organization. This view offers detail for queries not yet captured in the [`QUERY_HISTORY` view](/sql-reference/motherduck-sql-reference/md_information_schema/query_history/). Both views require permission to view query history, which the Admin and Builder preset roles include by default, and are accessible in the [`MD_INFORMATION_SCHEMA`](/sql-reference/motherduck-sql-reference/md_information_schema/introduction/). - **New columns for query attribution in query history:** The [`QUERY_HISTORY` view](/sql-reference/motherduck-sql-reference/md_information_schema/query_history/) along with the new [`RECENT_QUERIES` view](/sql-reference/motherduck-sql-reference/md_information_schema/recent_queries/) in the [`MD_INFORMATION_SCHEMA`](/sql-reference/motherduck-sql-reference/md_information_schema/introduction/) now contain `session_name` and `duckling_id` columns, making it easy to identify which Duckling executed each query, and group read scaling queries by [`session_name`](/key-tasks/authenticating-and-connecting-to-motherduck/read-scaling/#session-affinity-with-session-name). - **MotherDuck Wasm SDK 0.8:** The [MotherDuck Wasm Client](https://www.npmjs.com/package/@motherduck/wasm-client) now leverages a different mechanism for loading the MotherDuck Wasm extension, which makes it easier to control which version of the extension is loaded. Refer to the [documentation](/sql-reference/wasm-client/) to learn more. ## December 12, 2025 - **Query Scheduling Improvements:** Small queries now complete faster without getting stuck waiting behind large, resource-intensive queries, even when heavy queries are processing in the background - **Search Enhancements:** The search bar in the top left pane of the Object Explorer can now be used to search for schemas, tables, and columns in addition to databases and [shares](/key-tasks/sharing-data/) - **Dvorak Keyboard Support:** Dvorak keyboard shortcuts are now supported in the MotherDuck UI - **Column Comments added to the Table Summary:** In the Table Summary, users can now hover over any column name to view its comments alongside the column name and type ![Image](useBaseUrl('/img/about-motherduck/column-comments.png')) ## December 4, 2025 - **Transient storage filter in Settings:** The Databases page in Settings in the MotherDuck UI now supports filtering by [storage type](/concepts/storage-lifecycle/#transient-databases) - **`DESCRIBE` and `SUMMARIZE` exports:** Downloading the results of `DESCRIBE` and `SUMMARIZE` queries is now supported in the MotherDuck UI - **DuckLake option in the Add Database menu:** MotherDuck users can create a new [DuckLake](/integrations/file-formats/ducklake/) in the 'Add Database' modal in the left hand pane of the object explorer in the MotherDuck UI - **Inline Docs are now available in the Query Editor:** Notebook cells in the MotherDuck [query editor](/getting-started/interfaces/motherduck-quick-tour/#inline-docs) provide function information on hover, showing function signatures, parameter types, return types, and descriptions without leaving the notebook. Inline Docs can be toggled on and off by going to the Preferences page in Settings. ![Image](useBaseUrl('/img/about-motherduck/ui-inline-docs.png')) ## November 14, 2025 - **DuckDB 1.4.2:** MotherDuck supports DuckDB 1.4.2, a bugfix release. Learn more in the [official DuckDB Labs 1.4.2 announcement](https://duckdb.org/2025/11/12/announcing-duckdb-142) and [changelog](https://github.com/duckdb/duckdb/releases/tag/v1.4.2). - **Full command menu now at `Cmd/Ctrl+K`:** Access common MotherDuck UI actions from your keyboard, including generating query edits, adding notebook cells, creating notebooks, and navigating between pages. Open the command menu with `Cmd/Ctrl+K` and search for options. For quick access to [generate query edits](../../key-tasks/ai-and-motherduck/ai-features-in-ui#automatically-edit-sql-queries-in-the-motherduck-ui), use `Cmd/Ctrl+Shift+E`. (Note: `Cmd/Ctrl+Shift+P` no longer opens the command menu.) - **Run queries across multiple notebooks:** You can now run cells across multiple MotherDuck UI notebooks, and allowing each to queue and run. Hover over any notebook in the left sidebar to see how many cells are running or queued. Query cancellation is also more reliable across all notebooks. ![Image](useBaseUrl('/img/about-motherduck/multiple_notebook_run.png')) ## November 6, 2025 - **MotherDuck extends cloud coverage to Europe:** MotherDuck is now [available on AWS in Frankfurt `eu-central-1`](/concepts/architecture-and-capabilities/#the-motherduck-cloud-service); users are able to create new Organizations in Europe for lower latency and regional data residency - **Expanded AI functions support for `PROMPT()`:** The [prompt](/sql-reference/motherduck-sql-reference/ai-functions/prompt/) function now supports additional parameters; MotherDuck users can now interact with Large Language Models (LLMs) directly from SQL with more customization and improved support for struct arrays, timestamps, and date and time values - - **`return_type`:** Generate strongly-typed outputs by specifying the exact SQL type to return - **`reasoning_effort`:** Use GPT-5 models with the prompt() function - **MotherDuck Wasm SDK 0.7.0:** The [MotherDuck Wasm Client](https://www.npmjs.com/package/@motherduck/wasm-client) now supports `attach_mode='single'`, simplifying query execution and improving resource predictability when working with a single database. Refer to the [documentation](/sql-reference/wasm-client/) to learn more. - **Usernames added to Database listings in Settings:** The Databases page in [Settings](/getting-started/interfaces/motherduck-quick-tour/#settings) shows usernames for human users and service accounts when you have permission to view all organization databases. The Admin preset role includes this permission by default. - **New export options for `EXPLAIN`:** MotherDuck notebook cells now support copying or exporting [`EXPLAIN` results](/sql-reference/motherduck-sql-reference/explain/) to simplify query inspection - **Enhanced Column Explorer experience for UUIDs:** The [Column Explorer](https://motherduck.com/blog/introducing-column-explorer/) now has added support for UUIDs and fields that default to top-N values for improved column-level insights and schema exploration. Refer to the [documentation](/getting-started/interfaces/motherduck-quick-tour/#column-explorer) to learn more. ## October 24, 2025 - **Duplicate MotherDuck notebook cells:** Duplicate cells in MotherDuck UI notebooks using the cell options menu or command menu. Access the duplicate option from the three-dot options menu on any cell, or use `Cmd/Ctrl + Shift + P` to open the command menu and search for "duplicate." ![Image](useBaseUrl('/img/about-motherduck/duplicate-notebook-cell.png')) ## October 9, 2025 MotherDuck now supports DuckDB versions 1.4.0 and 1.4.1, and DuckLake version 0.3 πŸŽ‰ DuckDB 1.4 delivers performance gains with improvements like a rewritten sorting engine, more efficient small writes, and new SQL syntax including the MERGE statement. Learn more in the DuckDB [1.4.0](https://github.com/duckdb/duckdb/releases/tag/v1.4.0) and [1.4.1](https://github.com/duckdb/duckdb/releases/tag/v1.4.1) changelogs. ### Performance improvements - **[Sorting is 2x+ faster:](https://github.com/duckdb/duckdb/pull/17584)** Complete rewrite of sorting uses less memory and scales better across threads for ORDER BY, window functions, and list sorting - **[More efficient small writes:](https://github.com/duckdb/duckdb/pull/18829)** Appending small numbers of rows now writes far fewer bytes - **[5x faster checkpointing:](https://github.com/duckdb/duckdb/pull/18390)** Reuses table metadata when tables aren't altered during checkpoint - **[Parallel connection creation:](https://github.com/duckdb/duckdb/pull/18079)** Connections from instance cache can be created in parallel - **[Faster scalar functions on dictionary data:](https://github.com/duckdb/duckdb/pull/18127)** Functions on dictionary-compressed data only run once per unique value ### SQL syntax updates - **[`MERGE INTO` statement:](https://github.com/duckdb/duckdb/pull/18135)** Standard SQL upserts without requiring primary keys or indexes - **[`FILL()` window function:](https://duckdb.org/2025/09/16/announcing-duckdb-140.html#fill-window-function)** Interpolate missing values in ordered data - **[Python-style macro arguments:](https://github.com/duckdb/duckdb/pull/18684)** Macros accept positional or named arguments for any parameter - **[`STRUCT` to `MAP` cast:](https://github.com/duckdb/duckdb/pull/17799)** Direct casting between struct and map types ### Parquet improvements - **[`VARIANT` type reading:](https://github.com/duckdb/duckdb/pull/18187)** Read Parquet `VARIANT` types for faster semi-structured data processing - **[Native geometry type writes:](https://github.com/duckdb/duckdb/pull/18832)** Write native Parquet geometry types - **[Auto-globbing for directories:](https://github.com/duckdb/duckdb/pull/18760)** Automatically treats paths as directories and retries with glob patterns when no file is found Learn more in the official DuckDB Labs announcements for [1.4.0](https://duckdb.org/2025/09/16/announcing-duckdb-140.html) and [1.4.1](https://duckdb.org/2025/10/07/announcing-duckdb-141.html). While you can continue using your current version of DuckDB with MotherDuck, we encourage you to [upgrade your DuckDB clients to 1.4.1](https://duckdb.org/install) as soon as you can to take advantage of the fixes and performance improvements. ### [Preview] DuckLake 0.3 As we announced earlier this year, MotherDuck now supports [DuckLake](https://ducklake.select), an integrated data lake and catalog format. DuckLake 0.3 makes working with DuckLake more robust, including [`CHECKPOINT` for easy maintenance](https://github.com/duckdb/ducklake/pull/406), new paths for Iceberg interoperability, [spatial geometry types](https://github.com/duckdb/ducklake/pull/412), and [`MERGE INTO` support](https://github.com/duckdb/ducklake/pull/351). Learn more about using DuckLake databases in MotherDuck in the [documentation](/integrations/file-formats/ducklake), and the recent improvements in the [DuckDB Labs announcement for DuckLake 0.3](https://ducklake.select/2025/09/17/ducklake-03/). ## September 30, 2025 - **Get help from MotherDuck Experts:** Get a human helping hand with technical questions, troubleshooting, and best practices directly in the MotherDuck UI. Open "Expert help" from the Help menu to talk with our team, and you'll be notified of responses. Expert help is available with Business and Lite plans. - **Transient option for database storage retention:** Databases can now be created with transient retention, which provides a minimal retention period and no failsafe storage. This option can be useful for intermediate datasets or data easily reconstructed from external sources. Create transient databases in the UI or via [`CREATE DATABASE db_name (TRANSIENT)`](../../sql-reference/motherduck-sql-reference/create-database/#syntax). Transient databases are available with Business and Lite plans. Learn more in the [storage management documentation](/concepts/storage-lifecycle#storage-management). - **Duplicate notebooks:** Copy existing SQL notebooks to reuse query templates or create variations of your analysis. Find the duplicate option in any notebook's options menu in the left sidebar. - **Monitor database storage in the MotherDuck UI:** The updated [Databases](https://app.motherduck.com/settings/databases) page shows current and cumulative database storage footprint over time. Access requires permission to view organization-wide storage information, which the Admin preset role includes by default. Learn more in the [storage lifecycle documentation](/concepts/storage-lifecycle#breaking-down-storage-usage). ![Image](useBaseUrl('/img/about-motherduck/storage_monitor_ui.png')) ## September 10, 2025 - **Instances are now called Ducklings:** We've updated our name for instances to better reflect their purpose as dedicated and scalable DuckDB instances that provide isolated, on-demand compute for each user's analytics workload in MotherDuck. Find the familiar instance controls now in [Settings > Ducklings](https://app.motherduck.com/settings/ducklings). This release does not affect the [Admin REST API methods for instances](../../sql-reference/rest-api/motherduck-rest-api/). Learn more about how [Ducklings](../billing/duckling-sizes/) are different from standard data warehouse instances in [this blog post](https://motherduck.com/blog/scaling-duckdb-with-ducklings/). - **Rename Notebooks from the Object Explorer:** SQL notebooks can now be renamed directly from the left sidebar using a notebook's options menu. - **Enum support in `prompt` function:** The `PROMPT` SQL function now supports enum types for consistent classification outputs. See the [function documentation](../../sql-reference/motherduck-sql-reference/ai-functions/prompt/#classification-with-enums) for details and examples. - **Command menu in the MotherDuck UI:** Navigate the MotherDuck UI from your keyboard using the new command menu. Quickly access common actions like adding notebook cells, creating notebooks, and navigating between pages. Try it out with "Open command menu" in the top-left Organization dropdown, or use `Cmd/Ctrl + Shift + P` ## September 4, 2025 - **Pre-filled names for service accounts and tokens:** When creating service accounts and tokens in the [Settings > Service Accounts](/key-tasks/service-accounts-guide/manage-service-accounts-and-tokens/) page, names are now pre-filled with the following format to help differentiate between them: - _Service Accounts:_ `{creator_username}_service_account_{number}` - _Read-Write Tokens:_ `{sa_username}_read_write_token_{number}` - _Read-Scaling Tokens:_ `{sa_username}_read_scaling_token_{number}` - **DuckLake database icon in the MotherDuck UI:** [DuckLake-backed databases](/concepts/ducklake/) now display a distinct icon to easily distinguish them from databases using MotherDuck native storage. ## August 21, 2025 - **Support for H3 Spatial Indexing Extension:** MotherDuck now supports the [H3 DuckDB Extension](https://duckdb.org/community_extensions/extensions/h3.html), which adds support for the [H3 hierarchical hexagonal grid system](https://h3geo.org/) for geospatial analysis. This extension is pre-installed in MotherDuck, and users are not required to install this extension. ## August 13, 2025 - **GPT 5 Support in `prompt` function**: The `PROMPT` function now supports OpenAI's GPT 5 series models. Refer to the [function documentation](../../sql-reference/motherduck-sql-reference/ai-functions/prompt/) for more details. ## August 12, 2025 - **Display Preformatted VARCHAR values:** VARCHAR results in the MotherDuck UI data value pane now support display of preformatted text. - **Format SQL in MotherDuck Notebook:** Format any SQL statement using the new **Format** button in the notebook cell options menu, or with `Option/Alt + Cmd/Ctrl + O`. When text is selected, only the selection is formatted. ## August 8, 2025 - **Test S3 Credentials:** MotherDuck users can now test S3 credentials directly in the MotherDuck UI on the Secrets page in Settings when adding new S3 secrets. - **Support for DuckDB Configuration Options:** With this release, MotherDuck now correctly respects [DuckDB configuration options](https://duckdb.org/docs/stable/configuration/overview.html) and their local defaults, including extension settings like TimeZone. Broader coverage of additional configuration options is planned for the upcoming [DuckDB 1.4 release](https://duckdb.org/release_calendar.html). ## July 31, 2025 - **Updated FixIt Keyboard Shortcut:** The `Escape` key can now be used to reject [FixIt](/key-tasks/ai-and-motherduck/ai-features-in-ui/#automatically-fix-sql-errors-in-the-motherduck-ui) suggestions, providing a quicker way to dismiss generated SQL fixes. - **Generate Notebook Names:** Get descriptive, context-aware names for notebooks in the MotherDuck UI based on their SQL content. Click the new "Generate name from SQL" button to the left of a notebook's name to try it out. Available for users in MotherDuck's Business and Lite plans. ## July 25, 2025 - **Data Grid UX Improvements:** Data grids now include row numbers to make it easier to explore query results and reference specific rows. Users can now select multiple rows by clicking row numbers with the shift-key modifier. - **New UX for FixIt:** [FixIt](/key-tasks/ai-and-motherduck/ai-features-in-ui/#automatically-fix-sql-errors-in-the-motherduck-ui) now includes keybindings for the toggles to accept and reject suggestions and turn automatic suggestions on and off. - **`Cmd/Ctrl + Enter`:** Accept suggestion and run query - **`Cmd/Ctrl + Shift + Backspace`:** Reject suggestion ## July 16, 2025 - **NEW - Larger Compute Instances:** MotherDuck now offers two new memory-rich compute duckling (instance) types, **Mega** and **Giga**, built to run at high-capacity for the largest, most demanding jobs. Learn more in the [launch blog](https://motherduck.com/blog/announcing-mega-giga-instance-sizes-huge-scale) and [Docs](/about-motherduck/billing/duckling-sizes/). ## July 14, 2025 - **DuckDB 1.3.2:** MotherDuck supports DuckDB 1.3.2, a bugfix release. Additional details are available in the [DuckDB 1.3.2 changelog](https://github.com/duckdb/duckdb/releases/tag/v1.3.2). - **The Settings Button has Moved to the Org Dropdown:** Settings has moved from the left sidebar into the Organization dropdown at the top left for easier access and a cleaner layout. - **Platform administration enhancements:** The MotherDuck UI adds better visibility and permission-based controls for managing tokens, service accounts, and storage. The Admin preset role includes all of these permissions by default, while Builder includes service-account management. - **New Service Accounts Page in Settings:** The [Service Accounts](/key-tasks/service-accounts-guide/manage-service-accounts-and-tokens/) section of MotherDuck settings lets users with permission to view and manage service accounts and tokens perform those actions. The Admin and Builder preset roles include these permissions by default. - **Impersonation of Service Accounts:** Users with permission to impersonate service accounts can temporarily [impersonate a service account](/key-tasks/service-accounts-guide/impersonate-service-accounts/) in the MotherDuck UI. The Admin and Builder preset roles include this permission by default. - **Storage Usage History added to `MD_INFORMATION_SCHEMA`:** The [`STORAGE_INFO_HISTORY` view](/sql-reference/motherduck-sql-reference/md_information_schema/storage_info/) in the [`MD_INFORMATION_SCHEMA`](/docs/sql-reference/motherduck-sql-reference/md_information_schema/introduction/) provides up to 30 days of historical storage data. Access requires permission to view organization-wide storage information, which the Admin preset role includes by default. Each record includes a `result_ts` timestamp showing when the storage metrics were calculated. ## July 01, 2025 **[Preview] DuckLake Support**: MotherDuck now supports [DuckLake](https://ducklake.select), an integrated data lake and catalog format. - MotherDuck currently provides two options for creating and integrating with DuckLake databases: - **Fully managed**: MotherDuck manages both data storage and metadata - **Bring your own bucket (BYOB)**: Connect your S3-compatible object storage with options for: - MotherDuck compute + MotherDuck catalog - Bring-your-own-compute (BYOC) + MotherDuck catalog Learn more in the [documentation](/integrations/file-formats/ducklake) and [announcement blog](https://motherduck.com/blog/announcing-ducklake-support-motherduck-preview/). ## June 26, 2025 - **Chat Widget Optimization:** Users can now view their inline edit history in a more compact chat widget and quickly request follow-up changes when needed. - ![Image](useBaseUrl('/img/about-motherduck/chat-widget-optimization.png')) - **Improved Boolean cell styling:** Boolean values in the data grid now have distinct visual weights to make it easier to visually scan result sets and prevent confusion with empty cells. ![Image](useBaseUrl('/img/about-motherduck/boolean-cell-styling.png')) ## June 18, 2025 - **DuckDB 1.3.1:** MotherDuck supports DuckDB 1.3.1, a bugfix release. Additional details are available in the [DuckDB 1.3.1 changelog](https://github.com/duckdb/duckdb/releases/tag/v1.3.1). - **`PIVOT` statements in MotherDuck UI:** The MotherDuck UI now supports [`PIVOT` statements](https://duckdb.org/docs/stable/sql/statements/pivot.html), with pivot columns also appearing in the Column Explorer. `PIVOT` transforms distinct column values into separate columns with aggregated data. - **New `STORAGE_INFO` View in `MD_INFORMATION_SCHEMA`:** The [`STORAGE_INFO` view](/sql-reference/motherduck-sql-reference/md_information_schema/storage_info/) in the [`MD_INFORMATION_SCHEMA`](/sql-reference/motherduck-sql-reference/md_information_schema/introduction/) provides detailed storage breakdowns per database. Access requires permission to view organization-wide storage information, which the Admin preset role includes by default. ## June 12, 2025 - **Improved query execution UX:** After 5 seconds, the run button now displays a timer showing how long the query has been running. It also offers clearer visual cues for canceling a query on mouseover and focus. ## June 5, 2025 - **Overwrite a database with a zero-copy clone:** The new [`COPY FROM DATABASE (OVERWRITE)` command](/sql-reference/motherduck-sql-reference/copy-database-overwrite/) replaces all data in the target database with the source's contents in a single atomic operation, waiting for active writes to finish and blocking new ones during the process. - **Copy SQL definitions for views from the Object Explorer:** The dropdown menu for views in the left-hand panel of the MotherDuck UI now lets you copy the associated SQL definition without opening the table summary. ## May 29, 2025 MotherDuck now supports DuckDB version 1.3.0 πŸŽ‰ DuckDB 1.3.0 improves performance in real-world scenarios for faster queries, new SQL syntax, and smarter Parquet file handling. Learn more in the [changelog](https://github.com/duckdb/duckdb/releases/tag/v1.3.0) here. ### Parquet improvements - **[New `TRY()` expression for safer queries:](https://duckdb.org/2025/05/21/announcing-duckdb-130.html#try-expression)** More graceful handling for bad data by returning `NULL` instead of an error on problematic rows - **[Pushdown of arbitrary expressions into scans:](https://github.com/duckdb/duckdb/pull/16430)** Reductions in unnecessary data processing to deliver up to 30x faster queries - **[Pushdown of inequality conditions into joins:](https://github.com/duckdb/duckdb/pull/16508)** Major speedups for incremental dbt models and join-heavy queries ### SQL syntax updates - **[Python-style lambda syntax:](https://github.com/duckdb/duckdb/pull/17235)** You can now use `lambda x: x + 1` instead of `x -> x + 1`; the old syntax is deprecated, but still supported. - **[`cast_to_type()` function:](https://github.com/duckdb/duckdb/pull/17209)** Dynamically cast values to match column types - useful in generic expressions and `CASE` statements when writing macros. - **[Recursive JSON access:](https://github.com/duckdb/duckdb/pull/17406)** New `json_each()` and `json_tree()` functions make it easier to traverse nested JSON structures. - **[Struct field updates:](https://github.com/duckdb/duckdb/pull/17003)** Individual fields in structs can now be modified using `ALTER`; all fields are rewritten even if only one is updated. - **[Prepared statements metadata:](https://github.com/duckdb/duckdb/pull/16541)** The `duckdb_prepared_statements()` function returns all prepared statements in the session. - **[More flexible type definitions:](https://github.com/duckdb/duckdb/pull/17404)** Support has been added for `CREATE OR REPLACE TYPE`, `CREATE TYPE IF NOT EXISTS`, and `CREATE TEMPORARY TYPE`. - **[Preserved order for `OR` filters:](https://github.com/duckdb/duckdb/pull/17180)** Execution now preserves the order of clauses in `WHERE` conditions using `OR`. - **[Function alias visibility:](https://github.com/duckdb/duckdb/pull/16600)** `duckdb_functions()` now returns aliases in addition to the function outputs. ### Parquet improvements - **[Late materialization:](https://github.com/duckdb/duckdb/pull/17036)** Queries are 3–10x faster with `LIMIT` due to deferred column loading - **[~15% average speedup on reads:](https://github.com/duckdb/duckdb/pull/16595)** New scan and filter efficiency improvements - **[30%+ faster write throughput:](https://github.com/duckdb/duckdb/pull/17061)** Improved multithreaded export performance - **[Better compression for large strings:](https://github.com/duckdb/duckdb/pull/17164)** Large string values are now dictionary-compressed - **[Smarter rowgroup combining:](https://github.com/duckdb/duckdb/pull/17118)** Files are more efficient due to merging small rowgroups at write time Learn more in the official [DuckDB Labs 1.3.0 announcement](https://duckdb.org/2025/05/21/announcing-duckdb-130.html). While you can continue using your current version of DuckDB, we encourage you to [upgrade your DuckDB clients to 1.3.0](https://duckdb.org/docs/installation/?version=stable&environment=cli&platform=macos&download_method=package_manager) as soon as you can to take advantage of the fixes and performance improvements. ### Additional updates from this release are outlined below - - Query results now display in a redesigned table that delivers enhanced performance when viewing and exploring data - column headers now include type information for better context. Additional table functionality, including sorting and filtering of results, is coming in future releases. ## May 22, 2025 - **Faster queries on complex filters and wide tables:** We've significantly boosted performance for queries with IN filters, selective joins, and LIMIT clauses. Expect noticeable speedups on wide tables or those with large string or JSON columns. - **New keybindings for power users:** - Toggle Instant SQL for the current SQL cell: `cmd/ctrl+shift+.` - Toggle Object Explorer: `cmd/ctrl+b` - Toggle Inspector (Column Explorer): `cmd/ctrl+i` - Toggle worksheet mode for the current SQL cell: `cmd/ctrl+e` - **Org-wide Active Accounts:** The [Active Accounts](https://app.motherduck.com/settings/active-accounts) section of MotherDuck settings shows all active accounts and their associated Ducklings. Access requires permission to view active accounts across the organization, which the Admin and Builder preset roles include by default. - **Smarter Instant SQL caching:** Instant SQL now accounts for filters in your WHERE clause when building its cache, offering a greater number of relevant rows as you work. - **Full row count in flat table results:** SQL cells now display a full result row count when viewing results in "flat" table mode. - **GPT 4.1 Support in `prompt` function**: The `PROMPT` function now supports OpenAI's GPT 4.1 series models. Refer to the [function documentation](../../sql-reference/motherduck-sql-reference/ai-functions/prompt/) for more details. ## May 16, 2025 - **Multiple SQL statements now supported in Instant SQL:** Execute individual statements within multi-statement SQL cells by clicking on the desired statement while [Instant SQL](https://motherduck.com/blog/introducing-instant-sql/) is enabled. - **Copy Table Names directly from Object Explorer:** Use the options menu on any table in the Object Explorer to copy its name to your clipboard. Paste exact table references into any SQL editorβ€”eliminating typos and saving time when writing queries. For earlier updates, see the [release notes archive](/about-motherduck/release-notes-archive/). --- Source: https://motherduck.com/docs/about-motherduck/release-notes-archive # Release notes archive > Archived MotherDuck release notes. The full content for this page is omitted from `llms-full.txt` because it is a long chronological archive. Use the source page for archive details: https://motherduck.com/docs/about-motherduck/release-notes-archive. --- Source: https://motherduck.com/docs/about-motherduck/feature-stages # Feature stages > Understanding MotherDuck's feature lifecycle stages β€” Preview and Generally Available. MotherDuck features go through lifecycle stages before they are considered stable and production-ready. ## Preview A feature in **preview** is available for use but may be operationally incomplete. Preview features: - May have limited backward compatibility - Are subject to change without notice - Are not covered by MotherDuck's SLA - May have limited support Preview features are a great way to try out new functionality and provide feedback. If you have questions or feedback about a preview feature, connect with us in our [Community Slack](https://slack.motherduck.com/) or email support@motherduck.com. ## Generally Available (GA) A feature that is **generally available** is stable, production-ready, and fully supported. GA features: - Have full backward compatibility guarantees - Are covered by MotherDuck's SLA - Receive full support --- Source: https://motherduck.com/docs/about-motherduck/cloud-regions # Cloud regions > The cloud providers and AWS regions where MotherDuck is available, along with pricing tiers, client version support, and regional AI processing. MotherDuck runs on **Amazon Web Services (AWS)**. Each MotherDuck Organization is scoped to a single cloud region, which is chosen at Organization creation when you sign up and cannot be changed afterward. ## Available regions MotherDuck is available in six AWS regions across the US, Europe, and Asia Pacific: | Tier | AWS Region | |------|--------| | **Tier 1** | US East (N. Virginia) `us-east-1` | | **Tier 1** | US West (Oregon) `us-west-2` | | **Tier 2** | Europe (Frankfurt) `eu-central-1` | | **Tier 2** | Europe (Dublin) `eu-west-1` | | **Tier 3** | Asia Pacific (Tokyo) `ap-northeast-1` | | **Tier 3** | Asia Pacific (Sydney) `ap-southeast-2` | To check which region your Organization runs in, run [`SELECT region FROM md_user_info();`](/sql-reference/motherduck-sql-reference/md-user-info). We are working on expanding to other regions and cloud providers. ## Pricing tiers Compute and storage rates vary by region. Regions are grouped into three pricing tiers: | Tier | AWS Regions | |------|---------| | **Tier 1** | US East (N. Virginia) `us-east-1`, US West (Oregon) `us-west-2` | | **Tier 2** | Europe (Frankfurt) `eu-central-1`, Europe (Dublin) `eu-west-1` | | **Tier 3** | Asia Pacific (Tokyo) `ap-northeast-1`, Asia Pacific (Sydney) `ap-southeast-2` | For the per-tier compute and storage rates, see the [Pricing model](/about-motherduck/billing/pricing/#compute-pricing). ## Client version support Each region supports a range of DuckDB client versions. The Asia Pacific regions support client versions 1.4.1 through 1.5.5. | Tier | AWS Region | Minimum client version | Maximum client version | |------|--------|------------------------|------------------------| | **Tier 1** | US East (N. Virginia) `us-east-1` | 1.4.0 | 1.5.5 | | **Tier 1** | US West (Oregon) `us-west-2` | 1.4.1 | 1.5.5 | | **Tier 2** | Europe (Frankfurt) `eu-central-1` | 1.4.1 | 1.5.5 | | **Tier 2** | Europe (Dublin) `eu-west-1` | 1.4.1 | 1.5.5 | | **Tier 3** | Asia Pacific (Tokyo) `ap-northeast-1` | 1.4.1 | 1.5.5 | | **Tier 3** | Asia Pacific (Sydney) `ap-southeast-2` | 1.4.1 | 1.5.5 | For the full lifecycle and end-of-life policy, see [MotherDuck version lifecycle schedules](/troubleshooting/version-lifecycle-schedules/). ## AI functions [AI functions](/sql-reference/motherduck-sql-reference/ai-functions/) are processed based on the region of your Organization. In the Asia Pacific (Sydney) `ap-southeast-2` and Asia Pacific (Tokyo) `ap-northeast-1` regions, AI function requests are processed through a **US-based** endpoint rather than within the organization's own AWS region, so the input you pass to these functions leaves the region for processing. See the [AI function reference pages](/sql-reference/motherduck-sql-reference/ai-functions/) for data residency details. ## Region-scoped behavior - **Single region per Organization.** An Organization exists in exactly one region and cannot span regions. - **Shares are region-scoped.** A share is only accessible to MotherDuck users whose Organization is in the same cloud region as the share. See [Sharing data](/key-tasks/sharing-data/). - **Data locality.** For the best performance, keep source data (for example, in Amazon S3) in the same region as your Organization. - **Postgres endpoint.** The [Postgres endpoint](/sql-reference/postgres-endpoint/) hostname is regional, in the form `pg.-aws.motherduck.com`. --- Source: https://motherduck.com/docs/about-motherduck/legal # Legal > Terms of service, privacy policy, and other legal documents for MotherDuck. ## Product Terms of Service [MotherDuck Product Terms of Service](https://motherduck.com/terms-of-service/) [Products and Fees Addendum](https://motherduck.com/fees-addendum/) [Acceptable Use Policy](https://motherduck.com/acceptable-use-policy/) [Support Policy](https://motherduck.com/support-policy/) --- Source: https://motherduck.com/docs/about-motherduck/about-motherduck # About MotherDuck > Plans and billing, cloud regions, feature stages, release notes, and legal information for MotherDuck. ## Included pages - [Release notes](https://motherduck.com/docs/about-motherduck/release-notes): Latest updates, new features, and improvements to MotherDuck. - [Release notes archive](https://motherduck.com/docs/about-motherduck/release-notes-archive): Archived MotherDuck release notes. - [Feature stages](https://motherduck.com/docs/about-motherduck/feature-stages): Understanding MotherDuck's feature lifecycle stages β€” Preview and Generally Available. - [Cloud regions](https://motherduck.com/docs/about-motherduck/cloud-regions): The cloud providers and AWS regions where MotherDuck is available, along with pricing tiers, client version support, and regional AI processing. - [Billing](https://motherduck.com/docs/about-motherduck/billing): Learn more about MotherDuck's pricing model and how to manage billing. - [Legal](https://motherduck.com/docs/about-motherduck/legal): Terms of service, privacy policy, and other legal documents for MotherDuck. --- Source: https://motherduck.com/docs/about-motherduck/billing/pricing # Pricing model > Details of MotherDuck's pricing model. ## MotherDuck pricing model MotherDuck is a serverless cloud data warehouse built on DuckDB. We believe in providing our users with simple pricing. MotherDuck offers two self-serve [plans](https://motherduck.com/pricing/): Lite and Business. :::note MotherDuck is available on AWS in six regions across the US, Europe, and Asia Pacific. Each MotherDuck Organization is scoped to a single cloud region that must be chosen at Org creation when signing up. Compute and storage rates vary by region and are grouped into three pricing tiers. See [Cloud regions](/about-motherduck/cloud-regions/) for the full list. ::: ### Plan comparison | Feature | Lite | Business | Enterprise | |---------|------|----------|------------| | **Best for** | Individual users, small projects | Teams and organizations | Bespoke deployments: *[Contact us](https://motherduck.com/contact-us/product-expert/)* | | **Platform fee** | $0/month | $250/month | *Custom* | | **Compute included** | Includes 10 Compute Unit (CU) hours / month + [Pay-as-you-go for additional usage](#compute-pricing) | [Pay-as-you-go for additional usage](#compute-pricing) | *Custom* | | **[Duckling sizes](https://motherduck.com/docs/about-motherduck/billing/duckling-sizes/)** | Pulse only | Pulse, Standard, Jumbo, Mega, Giga | Pulse, Standard, Jumbo, Mega, Giga | | **[Read Scaling](https://motherduck.com/docs/key-tasks/authenticating-and-connecting-to-motherduck/read-scaling/)** | - | Yes | Yes | | **[Flights](/concepts/flights#availability-and-plan-limits)** | 30 min compute / day, on-demand runs (no credit card required); monthly compute allocation + [usage-based pricing](#compute-pricing) with a credit card, plus scheduling and unlimited concurrent runs (1-hour maximum per run) | [Usage-based pricing](#compute-pricing) includes scheduling and unlimited concurrent runs (8-hour maximum per run) | *Custom* | | **[Storage included](/concepts/storage-lifecycle/)** | Includes 10 GB / month + [Pay-as-you-go for additional usage](#compute-pricing) | [Pay-as-you-go for additional usage](#storage-pricing) | *Custom* | | **Users** | 3 active users / 2 service accounts | 10 active users / unlimited service accounts | *Custom* | | **SLA** | - | 99.9% Availability | 99.9% Availability | | **Backup** | 1 day (paid feature) | - [Point-in-time Restore](https://motherduck.com/docs/concepts/data-recovery/)
- up to 90 day backups | *Custom* | | **Observability** | - | [Query history](/docs/sql-reference/motherduck-sql-reference/md_information_schema/query_history/) | [Query history](/docs/sql-reference/motherduck-sql-reference/md_information_schema/query_history/) | **Users** are defined as human users with a login through email + password, Google, GitHub, or [SSO](/docs/key-tasks/authenticating-and-connecting-to-motherduck/authenticating-to-motherduck/sso-setup/), while **[Service Accounts](/docs/key-tasks/service-accounts-guide/)** are defined as non-human accounts designed for programmatic access and automation workflows (for example, backend services, integrations, or customer-facing analytics). Flights are available on all plans. Compute limits, scheduling, and per-run caps vary by plan. Lite plan users can access scheduling and unlimited concurrent runs by adding a credit card. See [Flights](/concepts/flights#availability-and-plan-limits) for details. ### Compute pricing A **Duckling** in MotherDuck is a compute instance. There are 5 Duckling sizes available on the Business plan: Pulse, Standard, Jumbo, Mega, and Giga. MotherDuck meters compute per-second. While Standard, Jumbo, Mega, and Giga Ducklings are billed for *wall clock time*, Pulse Ducklings are metered on a per-query basis to support variable, ad-hoc queries. As a result, they are on-demand and auto-scaling. Non-Pulse Ducklings have a **cooldown period**, which is the amount of time the Duckling will remain active after completing the last query. This keeps the Duckling warm for follow-up queries that may benefit from MotherDuck's intelligent storage and caching. The cooldown period is [configurable](/about-motherduck/billing/duckling-sizes/#configuring-the-cooldown-period) for Standard, Jumbo, Mega, and Giga Ducklings, with a 1-minute minimum. ::::note Pulse Ducklings are metered on a *per-query basis, with a minimum of 1 Compute Unit (CU) second* instead of wall-clock time: They do not have a configurable cooldown. A **Compute Unit (CU)** is defined as *the amount of CPU and memory usage over time*. :::: If you want to group query history by integration, pipeline, or tenant, set `custom_user_agent` when connecting to MotherDuck and query [`MD_INFORMATION_SCHEMA.QUERY_HISTORY`](/sql-reference/motherduck-sql-reference/md_information_schema/query_history/). See [Tag workloads with custom user agents](/about-motherduck/billing/tag-workloads-with-custom-user-agents/) for an example pattern. Some teams use that breakdown in internal allocation, but MotherDuck billing still follows the pricing model on this page. The [`SHUTDOWN` and `SHUTDOWN TERMINATE`](/sql-reference/motherduck-sql-reference/shutdown-terminate/) commands can be used to shut down a Duckling without waiting for the cooldown period. `SHUTDOWN` waits for running queries to complete, and `SHUTDOWN TERMINATE` force-terminates immediately. #### Duckling sizes | Duckling | Billing | Default Cooldown | Configurable Cooldown Period | Details | |----------|---------|------------------|------------------------------|---------| | [Pulse](/about-motherduck/billing/duckling-sizes/#pulse) | Per Compute Unit (CU) (resources consumed), not wall-clock time | N/A | N/A | Small, variable queries, read-heavy workloads, and frontend scenarios. For compute-heavy queries, consider Standard instead.
**Billing example:** 2 queries x 10s = 20 CU seconds. | | [Standard](/about-motherduck/billing/duckling-sizes/#standard) | Per second | 1 minute | 1 min to 24 hours | General purpose data warehouse workloads.
**Billing example:** 5 queries Γ— 30s + 100ms startup + 60s cooldown = 210 seconds. | | [Jumbo](/about-motherduck/billing/duckling-sizes/#jumbo) | Per second | 1 minute | 1 min to 24 hours | Large-scale data warehouse workloads.
**Billing example:** 2 queries Γ— 8min + 100ms startup + 60s cooldown = 17 minutes. | | [Mega](/about-motherduck/billing/duckling-sizes/#mega) | Per second | 5 minutes | 1 min to 24 hours | Demanding jobs and large-scale workloads.
**Billing example:** 2 queries Γ— 8min + few min startup + 5min cooldown = ~21 minutes. | | [Giga](/about-motherduck/billing/duckling-sizes/#giga) | Per second | 10 minutes | 1 min to 24 hours | Batch jobs and overnight or weekend processing.
**Billing example:** 2 queries Γ— 5min + few min startup + 10min cooldown = ~20 minutes. | :::note Changing your Duckling size to Pulse, Standard, or Jumbo through the [UI or REST API](../../../sql-reference/rest-api/motherduck-rest-api) may take up to 2 minutes. Switching to a Mega takes up to 5 minutes, while switching to a Giga takes up to 10 minutes. ::: #### **Compute** Compute pricing depends on the [cloud region](/about-motherduck/cloud-regions/) your Organization runs in. Regions are grouped into three pricing tiers: | Tier | AWS Regions | |------|--------| | **Tier 1** | US East (N. Virginia) `us-east-1`, US West (Oregon) `us-west-2` | | **Tier 2** | Europe (Frankfurt) `eu-central-1`, Europe (Dublin) `eu-west-1` | | **Tier 3** | Asia Pacific (Tokyo) `ap-northeast-1`, Asia Pacific (Sydney) `ap-southeast-2` | **Business Plan** | Tier | AWS Regions | Pulse | Standard | Jumbo | Mega | Giga | |------|--------|-------|----------|-------|------|------| | **Tier 1** | US East (N. Virginia) `us-east-1`, US West (Oregon) `us-west-2` | $0.60 per hour | $2.40 per hour | $4.80 per hour | $12.00 per hour | $24.00 per hour | | **Tier 2** | Europe (Frankfurt) `eu-central-1`, Europe (Dublin) `eu-west-1` | $0.73 per hour | $2.93 per hour | $5.86 per hour | $14.65 per hour | $29.30 per hour | | **Tier 3** | Asia Pacific (Tokyo) `ap-northeast-1`, Asia Pacific (Sydney) `ap-southeast-2` | $0.77 per hour | $3.10 per hour | $6.19 per hour | $15.48 per hour | $30.96 per hour | **Lite Plan** | Tier | AWS Regions | Pulse | |------|--------|-------| | **Tier 1** | US East (N. Virginia) `us-east-1`, US West (Oregon) `us-west-2` | $0.60 per hour | | **Tier 2** | Europe (Frankfurt) `eu-central-1`, Europe (Dublin) `eu-west-1` | $0.73 per hour | | **Tier 3** | Asia Pacific (Tokyo) `ap-northeast-1`, Asia Pacific (Sydney) `ap-southeast-2` | $0.77 per hour | :::note The Lite plan includes 10 CU hours on Pulse per month. Additional usage is billed at the rates above. ::: ### Storage pricing Under the hood, MotherDuck uses DuckDB's compression algorithms to reduce the storage footprint and optimize performance. MotherDuck charges for data stored in its managed storage system based on your **average storage usage over the billing period**. Your monthly bill is calculated as the average of your daily storage (in GB) multiplied by the per-GB rate. For example, if your MotherDuck Organization is in `us-east-1` and your average storage over December is 650 GB, the final bill will be computed as follows: - 650 GB Γ— $0.04/GB = **$26.00** #### What counts towards my storage bill? - **Standard databases:** MotherDuck provides point-in-time restore by retaining historical data as `historical_bytes` for organizations on paid plans. - **Transient databases:** Databases can be set as `TRANSIENT` [at database creation](/concepts/storage-lifecycle#storage-management). Transient databases are billed for active data stored and a 1-day failsafe minimum. Data is not retained as failsafe bytes beyond this minimum, which is ideal for temporary or reproducible datasets like intermediate job outputs. - **NOTE:** By default, for both Standard and Transient databases, new databases retain 1 day of historical data on **Lite** (paid) and 7 days of historical data on **Business** - Business plan users are able to configure their `historical_bytes` retention window from 0 to 90 days. Users are billed for active data plus historical, retained, and failsafe bytes. Refer to the [Storage Lifecycle](/concepts/storage-lifecycle) for more details. #### What does not count towards my storage bill? - [Shares](/key-tasks/sharing-data) do not incur additional data storage as they are a zero-copy operation. - Using the [CREATE DATABASE X FROM DATABASE Y](/sql-reference/motherduck-sql-reference/create-database/) command is also a zero-copy operation. Only incremental changes made to the new database are added to storage as `active_bytes`, while active Shares that point to a deleted databases will retain `retained_for_clone_bytes`. - Any data managed by you in your own object storage bucket, for example S3, Blob, or GCS, that you can use to process data. - Data on your laptop accessed through the `duckdb -ui`, even when signed into MotherDuck. #### What changes can I make to optimize my storage bill? The right approach to optimize storage usage in MotherDuck varies by use case and implementation. Please reach out to us at support@motherduck.com for additional guidance on how to optimize your storage effectively for your needs. #### **Storage rates** Storage pricing depends on the [cloud region](/about-motherduck/cloud-regions/) your Organization runs in, using the same [tiers](/about-motherduck/cloud-regions/#pricing-tiers) as compute: | Tier | AWS Regions | Cost per GB/month | |------|---------| ---------| | **Tier 1** | US East (N. Virginia) `us-east-1`, US West (Oregon) `us-west-2` | $0.04 / GB | | **Tier 2** | Europe (Frankfurt) `eu-central-1`, Europe (Dublin) `eu-west-1` | $0.043 / GB | | **Tier 3** | Asia Pacific (Tokyo) `ap-northeast-1`, Asia Pacific (Sydney) `ap-southeast-2` | $0.044 / GB | Storage is billed based on your **average usage** over the billing period. :::note Lite plan includes 10 GB of free storage. Additional storage is billed at the rates above. ::: ### AI function pricing MotherDuck enhances your analytical capabilities with integrated AI functions. These functions leverage powerful large language models (LLMs), fine-tuned to assist with SQL tasks and unlock new OLAP use cases. AI functions are categorized and priced as follows: - **SQL Assistant Functions**: metered per call, with some free features. - **Advanced AI Functions**: metered per token consumed for both input and output, priced in AI Units (1 AI Unit = $1.00). ### SQL assistant functions These features, including [FixIt](/docs/getting-started/interfaces/motherduck-quick-tour/#help-me-fix-this-broken-query--fixit) and [Text-to-SQL](/docs/sql-reference/motherduck-sql-reference/ai-functions/sql-assistant/prompt-sql/), help you write, understand, and correct SQL queries. SQL Assistant features are included with both Lite and Business plans. | SQL Assistant Functions | Price | Unit | | :--------------------------------------------- | :-------- | :------------ | | FixIt | FREE | per call | | SQL Assistant (Text-to-SQL, Explain SQL, etc.) | 1 AI Unit | for 60 calls | ### Advanced AI functions These functions provide access to powerful generative AI models for tasks like embedding generation and complex prompting. They are metered based on token usage, with costs calculated in AI Units (1 AI Unit = $1.00). :::note For Lite and Business plans, there is a default soft limit on Advanced AI Function consumption of 10 AI Units per day to help control costs. This limit can be increased or removed by contacting support@motherduck.com. ::: **Embedding Models** | Embedding Model Name | Price | Tokens per AI Unit | | :------------------------------------ | :-------- | :------------------ | | OpenAI text-embedding-3-small | 1 AI Unit | 15,000,000 tokens | | OpenAI text-embedding-3-large | 1 AI Unit | 3,000,000 tokens | **Generative Prompt Models** | Provider | Model Name | Price | Input Tokens (per AI Unit) | Output Tokens (per AI Unit) | Blended Tokens (per AI Unit) | | :------- | :--------------- | :-------- | :------------------------- | :-------------------------- | :--------------------------- | | OpenAI | GPT-5 | 1 AI Unit | 240,000 | 30,000 | 100,000 | | OpenAI | GPT-5-mini | 1 AI Unit | 1,200,000 | 150,000 | 500,000 | | OpenAI | GPT-5-nano | 1 AI Unit | 6,000,000 | 750,000 | 2,500,000 | | OpenAI | GPT-4.1 | 1 AI Unit | 150,000 | 37,500 | 93,750 | | OpenAI | GPT-4.1-mini | 1 AI Unit | 750,000 | 187,500 | 468,750 | | OpenAI | GPT-4.1-nano | 1 AI Unit | 3,000,000 | 750,000 | 1,875,000 | | OpenAI | GPT-4o | 1 AI Unit | 120,000 | 30,000 | 75,000 | | OpenAI | GPT-4o-mini | 1 AI Unit | 2,000,000 | 500,000 | 1,250,000 | ## Incentive programs: ### Free trial New users who sign up for MotherDuck and create an organization automatically get access to a 7-day Free Trial without entering a credit card. [Learn how to manage your plan after the trial has ended.](/about-motherduck/billing/managing-billing/#choosing-your-billing-plan) At any point during your Free Trial, you may choose to set up billing and select a plan. At the end of your trial, you can continue with the Lite plan (no credit card required) or upgrade to Business for additional features. [Learn more about managing your bill](/about-motherduck/billing/managing-billing/#choosing-your-billing-plan). --- Source: https://motherduck.com/docs/about-motherduck/billing/managing-billing # Manage billing > Learn how to manage your MotherDuck spend, choose plans, monitor usage, and view invoices. This guide explains how to manage your MotherDuck billing, including selecting a plan that suits your needs, keeping track of your usage, and understanding your invoices. Viewing invoices, updating payment methods, and selecting a plan each require permission for that action. The Admin preset role includes these permissions by default. Organization-wide query activity and Duckling usage use separate monitoring permissions, which the Admin and Builder preset roles include. See [Roles and access control](/concepts/roles-and-access-control/#what-each-role-can-do) for the complete capability matrix. ## Choosing your billing plan MotherDuck offers a variety of [plans with different features and pricing](/about-motherduck/billing/pricing/). During your initial 7-day Free Trial of the Business Plan, you can explore the full set of MotherDuck's capabilities. Afterwards, or at any time during the trial, you can select a plan by navigating to the [Plans page](https://app.motherduck.com/settings/plans) in Settings within the MotherDuck UI: - **Continue with Lite Plan**: If you select "Lite" your organization will continue on the [Lite Plan](/about-motherduck/billing/pricing/#plan-comparison). This plan includes 10 Compute-Unit (CU) hours on Pulse and 10 GB of storage per month at no cost. Additional usage is billed on a pay-as-you-go basis. - **Upgrade to Business Plan**: Selecting "Business" moves your organization to the [Business Plan](/about-motherduck/billing/pricing/#plan-comparison), designed for teams with features like 10 users, unlimited service accounts, access to all five Duckling sizes, a 99.9% availability SLA, [read scaling](/key-tasks/authenticating-and-connecting-to-motherduck/read-scaling/), and a configurable snapshot retention period of 0 - 90 days. For details on the features and allowances of each plan, please refer to our [Pricing Model documentation](/about-motherduck/billing/pricing/). ## Monitoring usage You can monitor your organization's Compute and Storage usage from the [Billing page](https://app.motherduck.com/settings/billing) in the MotherDuck UI. - **Compute usage** is displayed in Compute Unit (CU) hours. Learn more about [how compute is priced](/about-motherduck/billing/pricing/#compute-pricing). - **Storage usage** is displayed as your average storage in GB over the billing period. Learn more about [how storage is priced](/about-motherduck/billing/pricing/#storage-pricing). Your storage bill is calculated based on your average daily storage over the month. For example, if you store 10 GB for half the month and 20 GB for the other half, your average is 15 GB. Historical data retention (default 1 day (Lite) or 7 days (Business) for new databases) also contributes to your storage usage. ![Usage](img/billing.png) ## Viewing your invoice The [Billing page](https://app.motherduck.com/settings/billing) also lets you view your past invoices, as well as the current month's invoice thus far. - **Lite Plan users** see invoices for any usage beyond the included 10 Compute Unit (CU) hours and 10 GB storage. - **Business Plan users** see their actual invoices reflecting their usage and the $250/month platform fee. - **[Free Trial users](/about-motherduck/billing/pricing/#free-trial)** see estimated invoices, which are fully discounted during the trial period. Incurred Storage and Compute costs are broken down per-user and per-service-account, as well as aggregated for the entire organization. :::note For organizations with more than 500 users and service accounts, invoices may show aggregated usage rather than a full per-user breakdown to maintain clarity. ::: --- Source: https://motherduck.com/docs/about-motherduck/billing/tag-workloads-with-custom-user-agents # Tag workloads with custom user agents > Add workload tags with custom_user_agent and use QUERY_HISTORY to group activity by workload, tenant, or pipeline. Connecting to MotherDuck with `custom_user_agent` parameter will tag queries to identify which workload issued them. That workload can represent an integration, pipeline, tenant, or internal service. Those tags appear in [`MD_INFORMATION_SCHEMA.QUERY_HISTORY`](/sql-reference/motherduck-sql-reference/md_information_schema/query_history/), so users with permission to view query history can inspect tagged activity, group it by workload, and use that breakdown in internal reporting. The view is available on Business plans, and the Admin and Builder preset roles include the required permission by default. ## 1. choose a tagging convention Use the `custom_user_agent` format described in [Choose a `custom_user_agent` format](/integrations/how-to-integrate/#custom-user-agent-format). You can use this pattern even if you are only tagging existing workloads for reporting or allocation. You do not need to build a full customer-facing integration. Recommended format: - `integration/version(metadata1,metadata2)` with optional version and metadata - Avoid spaces in the integration and version parts - If you want to group by a single workload label later, keep that label in the first metadata position Examples: - `catalogsync` - `catalogsync/5.1.5.1` - `catalogsync/5.1.5.1(batchload,teamfinance)` - `customerportal/5.1.5.1(tenant42,eucentral1)` ## 2. understand what `QUERY_HISTORY` stores `QUERY_HISTORY.USER_AGENT` stores the full DuckDB user agent, not only your custom tag. When `custom_user_agent` is set, the value looks like this: ```text duckdb/() ``` Representative values: | QUERY_HISTORY.USER_AGENT | Extracted `custom_tag` | Extracted `integration_name` | Extracted `metadata` | |---|---|---|---| | `duckdb/v1.5.1(osx_arm64) capi catalogsync/5.1.5.1(batchload,teamfinance)` | `catalogsync/5.1.5.1(batchload,teamfinance)` | `catalogsync` | `batchload,teamfinance` | | `duckdb/v1.5.1(wasm_eh) motherduck-wasm customerportal/5.1.5.1(tenant42,eucentral1)` | `customerportal/5.1.5.1(tenant42,eucentral1)` | `customerportal` | `tenant42,eucentral1` | | `duckdb/v1.5.1(linux_amd64) cpp` | | | `NULL` | ## 3. set `custom_user_agent` Example in Python: ```python con = duckdb.connect("md:analytics", config={ "motherduck_token": token, "custom_user_agent": "catalogsync/5.1.5.1(batchload,teamfinance)" }) ``` For other languages and frameworks, see the [language and framework examples for setting `custom_user_agent`](/integrations/how-to-integrate/#custom-user-agent-examples). ## 4. inspect recent tagged queries Use this query to inspect recent `QUERY_HISTORY` rows and verify that your tags are being extracted the way you expect: ```sql with tagged_queries as ( select start_time, user_name, instance_type, user_agent, regexp_extract(user_agent, '^(?:[^ ]+ ){2}(.+)$', 1) as custom_tag from MD_INFORMATION_SCHEMA.QUERY_HISTORY where regexp_matches(user_agent, '^(?:[^ ]+ ){2}.+$') order by start_time desc limit 20 ), parsed as ( select start_time, user_name, instance_type, user_agent, custom_tag, regexp_extract(custom_tag, '^([^/( ]+)', 1) as integration_name, nullif(regexp_extract(custom_tag, '\\(([^)]*)\\)', 1), '') as metadata from tagged_queries ) select start_time, user_name, instance_type, user_agent, custom_tag, integration_name, metadata from parsed order by start_time desc ``` The extraction logic is: - `regexp_extract(user_agent, '^(?:[^ ]+ ){2}(.+)$', 1)` strips the built-in DuckDB and API tokens and returns your custom tag - `regexp_extract(custom_tag, '^([^/( ]+)', 1)` extracts the integration name - `regexp_extract(custom_tag, '\\(([^)]*)\\)', 1)` extracts the metadata payload inside parentheses ## 5. group tagged activity by workload This example groups tagged queries by integration, the first metadata value, and duckling size over the last 7 days. ```sql with tagged_queries as ( select start_time, end_time, instance_type, regexp_extract(user_agent, '^(?:[^ ]+ ){2}(.+)$', 1) as custom_tag from MD_INFORMATION_SCHEMA.QUERY_HISTORY where start_time >= now() - interval 7 day and regexp_matches(user_agent, '^(?:[^ ]+ ){2}.+$') ), parsed as ( select coalesce(nullif(regexp_extract(custom_tag, '^([^/( ]+)', 1), ''), custom_tag) as integration_name, nullif(split_part(regexp_extract(custom_tag, '\\(([^)]*)\\)', 1), ',', 1), '') as workload_name, instance_type, date_diff('second', start_time, end_time) as elapsed_seconds from tagged_queries ) select integration_name, coalesce(workload_name, 'unlabeled') as workload_name, instance_type, count(*) as queries, sum(elapsed_seconds) as total_elapsed_seconds, avg(elapsed_seconds) as avg_elapsed_seconds from parsed group by all order by total_elapsed_seconds desc ``` If you want to group by the full metadata string instead, replace the `workload_name` expression with: ```sql nullif(regexp_extract(custom_tag, '\\(([^)]*)\\)', 1), '') as workload_name ``` ## 6. use tagged activity for internal allocation Some teams use tagged query history as an input to internal chargeback or cost allocation. One approach is to calculate each workload's share of tracked query time and apply that share to a monthly invoice outside of MotherDuck. ```sql with tagged_queries as ( select start_time, end_time, regexp_extract(user_agent, '^(?:[^ ]+ ){2}(.+)$', 1) as custom_tag from MD_INFORMATION_SCHEMA.QUERY_HISTORY where start_time >= date_trunc('month', now()) and regexp_matches(user_agent, '^(?:[^ ]+ ){2}.+$') ), workload_usage as ( select coalesce( nullif(split_part(regexp_extract(custom_tag, '\\(([^)]*)\\)', 1), ',', 1), ''), regexp_extract(custom_tag, '^([^/( ]+)', 1) ) as workload_name, sum(date_diff('second', start_time, end_time)) as elapsed_seconds from tagged_queries group by 1 ), totals as ( select sum(elapsed_seconds) as total_elapsed_seconds from workload_usage ) select workload_name, elapsed_seconds, elapsed_seconds::double / nullif(total_elapsed_seconds, 0) as tracked_usage_share from workload_usage, totals order by tracked_usage_share desc ``` This is an internal accounting convention, not a MotherDuck billing feature. For the billing model itself, including Pulse compared to fixed-size ducklings and cooldown behavior, see [Understanding the pricing model](/about-motherduck/billing/pricing/) and [Duckling sizes](/about-motherduck/billing/duckling-sizes/). --- Source: https://motherduck.com/docs/about-motherduck/billing/duckling-sizes # Duckling sizes > Learn about MotherDuck Duckling (compute instance) sizes and their optimal use cases. MotherDuck implements a distinct tenancy architecture that diverges from traditional database systems. The platform utilizes a [hypertenancy](/concepts/hypertenancy) model, which provisions isolated read-write Ducklings (compute instances) for each Organization member. This architecture ensures dedicated compute resources and Duckling-level configuration at the individual user level, allowing users to independently optimize performance parameters according to their specific workload requirements. Each Duckling size has different performance characteristics and [billing implications](/about-motherduck/billing/pricing/#compute-pricing). MotherDuck uses fast SSDs for spill space, so queries can exceed their memory limits with minimal performance impact. DuckDB caches data in memory, and MotherDuck uses fast local disks for storage, which improves cold start times. ## Duckling sizes | Duckling Size | Plans | Use Case | Default Cooldown | Configurable Cooldown Period | Startup Time | Read-Write Duckling Enabled? | Read Scaling Duckling Enabled? | |---------------|------------|----------|------------------|------------------------------|--------------------|-----------------------------|-------------------------------| | Pulse | Lite, Business | Good for small workloads| 1 second | N/A | ~100ms | Yes | Yes | | Standard | Business | Good for most data loading workloads | 1 minute | 1 min – 24 hours | ~100ms | Yes | Yes | | Jumbo | Business | Better for large, complex transformations during loading | 1 minute | 1 min – 24 hours | ~100ms | Yes | Yes | | Mega | Business | Optimal for demanding jobs with even larger scale and volumes than a Jumbo can handle | 5 minutes | 1 min – 24 hours | ~a few minutes | Yes | Yes | | Giga | Business, and in [Free Trial on request](https://motherduck.com/contact-us/product-expert/) | Best used for your largest and toughest workloads like batch jobs that run overnight or on weekends | 10 minutes | 1 min – 24 hours | ~a few minutes | Yes | No | - The cooldown period is [configurable](#configuring-the-cooldown-period) for Standard, Jumbo, Mega, and Giga Ducklings - We recommend keeping the cooldown periods in mind when planning batch sizes - To shut down a Duckling without waiting for cooldown, use [`SHUTDOWN` or `SHUTDOWN TERMINATE`](/sql-reference/motherduck-sql-reference/shutdown-terminate/) ### PULSE **Optimized for ad-hoc analytics and read-only workloads** Pulse Ducklings are auto-scaling and designed for efficiency, making them ideal for: - Running ad-hoc queries (**Note** complex queries involving [spatial analysis](https://duckdb.org/docs/current/core_extensions/spatial/functions.html) or regex-like functions may perform better on larger Duckling sizes) - Read-optimized workflows with high concurrent user access, such as those in customer-facing analytics. - Powering data apps and embedded analytics where quick, short queries are common. - High-concurrency, read-optimized workflows [Learn how Pulse Ducklings are billed.](/about-motherduck/billing/pricing/#compute-pricing) ### STANDARD **Production-grade Duckling designed for analytical processing and reporting** Standard Ducklings offer a balance of resources for consistent performance, suited for: - Core analytical workflows requiring balanced performance metrics. - Development and validation environments for production workflows. - Standard ETL/ELT pipeline implementation, including: - Parallel execution of incremental ingestion jobs. - Multi-threaded transformation processing. [Learn how Standard Ducklings are billed.](/about-motherduck/billing/pricing/#compute-pricing) ### JUMBO **A larger Duckling built for high-throughput processing and faster performance** Jumbo Ducklings provide resources for heavy workloads, including: - Large-scale batch processing and ingestion operations. - Complex query execution on high-volume datasets. - Advanced join operations and aggregations. - RAM-intensive processing of deeply-nested JSON structures or other large data objects. [Learn how Jumbo Ducklings are billed.](/about-motherduck/billing/pricing/#compute-pricing) ### MEGA **Built for high-throughput processing on demanding jobs at even larger scale than a Jumbo's capacity** Mega Ducklings provide compute resources to help expedite large-scale transformations and complex operations, perfect for: - Batch processing and high-volume ingestion operations. - Running a weekly job that rebuilds all of your tables that needs to run quickly, in minutes - not hours. - Complex query execution on high-volume datasets that a Jumbo Duckling won't be able to handle in a time crunch. - Advanced operations for users with 10x the data volume as other users who require low-latency, swift performance. [Learn how Mega Ducklings are billed.](/about-motherduck/billing/pricing/#compute-pricing) ### GIGA **Our largest Duckling, built for the toughest workloads with massive scale and complexity** Giga Ducklings provide compute resources for the most demanding tasks, perfect for: - Complex, large-scale workloads and jobs that won't run on any other Duckling size. - Running one-time jobs that need to complete overnight or over the weekend, like restating revenue actuals for 10 years's worth of high-volume data. - Huge volumes of advanced join operations and aggregations. - Very large amounts of RAM-intensive processing of deeply-nested JSON structures or other large data objects. [Learn how Giga Ducklings are billed.](/about-motherduck/billing/pricing/#compute-pricing) ## Configuring the cooldown period The **cooldown period** is the duration an idle Duckling stays running after the last query completes. During cooldown, the Duckling remains warm β€” cached data stays in memory, so follow-up queries start faster. You are billed for the cooldown period, since the Duckling is still running. You can configure the cooldown period per user or service account through the MotherDuck UI (under **Settings > Ducklings**) or through the [`Set user Ducklings` REST API](/sql-reference/rest-api/ducklings-set-duckling-config-for-user/). ### Configurable cooldown period by Duckling type | Duckling type | Default Cooldown | Configurable Cooldown Period | |---------------|-----------------|------------------------------| | Pulse | 1 second | N/A | | Standard | 1 min | 1 min – 24 hours | | Jumbo | 1 min | 1 min – 24 hours | | Mega | 5 min | 1 min – 24 hours | | Giga | 10 min | 1 min – 24 hours | Pulse Ducklings are meant for 'bursty' workloads - as a result, they are on-demand and auto-scaling. Because they are metered on a per-query basis, with a minimum of 1 Compute Unit (CU)\* second, they do not have a configurable cooldown. \***We define and measure the amount of CPU and memory usage over time as a Compute Unit (CU).** ### When to adjust the cooldown period **Shorter cooldown** β€” reduces idle billing when queries are infrequent or spread out over long intervals. Good for batch jobs or scheduled pipelines where you know the Duckling won't be needed again immediately. **Longer cooldown** β€” keeps the Duckling warm between queries, avoiding cold-start latency. Good for interactive analytics sessions, dashboards with periodic refreshes, or workloads where cache hits improve performance. ### Example: reducing costs for a nightly batch job A Giga Duckling has a default cooldown of 10 minutes. If you run a batch job that takes 5 minutes and know there's no follow-up query, the Duckling stays idle (and billable) for 10 minutes after the job completes. By reducing the cooldown to 5 minutes, you save 5 minutes of idle billing per run. For a daily job, that's over 30 hours of saved compute per year. To eliminate idle billing entirely, use [`SHUTDOWN`](/sql-reference/motherduck-sql-reference/shutdown-terminate/) at the end of your job to shut down the Duckling gracefully, or [`SHUTDOWN TERMINATE`](/sql-reference/motherduck-sql-reference/shutdown-terminate/) to force-terminate it immediately. Note that you will always be billed for the minimum cooldown time of 1 minute. ::::info MotherDuck meters compute per-second and bills for a 1-minute minimum. While Standard, Jumbo, Mega, and Giga Ducklings are billed for *wall clock time*, Pulse Ducklings are metered on a per-query basis to support 'bursty' workloads. As a result, they are on-demand and auto-scaling. Because Pulse Ducklings are metered on a *per-query basis, with a minimum of 1 Compute Unit (CU)\* second*, they do not have a configurable cooldown. \***Compute Unit (CU): The amount of CPU and memory usage over time.** :::: ### Important notes - Cooldown is **best effort** β€” Ducklings may be shut down before the configured cooldown expires due to lifetime limits, background operations, and maintenance upgrades. - You are only billed for the time a Duckling is actually running. If a Duckling shuts down early, billing stops at that point. - The UI validates the min/max bounds and shows an error if the configured value is out of range. ## Changing Duckling sizes Duckling sizes can be changed in MotherDuck UI by clicking on the icon in the top right, or under "Settings > Ducklings". Here you can choose the desired Read/Write and Read Scaling size. Changing Duckling size can take up to a few minutes while your new Duckling wakes up. ![Duckling Selector](img/duckling_selector.png) The Duckling size for a user or service account can also be set using the [`Set user Ducklings` REST API](/sql-reference/rest-api/ducklings-set-duckling-config-for-user/). **Note:** Changing Duckling size in the UI or through our [REST API](/sql-reference/rest-api/motherduck-rest-api/) takes * **2 minutes** for Pulse, Standard and Jumbo * **5 minutes** for Mega * **10 minutes** for Giga --- Source: https://motherduck.com/docs/about-motherduck/billing/monitoring-usage # Monitoring usage and costs > Track compute and storage usage in MotherDuck using SQL views, understand how usage maps to your bill, and find ways to optimize costs. MotherDuck provides SQL views and a billing dashboard to help you understand your compute and storage consumption. This guide shows how to query your usage data, interpret the results in the context of your bill, and identify opportunities to reduce costs. A **Compute Unit (CU)** is the amount of CPU and memory usage over time; compute is metered in CU hours. See the [pricing model](/about-motherduck/billing/pricing/) for how CU hours map to charges. ## Tracking compute usage :::info The `QUERY_HISTORY` view is available on Business plans and requires permission to view query history. The Admin and Builder preset roles include this permission by default. The editable examples on this page show sample results; select **Run** to query your own organization's data. ::: The [`MD_INFORMATION_SCHEMA.QUERY_HISTORY`](/sql-reference/motherduck-sql-reference/md_information_schema/query_history/) view records every query run across your organization. Use it to understand which users, queries, and duckling types are driving compute consumption. For a visual overview, the [Duckling overview](/getting-started/interfaces/motherduck-quick-tour/#duckling-overview) page (**Settings** β†’ **Duckling overview**) shows active minutes, query volume, spills, and errors per Duckling over the last 24 hours. Viewing it requires permission to view organization-wide Duckling activity, which the Admin and Builder preset roles include by default. ![Duckling overview page listing each Duckling with its account, size, active minutes, query volume, activity sparkline, wait time, spills, and errors](img/duckling-overview.png) ### Compute hours by duckling type Summarize execution hours per duckling type over a given period. The example results below show what the output looks like; run the query to see your own organization's data. #### Compute hours by duckling type Database: `my_db` ```sql SELECT instance_type, COUNT(*) AS query_count, ROUND(SUM(EPOCH(execution_time)) / 3600, 2) AS execution_hours FROM md_information_schema.query_history WHERE start_time >= CURRENT_DATE - INTERVAL 30 DAYS GROUP BY instance_type ORDER BY execution_hours DESC; ``` :::note Execution hours from `QUERY_HISTORY` approximate your billed compute but don't match it exactly. Standard and larger Ducklings are billed for wall-clock time, including startup and the [cooldown period](/about-motherduck/billing/pricing/#compute-pricing) after the last query. Pulse Ducklings are metered per query on CUs consumed. ::: ### Identify expensive queries Find the longest-running queries to spot optimization opportunities. The `spilled_gb` column shows how much data each query [spilled to disk](https://duckdb.org/docs/stable/guides/performance/how_to_tune_workloads.html#spilling-to-disk) because it did not fit in memory: queries that spill run slower and cost more, and are a sign the workload needs a larger [Duckling size](/about-motherduck/billing/duckling-sizes/). #### Longest-running queries in the past 7 days Database: `my_db` ```sql SELECT query_id, user_name, instance_type, execution_time, total_elapsed_time, ROUND(bytes_spilled_to_disk / 1e9, 2) AS spilled_gb, LEFT(query_text, 200) AS query_preview FROM md_information_schema.query_history WHERE start_time >= CURRENT_DATE - INTERVAL 7 DAYS ORDER BY execution_time DESC LIMIT 20; ``` ### Usage by user Break down compute consumption per user to understand who is driving costs: #### Compute usage by user Database: `my_db` ```sql SELECT user_name, instance_type, COUNT(*) AS query_count, ROUND(SUM(EPOCH(execution_time)) / 3600, 2) AS execution_hours FROM md_information_schema.query_history WHERE start_time >= CURRENT_DATE - INTERVAL 30 DAYS GROUP BY user_name, instance_type ORDER BY execution_hours DESC; ``` :::tip To break usage down by pipeline, integration, or tenant rather than by user, set a custom user agent when connecting and group by the `user_agent` column. See [Tag workloads with custom user agents](/about-motherduck/billing/tag-workloads-with-custom-user-agents/). ::: ## Tracking storage usage :::info The `STORAGE_INFO` views require permission to view organization-wide storage information, which the Admin preset role includes by default. ::: ### Current storage by database Use [`MD_INFORMATION_SCHEMA.STORAGE_INFO`](/sql-reference/motherduck-sql-reference/md_information_schema/storage_info/) to see storage across all databases: #### Storage by database Database: `my_db` ```sql SELECT database_name, user_name, transient, ROUND(active_bytes / 1e9, 2) AS active_gb, ROUND(historical_bytes / 1e9, 2) AS historical_gb, ROUND(retained_for_clone_bytes / 1e9, 2) AS cloned_gb, ROUND(failsafe_bytes / 1e9, 2) AS failsafe_gb, ROUND((active_bytes + historical_bytes + retained_for_clone_bytes + failsafe_bytes) / 1e9, 2) AS total_gb FROM md_information_schema.storage_info ORDER BY total_gb DESC; ``` ### Understanding storage byte types Your storage bill includes several categories of bytes: | Byte type | Description | |-----------|-------------| | `active_bytes` | Data referenced by the database: your live tables and indexes. | | `historical_bytes` | Previous versions of data retained for [point-in-time restore](/concepts/data-recovery/). Controlled by `snapshot_retention_days`. | | `retained_for_clone_bytes` | Bytes retained because another database (through zero-copy clone) still references them. | | `failsafe_bytes` | Bytes kept for a minimum failsafe period after they are no longer referenced. | All four categories count toward your storage bill. To reduce `historical_bytes`, you can lower the snapshot retention period on databases where long retention is not needed. ### Estimate monthly storage cost Calculate an approximate monthly storage bill based on current usage (US East rates): #### Estimated monthly storage cost Database: `my_db` ```sql SELECT ROUND(SUM(active_bytes + historical_bytes + retained_for_clone_bytes + failsafe_bytes) / 1e9, 2) AS total_gb, ROUND(SUM(active_bytes + historical_bytes + retained_for_clone_bytes + failsafe_bytes) / 1e9 * 0.04, 2) AS estimated_monthly_cost_usd FROM md_information_schema.storage_info; ``` :::note Storage is billed based on your **average daily usage** over the billing period, not a single point-in-time snapshot. Use [`STORAGE_INFO_HISTORY`](/sql-reference/motherduck-sql-reference/md_information_schema/storage_info/) for trend analysis over the past 30 days. ::: You can also get a quick overview of database sizes using [`PRAGMA database_size`](/sql-reference/motherduck-sql-reference/md_information_schema/database_size/), though this does not break down storage by byte type. ## Understanding your bill Your MotherDuck bill has three main components: ### Platform fee - **Lite plan:** $0/month (includes 10 CU hours and 10 GB storage) - **Business plan:** $250/month ### Compute charges Compute is billed per CU hour for each duckling type. The CU hour rate varies by duckling size and region. See the [compute pricing table](/about-motherduck/billing/pricing/#compute-pricing) for current rates. For example, if you consumed 50 CU hours on Standard in US East during a month: 50 hours x $2.40/hour = **$120.00** ### Storage charges Storage is billed based on your average daily usage (in GB) over the billing period, multiplied by the per-GB rate. See the [storage pricing table](/about-motherduck/billing/pricing/#storage-pricing) for current rates. For example, if your average storage over the month is 200 GB in US East: 200 GB x $0.04/GB = **$8.00** You can view your current and past invoices on the [Billing page](https://app.motherduck.com/settings/billing) in the MotherDuck UI. Costs are broken down per user and per service account. See [Managing your bill](/about-motherduck/billing/managing-billing/) for details. ## Cost optimization tips ### Choose the right duckling size - Use **Pulse** for small, bursty, read-heavy queries (ad-hoc analytics, data apps). Pulse bills per CU consumed, not wall-clock time, so short queries are very efficient. - Use **Standard** or larger for sustained, compute-heavy workloads. Pulse can consume high volumes of CUs when scaling up for intensive queries. - See [Duckling Sizes](/about-motherduck/billing/duckling-sizes/) for guidance on when to use each size. ### Reduce storage costs - Use [`TRANSIENT` databases](/concepts/storage-lifecycle/#storage-management) for intermediate or reproducible data (for example, staging tables and job outputs). Transient databases retain only a 1-day failsafe minimum with no historical snapshots. - Lower `snapshot_retention_days` on databases where you don't need long retention of historical snapshots. The default is 1 day on Lite and 7 days on Business (configurable up to 90 days). - Shares and zero-copy clones (`CREATE DATABASE X FROM DATABASE Y`) do not incur additional storage. Only incremental changes to the cloned database add to storage. ### Write efficient queries - Use `LIMIT` during data exploration to avoid scanning and returning more data than needed. - Filter early with `WHERE` clauses to reduce the amount of data processed. - Check `bytes_spilled_to_disk` in `QUERY_HISTORY`: if queries frequently spill to disk, consider a larger duckling size for faster execution. The [Duckling overview](/getting-started/interfaces/motherduck-quick-tour/#duckling-overview) page also flags Ducklings with spills. ### Plan resource usage - Schedule heavy batch jobs during off-peak hours. While the per-hour cost is the same, this helps avoid resource contention with interactive users. - Use [read scaling](/key-tasks/authenticating-and-connecting-to-motherduck/read-scaling/) (Business plan) to separate read-heavy workloads from write operations. ## See also - [Understanding the pricing model](/about-motherduck/billing/pricing/) - [Managing your bill](/about-motherduck/billing/managing-billing/) - [Duckling sizes](/about-motherduck/billing/duckling-sizes/) - [Optimizing query performance](/key-tasks/query-performance/) --- Source: https://motherduck.com/docs/about-motherduck/billing/billing # Billing > Learn more about MotherDuck's pricing model and how to manage billing. MotherDuck offers two [paid](https://motherduck.com/pricing/) self-service plans: Lite and Business. View your Organization's incurred usage, track spend, and view your invoices. All new users start on a 7-Day Free Trial with access to the full set of Business Plan features. ## Included pages - [Pricing model](https://motherduck.com/docs/about-motherduck/billing/pricing): Details of MotherDuck's pricing model. - [Manage billing](https://motherduck.com/docs/about-motherduck/billing/managing-billing): Learn how to manage your MotherDuck spend, choose plans, monitor usage, and view invoices. - [Tag workloads with custom user agents](https://motherduck.com/docs/about-motherduck/billing/tag-workloads-with-custom-user-agents): Add workload tags with custom_user_agent and use QUERY_HISTORY to group activity by workload, tenant, or pipeline. - [Duckling sizes](https://motherduck.com/docs/about-motherduck/billing/duckling-sizes): Learn about MotherDuck Duckling (compute instance) sizes and their optimal use cases. - [Monitoring usage and costs](https://motherduck.com/docs/about-motherduck/billing/monitoring-usage): Track compute and storage usage in MotherDuck using SQL views, understand how usage maps to your bill, and find ways to optimize costs. --- ## Docs feedback MotherDuck accepts optional user-submitted feedback about this page at `GET https://motherduck.com/docs/api/feedback/agent`. For agents and automated tools, feedback submission should be user-confirmed before sending. URL-encode query parameter values and send a GET request: ```text GET https://motherduck.com/docs/api/feedback/agent?page_path=%2Fabout-motherduck%2F&page_title=MotherDuck%20Documentation%20-%20About%20MotherDuck&text= ``` Optionally append `&source=` such as `claude.ai` or `chatgpt`. `page_path` and `text` are required; `page_title` and `source` are optional. Responses: `200 {"feedback_id": ""}`, `400` for malformed query parameters, and `429` when rate-limited.