Skip to content

brewDB Table Self-Service

brewDB gives you self-service management of the tables backing your workflows: browsing the schema, creating new tables, and maintaining columns and indexes, without leaving the workbench. The legacy application had no query interface at all, so none of this — the tree, the wizard, or index management — has a legacy equivalent.

The database tree lists every table you have access to, independent of whatever workspace you currently have open. A search box filters the list as you type, and expanding a table lazy-fetches its schema — columns, indexes, constraints, and retention — rather than loading everything up front.

Each table in the tree carries an icon for its kind, so you can tell Standard, Hyper, Cyber, and Netflow tables apart at a glance without opening them. From there, a table’s context menu opens the actions covered below — editing columns, managing indexes, viewing DDL, and viewing details.

Database tree sidebar showing schema/table hierarchy with table-kind icons

From a table’s context menu you can open its DDL — a syntax-highlighted, copyable view of the CREATE TABLE statement that produced it.

A separate details view shows the table’s size, estimated row count, kind, column and index counts, and when (and by whom) it was created, alongside an amCharts activity chart. The chart plots rows added and removed over a selectable time range (24h, 7d, 14d, 30d, 90d, or 365d), so you can see write activity on a table without querying it directly.

Creating a table walks you through a 5-step wizard:

  1. Basics — name the table and choose its kind: Standard (a plain relational table), Hyper (a time-series hypertable, which requires a Timestamp column), Cyber (a cyber-domain table with tailored defaults, which requires an Inet column), or Netflow (a netflow-domain table with tailored defaults, which requires two Inet columns for source and destination).
  2. Columns — define the table’s columns and their CV types.
  3. Indexes — add indexes over the columns you defined. You don’t pick an index’s physical type directly; brewDB derives it (BTREE, GIN, or GIST) from the CV type of the column or columns it covers. A primary key already carries its own implicit unique index.
  4. Access — set the table’s ACL.
  5. Review — review the table definition before creating it.
5-step create-table wizard, showing the CV-type-to-index-method mapping step

Once a table exists, you can add or remove columns from it. Columns added in an edit start out nullable — you can’t add a NOT NULL or primary-key column in the same edit that creates it.

A dedicated index manager lets you create and drop indexes, and run reindex and analyze operations — either against a single index or, for reindex, against all of a table’s indexes at once. Index builds default to CONCURRENT mode, which builds without locking the table; Hyper, Cyber, and Netflow tables build blocking instead (chunked where possible), since they don’t support concurrent builds. Whichever mode is used, brewDB polls the in-flight operation and reports its progress live rather than leaving you waiting on an opaque operation.