Bases & Database Views
Bases are Obsidian’s built-in database feature — the engine that turns category pages into auto-aggregating tables.
A base is Obsidian's built-in database feature. It looks at your vault and gives you a live, sortable, filterable table of notes that match a query. The Celestial Vault uses bases as the engine that powers every category page.
What A Base Looks Like
When you open Books.md (or Movies.md, People.md, etc.), most of the page is taken up by an embedded database view that looks something like:
| Title | Author | Status | Rating |
|---|---|---|---|
| Atomic Habits | James Clear | Read | 8 |
| The Great Gatsby | F. Scott Fitzgerald | Reading | – |
| Designing Data-Intensive Apps | Martin Kleppmann | To read | – |
Sortable. Filterable. Click any row to open the underlying note.
This isn't manually maintained. It's automatically generated from every note in your vault whose categories: property contains *Books*.
How Bases Work In Celestial
Every category page (the 36 that ship + any you create) embeds a base. The base is configured to:
- Filter notes where
categories.contains(link("Books"))(or whichever category) - Show specific columns from the matched notes' frontmatter (e.g.,
author,status,rating) - Sort by a default column (e.g., creation date or rating)
The columns and filter live in a .base file — one per category — usually next to the corresponding .md page. So:
Books.mdis the category pageBooks.baseis the database query
The page embeds the base via a special syntax. Open Books.md in source mode and you'll see the embed line.
The Bases That Ship
The Celestial Vault ships with 45 .base files, configured to power:
- The 36 category pages at the vault root
- Plus a few specialty views (e.g., a "today's links" view inside daily notes, or a Locked-notes-only view)
You don't need to touch them to start using the vault. They work out of the box.
Customizing A Base
If you want to change what columns show on a category page, or how it's sorted:
- Open the
.basefile (e.g.,Books.base) - Edit it —
.basefiles are YAML / structured files; the syntax is documented in Obsidian's bases docs - Save
The corresponding category page updates automatically.
Adding a column.
Want your Books.base to also show whether the book is recommended by someone? Add a recommendedBy column to the base config, then add recommendedBy: "*Sasha*" to the relevant book notes' frontmatter. The new column appears in the table.
Creating A New Category + Base
If you want a new category — say *Hobbies* — and a corresponding database view:
Quick path: just create the category page
- Create
Hobbies.mdat the vault root - Use the standard category-page template (see existing pages like
Books.mdfor reference) - Either:
- Copy
Books.base, rename toHobbies.base, and edit its filter tocategories.contains(link("Hobbies")) - Or use Obsidian's bases UI to create a new base inline
- Copy
Even quicker: use the category template
The Celestial Vault ships with a Category Template.md in Templates/. Run it via Cmd/Ctrl + P → "Templater: insert template" → pick the category template. It generates a fresh category page with a pre-wired base.
(More on templates: Adjusting Templates Yourself.)
Bases vs. Dataview
If you've used Obsidian before, you may know Dataview — a community plugin that does similar table-querying. Both Bases and Dataview can produce category-style views. Celestial uses Bases by default because:
- Bases is built into Obsidian core (no plugin dependency)
- Bases tables are interactive — sortable, filterable, with column resize
- Bases handles large vaults more efficiently
- Bases plays nicely with Obsidian's frontmatter UI
Dataview is also available in the bundled plugin stack — Time Garden uses Dataview for some of its temporal queries (e.g., the yearly "Top Days" table). Dataview is more flexible for code-driven queries; Bases is better for everyday "show me a table" needs.
Embedded Tutorials
Karl has YouTube tutorials specifically on Bases:
- Building Database Views in Obsidian Bases — search the channel for "Bases"
These walk through customization in more depth than this page does.
A Note On Performance
Bases scan every matching note in your vault on every render. For a vault with thousands of categorized notes, complex base queries can take a moment. If a category page feels slow, the base config is the place to start tuning:
- Limit the visible columns (fewer columns = faster render)
- Add a stricter filter to narrow the result set
- Set a smaller default page size
For a 5,000-note vault, every base should still render in well under a second.
Up Next
- The 36 Category Pages — the seed list that ships
- Wikilink Categories — how categories are added to notes
- The Self-Organizing Vault — the philosophy that makes this all matter