Catalog¶
A Catalog is a set of reference data — a dictionary or lookup table used during transformation and validation. A Kontenrahmen (chart of accounts) mapping code → name is a typical example.
How catalogs are used¶
During a transform, a catalog is made available to DuckDB as a temporary table, so a Transformer mapping or a Business Rule can look values up:
(SELECT "name" FROM dict_kontenplan WHERE "code" = "Konto")
Storage¶
Catalog data is stored as Parquet (written via polars), not in PostgreSQL rows. A catalog can also be schema-first — defined with columns but no data yet — so you can wire up the structure before the reference data arrives.
Scoping¶
Catalogs have the richest scoping of any object — four tiers:
- Org-level — reusable everywhere.
- Project-scoped — bound to one project, auto-available within it.
- Provider-scoped — bound to a specific Data Provider.
- Org-level attached to a project via a join table.
A project-scoped catalog overrides an attached org-level catalog of the same name, the same way entities resolve.
Importing data can reshape the schema
Importing rows into a catalog collapses its schema to whatever columns are present in the imported file. If you need to keep extra columns, include them (even if blank) in the import.