Skip to main content
After schema approval and materialization, synced SQLite data lives in edge_state_* tables for relational rows and edge_ts_* hypertables for telemetry — not in the raw staging ledger.

Telemetry hypertables (canonical for telemetry)

Physical table naming: Telemetry hypertables always include device_id and event_ts, plus the approved source columns for that SQLite table. Golain enables Timescale compression on these tables after 1 day. Use these tables as the canonical read surface for telemetry written through edge replication. The older shared telemetry table is not the primary query surface for the current edge flow.

State tables (relational)

Physical table naming: device8 / project8 / fleet8 are truncated hex prefixes of UUIDs. Rows include platform columns (device_id, version metadata) plus source columns you approved with action mirror.

HTTP API

Returns paginated JSON rows from the provisioned relational target for that lineage. Staged (pre-materialization) rows:
Use staged endpoint to debug; use mirror-rows for product queries.

platform-tui

  1. Edge Sync → Lineages → select lineage
  2. Press w for written data
  3. Toggle s / w in data viewport
If mirror-rows returns 404 for a telemetry lineage, the TUI builds a QueryScript fallback against the lineage’s edge_ts_* hypertable — see below.

QueryScript (Data explorer)

Project menu → Data explorer posts QueryScript v2 JSON. Example — filter telemetry written from mapped columns:
Replace the table name with the actual edge_ts_* target for your Project or Fleet and use the device UUID (from console or golain devices get), not the MQTT device name, for filters. CLI equivalent: run TUI Data explorer or call POST /projects/{id}/queryscript via API.

Choosing mirror vs telemetry

Authz note

Authorized read paths for mirror tables in product UI are evolving. Admin operators with project device-manage permission can read via edge API today. Customer-facing dashboards should confirm authz model before exposing mirror data broadly.

Verification queries (operators with DB access)

On Timescale (internal debugging only):
Do not expose raw TSDB access to end customers — use API and QueryScript.

Empty results checklist