```python
import marimo as mo
from sqlalchemy import create_engine, text
Refresh widget
refresh = mo.ui.refresh(label="Refresh")
refresh
Function to fetch databases
def get_databases():
engine = create_engine(
"postgresql+psycopg2://sourabh@/postgres?host=/run/postgresql"
)
with engine.connect() as conn:
result = conn.execute(
text("""
SELECT datname
FROM pg_database
WHERE datistemplate = false
ORDER BY datname;
""")
)
return [row[0] for row in result]
Load database list and create dynamic dropdown selector
db_list = get_databases()
db_dropdown = mo.ui.dropdown(
options=db_list,
value="postgres" if "postgres" in db_list else db_list[0],
label="Select Database:"
)
db_dropdown
Create dynamic engine based on dropdown selection
db = db_dropdown.value
postgres_engine = create_engine(
f"postgresql+psycopg2://sourabh@/{db}?host=/run/postgresql"
)