Warehouse and analytical
DuckDB
DuckDB is a local-file analytics workbench with local read SQL, EXPLAIN/profile rendering, extension posture, CSV import/export, and backup-folder execution.
Prerequisites
- Install the current DataPad++ desktop pre-release on Windows, macOS, or Linux.
- Have the endpoint, database file, or cloud account details for a DuckDB datastore you are authorized to use. Start with least-privileged, read-only access.
- Keep an independent backup before enabling edits, administration, restore, or transfer execution.
Connect and run a safe query
- 1
Create the connection
Open Library, choose Create connection, and select DuckDB and a supported Connection method tab.
- 2
Test and save
Complete the applicable fields and enable Read-only connection. Test connection when available; new local files and pending secondary credential changes must be saved first. Review runtime limitations and warnings.

DuckDB connection setup. The DuckDB connection dialog with supported method tabs and illustrative, non-secret settings. Expand optional sections and review runtime limitations before saving. Open full size - 3
Open the native explorer
Use Save Connection, or Create Database and Save Connection for a new local file, then open the DuckDB Explorer where supported.
- 4
Select a scope
Select the database / schema scope that should be attached to the new tab.
- 5
Run a bounded read
Open a query tab, paste the bounded read-only sample below, and choose Run or press Ctrl/Cmd+Enter.

DuckDB native workflow. A representative DuckDB explorer and bounded read-only workflow. Replace the example objects with names from your datastore. Open full size - 6
Inspect the result
Inspect Results, Messages, History, and Details; dock the panel on the bottom or right as needed.
- 7
Export when needed
Export only the required rows after reviewing format, destination, and redaction options.
- 8
Open diagnostics or transfers
Open Diagnostics or Transfers from the drawer/status bar and treat disabled reasons as capability boundaries, not transient errors.
Connection fields
| Field | Required | Purpose | Safe example |
|---|---|---|---|
| Name | Yes | A clear profile name, without credentials. | DuckDB development |
| Connection method | Yes | Choose a supported tab. The fields below apply only to the selected method and deployment. | Local database file / Connection string |
| Environment | No | Attach the intended variable and safety context. | Local development |
| Read-only connection | No | Enable for initial exploration. This does not make pre-release software safe for production workloads. | Enabled |
| Database file | Yes | Open an existing file, or choose a folder and filename under Create new database. Creation occurs only on final save. | example.duckdb |
| Complete connection string | Yes | Required in Connection string mode only. Saved unchanged as one vault secret with Save Connection. Blank keeps an existing stored value. | Paste your complete provider string; do not share it |
Run the sample query
SELECT order_id, customer_id, total
FROM orders
ORDER BY order_id
LIMIT 25;Explore and inspect
- Browse schemas, tables, views, columns, extensions, external file sources, PRAGMAs, local file posture, extension posture, and object/admin-scope gates.
- Inspect table grids, EXPLAIN/profile payloads, catalog rows, local-file posture, extension warnings, and file workflow lock-boundary metadata.
Diagnose, administer, and transfer
- Review database-file preflight, read-only state, scoped lock boundaries, PRAGMA panels, extension posture, JSON/Parquet preloaded-extension gates, and restore boundaries.
- Preview analyze/checkpoint/object admin actions, extension install/load gates, restore-package preflight, and broader local OLAP mutation/admin boundaries.
- Import — Live. DuckDB uses native COPY for table data. Formats: CSV (portable-lossy), DuckDB JSON (native), Parquet (native). Destinations: local file.
- Export — Live. DuckDB uses native COPY for table data. Formats: CSV (portable-lossy), DuckDB JSON (native), Parquet (native). Destinations: local file.
- Backup — Live. DuckDB exports a complete database directory. Formats: DuckDB Parquet directory (native), DuckDB CSV directory (native). Destinations: local folder.
- Restore — Live. DuckDB exports a complete database directory. Formats: DuckDB Parquet directory (native), DuckDB CSV directory (native). Destinations: local folder.

Capabilities and availability
| Capability | Status | Notes |
|---|---|---|
| Native explorer | Available | Browse schemas, tables, views, columns, extensions, external file sources, PRAGMAs, local file posture, extension posture, and object/admin-scope gates. |
| Read queries | Available | Run bundled local-file read SQL, SELECT builders, deterministic DuckDB IntelliSense, EXPLAIN, EXPLAIN ANALYZE, and catalog queries. |
| Inline editing | Unavailable | Use a reviewed statement or the engine-native tool instead. |
| Diagnostics / administration | Guarded | Preview analyze/checkpoint/object admin actions, extension install/load gates, restore-package preflight, and broader local OLAP mutation/admin boundaries. |
| Import / export / transfer | Guarded | Availability follows the authoritative runtime transfer manifest and shows a disabled reason when execution is not implemented. |
Safety and limitations
Troubleshooting
| Symptom | Resolution |
|---|---|
| Test connection fails or times out | Verify endpoint, port, TLS mode, proxy settings, service health, firewall rules, and network access. Keep the profile unsaved until the test explains the failure. |
| Explorer branches are empty or disabled | Confirm the selected database / schema, refresh the branch, and grant the minimum metadata permissions described in the connection warning. |
| Run, edit, admin, or transfer is disabled | Read the visible disabled reason. Select a compatible target, turn off read-only only when authorized, or use the documented preview/export fallback. |
| The sample query fails or returns different columns | Replace the example names with objects from your DuckDB datastore, confirm the selected database / schema, and keep the query bounded while you validate the result. |