This page describes the purpose of each table in the n8n database.
Database and query technology#
By default, n8n uses SQLite as the database. If you are using another database the structure will be similar, but the data-types may be different depending on the database.
n8n uses TypeORM for queries and migrations.
To inspect the n8n database, you can use DBeaver, which is an open-source universal database tool.
These are the tables n8n creates during setup.
Stores the credentials used to authenticate with integrations.
Contains the destination configurations for Log streaming.
Stores all saved workflow executions. Workflow settings can affect which executions n8n saves.
Lists the community nodes installed in your n8n instance.
Details of npm community nodes packages installed in your n8n instance. installed_nodes lists each individual node.
installed_packages lists npm packages, which may contain more than one node.
A log of all database migrations. Read more about Migrations in TypeORM's documentation.
The available user roles and scopes in n8n. One user may have several roles: for example, a global instance member may also be a workflow owner.
Records custom instance settings. These are settings that you can't control using environment variables. They include:
- Whether the instance owner is set up
- Whether the user chose to skip owner and user management setup
- License key
Maps credentials to users.
Maps workflows to users.
All workflow tags created in the n8n instance. This table lists the tags. workflows_tags records which workflows have which tags.
Contains user data.
Records the active webhooks in your n8n instance's workflows. This isn't just webhooks uses in the Webhook node. It includes all active webhooks used by any trigger node.
Your n8n instance's saved workflows.
Maps tags to workflows. tag_entity contains tag details.
Entity Relationship Diagram (ERD)#