An occasional consistency check (not for connect time) comparing
meta.series with the registered series schemas: non-series tables, views,
sequences and functions inside a series schema; registered series whose
table is missing; series tables without a timestamp column or its BRIN
index. Report only; user schemas are never examined. find_schema_problems()
fingerprints its body like every other procedure.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- meta.series_schemas (name, description, created_at, created_by), seeded
with 'series'. FK series_db_schema_fkey from meta.series.db_schema: a
series may only live in a registered schema, for every client.
Unregistered schemas belong to the user and are never touched.
- CHECK series_schemas_name_check and series_table_name_check enforce the
shared lower-case identifier rule in the database.
- meta.find_schema_problems() covers the registry and reports a registered
schema that no longer exists; user schemas are not examined.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
meta.find_schema_problems() (09), the version row in the DDL (10), every
install running 00-10, and the removal of sql/migrate/ changed what a
complete database is. Databases from 1.0.0 are re-provisioned.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Single source of truth for the timeseries PostgreSQL schema shared by the
Python (TSAPI_SERIESDB_PG_PY) and C++ (TSAPI_POSTGRES_CPP) libraries. SQL
seeded byte-for-byte from TSAPI_SERIESDB_PG_PY/tsapi_pgdb/sql on 2026-09-02.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>