Benchling’s Warehouse Tables come in 2 types:

  • Suffixed with $raw is a raw table (ex. “biotechtx.entity$raw")
  • Not suffixed with $raw is a default view or user view of a table (ex. “biotechtx.entity")


The raw table contains all of the rows and columns.

The default view contains a subset of those rows and columns. It filters out information that the typical user wouldn’t want to see. It filters out the system metadata columns _pkey and _sync_key. It typically filters out archived or unreviewed rows. For example:

  • The default view of result tables only contains result rows that are not archived, are reviewed, and are not invalid (via the Cell-Level Validation feature). Note the default view is a Postgres view over the raw table.
  • The default view of registry_entity only contains registered entity rows that are not archived.


Benchling recommends using raw tables for following cases:

  • If you want an un-filtered view like result tables containing unreviewed data.
  • If you want to view not only un-archived but also archived entities.
  • If you want to filter by Registry Validation feature. Use the validation_status = 'PASSED' filter in this case.
  • If you are not familiar with filters on default view tables. Since filters vary from table to table, it is safer to query a raw table and explicitly apply filters as needed.
Did this answer your question?