Not a hand-drawn diagram
Every export comes from the last agent scan, so you can drop it into a README and forget about it until the next click.
GitHub, GitLab, Notion, Obsidian and Confluence all render Mermaid natively, which makes it the cheapest diagram you can put in a document nobody wants to maintain. Taavik emits an erDiagram that matches your live PostgreSQL schema and regenerates it on every scan, so pasting it into a README or a runbook is not a decision you have to revisit.
Every export comes from the last agent scan, so you can drop it into a README and forget about it until the next click.
GitHub and GitLab render Mermaid inline. Notion, Obsidian, Slab, GitBook: same. No image assets to upload, no dead link the next time the schema changes.
Claude, Cursor, GitHub Copilot, ChatGPT: they all emit and parse Mermaid natively. Hand the export straight to the agent, it grounds the reasoning on the actual schema.
A single .mmd file with the entity shapes and the relations. No SVG, no PNG, no library to install. Fits in a README, in a PR description, in a Slack message.
Primary keys, foreign keys, unique constraints, data types. Cardinality inferred from the FK metadata: one-to-many, one-to-one when the FK column is unique.
The on-premise agent scans your Postgres and sends the catalog. Not one row of your tables ends up in the diagram. What the cloud holds beyond the catalog is set out on the security page.
Example output
A snippet emitted by Taavik for a two-table domain. Drop it into any Markdown surface that renders Mermaid inline.
%% Auto-generated by Taavik.
%% Regenerated on every schema scan: do not edit by hand.
erDiagram
PUBLIC_USERS {
uuid id PK
varchar email UK
timestamptz created_at
}
PUBLIC_ORDERS {
uuid id PK
uuid user_id FK
varchar status
bigint total_cents
timestamptz created_at
}
PUBLIC_USERS ||--o{ PUBLIC_ORDERS : "user_id"
If the diagram is for an assistant
Pasting a Mermaid diagram into a conversation works, until the schema moves and the diagram is a week old. Taavik can hand the assistant the catalog directly instead: it looks up tables and columns by itself, reads the relations your database never declared, and sees which values a column really holds. Nothing to regenerate, no credentials to share.
FAQ
Anywhere that renders Mermaid inline. GitHub and GitLab render it directly in a fenced mermaid block. Notion, Obsidian, Slab, GitBook, Confluence, and most static site generators support it out of the box.
Yes. Columns are annotated with PK for primary keys, FK for foreign keys, UK for unique constraints. Cardinality is inferred from the FK metadata: one-to-many by default, one-to-one when the FK column is unique.
Mermaid handles hundreds of entities before rendering slows down on GitHub. For very large schemas, Taavik lets you export a filtered subset from the ERD canvas so the diagram stays readable in the target surface.
Yes, and it is a good idea. Every mainstream AI coding agent parses Mermaid natively, so the diagram grounds the assistant on the actual schema without exposing the database connection or any row data.
Enum columns render with the underlying type (usually varchar) and a comment listing the labels. JSON and JSONB columns keep their type. Postgres array types render as the base type followed by the array marker.
Yes. Table names are namespaced with the schema prefix when it is not the default (public), so hr.employees becomes HR_EMPLOYEES and stays distinct from public.employees. Cross-schema relations are drawn between the correct entity names.
Install the agent, run a scan, click Export Mermaid. Under ten minutes from nothing to a diagram, and free for one connection.