cannot start duckdb UI
- Dominant language
- C++
- Stars
- 3.2k
- Forks
- 204
- PR merge metrics
- No merged PRs in 30d
Description
### What happens?
```sql
SELECT duckdb.install_extension('ui');
SELECT * FROM duckdb.raw_query($$ CALL start_ui(); $$);
```
fails with:
```
database-1 | 2025-08-31 10:02:57.227 UTC [191] ERROR: (PGDuckDB/CreatePlan) Invalid Input Error: Initialization function "ui_init" from file "/var/lib/postgresql/data/pg_duckdb/extensions/v1.3.2/linux_arm64/ui.duckdb_extension" threw an exception: "Failed to create directory "/var/lib/postgresql/.duckdb/extension_data": No such file or directory"
database-1 | 2025-08-31 10:02:57.227 UTC [191] STATEMENT: SELECT * FROM duckdb.raw_query($$ CALL start_ui(); $$)
```
### To Reproduce
see the code above
### OS:
MacOS
### pg_duckdb Version (if built from source use commit hash):
52ba7aa
### Postgres Version (if built from source use commit hash):
postgres:17.5-bookworm
### Hardware:
M2 macbook
### Full Name:
Georg Heiler
### Affiliation:
Complexity Science Hub
### What is the latest build you tested with? If possible, we recommend testing with the latest nightly build.
I have tested with a source build
### Did you include all relevant data sets for reproducing the issue?
Yes
### Did you include all code required to reproduce the issue?
- [x] Yes, I have
### Did you include all relevant configuration (e.g., CPU architecture, Linux distribution) to reproduce the issue?
- [x] Yes, I have
Contributor guide
Research direction
Start with the SQL reproduction using duckdb.install_extension('ui') and CALL start_ui(), then trace the ui_init failure and how the extension data directory is initialized. Done means the UI starts without the missing /var/lib/postgresql/.duckdb/extension_data error on the reported PostgreSQL, DuckDB, and ARM64 setup.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, postgres
- Domain
- backend, database
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100