Skip to main content

Metadata tables

Every LakeTS metadata object lives in the lakets schema. These tables are the backbone of state management.

_version

ColumnTypeDescription
versionTEXTInstalled semver (e.g. '0.1.2')
installed_atTIMESTAMPTZInstallation timestamp
modulesTEXT[]List of installed module names

Upgrade guard: prevents downgrade or re-install of the same version.

_chronotable_registry

ColumnTypeDescription
idSERIALUnique chronotable_id
schema_nameTEXTSchema name
table_nameTEXTTable name
time_columnTEXTPartitioning column
chunk_intervalINTERVALPartition size (default 7 days)
space_columnTEXTOptional secondary (hash) partition column
space_partitionsINTNumber of space partitions (default 1)
tiering_enabledBOOLEANWhether a tiering policy is active
retention_intervalINTERVALRetention window, if a policy is set
shadow_table_nameTEXTlakets_cdf shadow table name when sync is enabled
sync_enabledBOOLEANWhether Lakebase CDF sync is enabled
last_synced_lsnBIGINTLast LSN mirrored to the shadow table
created_atTIMESTAMPTZRegistration time

_chunk_metadata

ColumnTypeDescription
idSERIALUnique chunk_id
chronotable_idINTFK to _chronotable_registry
chunk_nameTEXTPartition name
range_startTIMESTAMPTZLower bound
range_endTIMESTAMPTZUpper bound
statusTEXTactive / tiered / dropped
row_countBIGINTEstimated rows in the chunk
size_bytesBIGINTEstimated chunk size on disk
tiered_atTIMESTAMPTZWhen the chunk was flagged tiered (validated durable in UC; partition still resident in Lakebase)
last_write_lsnPG_LSNWAL position of the chunk's most recent write (used by the tiering durability gate)
last_modified_atTIMESTAMPTZLast write timestamp (powers chunk-skip pruning)
created_atTIMESTAMPTZCreation time

_rollup_registry

ColumnTypeDescription
idSERIALUnique rollup_id
nameTEXTRollUp name (unique)
source_chronotable_idINTFK to _chronotable_registry (the source ChronoTable)
rollup_tableTEXTMaterialized RollUp table name (_rollup_{name} in public)
realtime_viewTEXTReal-time view name, if created
bucket_intervalINTERVALBucket size
refresh_lagINTERVALMinimum time between refreshes (default 1 hour)
watermarkTIMESTAMPTZLast refresh boundary
query_textTEXTAggregation SQL
last_refreshed_atTIMESTAMPTZTimestamp of the last successful refresh
bucket_columnTEXTAuto-detected bucket column (default bucket)
source_time_columnTEXTSource time column used for predicate injection
predicate_injectionBOOLEANWhether incremental refresh injects a time predicate
depends_onINT[]Upstream rollup IDs for cascade refresh
sync_enabledBOOLEANWhether Lakebase CDF sync is enabled
shadow_table_nameTEXTlakets_cdf shadow table name when sync is enabled
created_atTIMESTAMPTZRegistration time

_rollup_invalidation_log

ColumnTypeDescription
idSERIALUnique entry id
rollup_idINTFK to _rollup_registry
bucket_startTIMESTAMPTZDirty bucket timestamp
invalidated_atTIMESTAMPTZWhen marked dirty

_policy_registry

ColumnTypeDescription
idSERIALPolicy ID
chronotable_idINTFK to _chronotable_registry
policy_typeTEXTtiering / retention / tiered_retention
configJSONBPolicy parameters
enabledBOOLEANActive flag
last_run_atTIMESTAMPTZLast execution time
created_atTIMESTAMPTZRegistration time

_lvc_registry

ColumnTypeDescription
idSERIALUnique LVC id
chronotable_idINTFK to _chronotable_registry
cache_table_nameTEXTCache table name (_lvc_{table})
key_columnsTEXT[]Series-identity columns
value_columnsTEXT[]Cached value columns
enabledBOOLEANActive flag
created_atTIMESTAMPTZRegistration time