A data dictionary that rebuilds itself after every release.
The spreadsheet version of a data dictionary is accurate on the afternoon someone exports it and slightly wrong from the next deployment on. Taavik generates the dictionary from the database catalog on every scan, keeps the descriptions people wrote next to the right columns, and records when each column last changed.
What goes into it
Every column, read from the catalog.
An agent inside your network reads the catalog with a read-only login and the workspace turns each scan into a document grouped by database, schema and table. Nothing is typed in twice, and nothing about the structure depends on someone remembering to update it.
Column, type, null, default
Types are shown the way the engine reports them, so a MySQL enum keeps its full value list and a SQL Server nvarchar keeps its length.
The comments already in the database
MS_Description on SQL Server, COMMENT ON in PostgreSQL and column comments in MySQL appear next to each column without any import.
Notes that outlive regeneration
A description written in the workspace attaches to a database, schema, table or column and is still there after the next release rewrites the page.
When did this column last change?
Each column carries the date of its last change, and every schema change creates a revision with a diff you can open later.
Doing it by hand
One query per engine gets the first version.
For a one-off deliverable, a catalog query exported to CSV is often enough. These guides give the query, the way to write descriptions into the database, and the reason the export drifts after a few releases.
SQL Server data dictionary
sys.columns, primary keys and MS_Description in one query, and how to set descriptions with sp_addextendedproperty.
PostgreSQLPostgreSQL data dictionary
pg_catalog with format_type, keys and col_description, exported with psql as CSV, Markdown or HTML.
MySQLMySQL data dictionary
information_schema.COLUMNS with full enum types and comments, and why changing a comment means repeating the column.
Limits worth knowing
What this data dictionary is not.
It is not a business glossary or a data catalog with owners, lineage and approval workflows, and there is no Excel or PDF export: the dictionary is read in the workspace, shared through a public link or copied as HTML into a wiki. Foreign keys appear in the schema map rather than the column table, and the map exports to Mermaid, DBML or SQL. PostgreSQL partitioned tables are not part of the scan yet.
FAQ
Common questions
What is a data dictionary? +
A list of every table and column in a database with its type, whether it accepts nulls, its default and a description of what it means. It is the reference people open when they write a query against a table they did not design.
Is a data dictionary the same as a data catalog? +
No. A data catalog adds ownership, lineage, business terms and search across many systems. A data dictionary describes the structure of one database. Taavik produces the second, kept current automatically.
Which databases are supported? +
SQL Server, Azure SQL Database, PostgreSQL, MySQL and Amazon Redshift. Redshift exposes less metadata than the others, so its dictionary has no comments, indexes or triggers.
Does it overwrite the descriptions we already wrote? +
No. Comments stored in the database are read as they are, and notes written in the workspace are kept separately and attached to their objects, so regeneration never removes them.
How current is it? +
The agent scans every 6, 12 or 24 hours or weekly. The free plan scans at most once a day and covers one database connection.
Can it be exported? +
The document can be shared through a public link, opened as raw Markdown or copied as HTML. There is no Excel or PDF export.
Generate the data dictionary from the database you already have.
The free plan covers one connection, which is enough to see the dictionary for your largest database and decide whether the rest should follow.