Skip to main content

Your warehouse's keys and descriptions, read on day one

Axiome now starts from what your data team already wrote in the warehouse: the keys your tables declare become joins, and the descriptions of your tables and columns become those of your models — on PostgreSQL and on BigQuery, with nothing to set up.

What changed​

  • Joins from your declared keys. Primary and foreign keys declared in the warehouse — PostgreSQL constraints, or the NOT ENFORCED constraints dbt writes on BigQuery when a model contract lists them — become the keys of the generated models. Tables join across datasets from the first day, before anyone declares a key by hand. Keys you declare, or that a dbt import brings, still come first.
  • Descriptions from your warehouse. Table and column comments on PostgreSQL, and descriptions on BigQuery (dbt's persist_docs writes them), show in the table header and the column inspector until you write your own — and Axi reads them when it answers.
  • Read-only roles see everything. On PostgreSQL, keys and comments are read from the system catalog, so the recommended read-only role needs no extra grant.
  • One unreadable table no longer blocks the rest. A table Axiome can't read keeps its last known columns, and Refresh schema lists it with the warehouse's reason.
  • Faster pages. Axiome keeps a copy of each connection's schema and refreshes it in the background, so dashboards, the Data section and Axi never wait on the warehouse to list its tables.

📖 Keys the warehouse declares · Refreshing the schema · PostgreSQL · BigQuery