PostgreSQL sink
Backend postgres — registry/observation/plain tables in schema pipeline.
Transport: framework/db/postgres/. Adapter: backend_builtins._Postgres*.
DRTML (inline)
Section titled “DRTML (inline)”datasets: lemma_vocab: role: output backend: postgres kind: registry uniq: lemma_token_id columns: run_id: { type: string, not_null: true } lemma_token_id: { type: string, not_null: true } token_count: { type: int64, not_null: true } postgres: connection: postgres_app schema: pipeline table: lemma_run_staging_v1 schema_version: "2026.07.3" on_conflict: target: [run_id, lemma_token_id] action: do_update update_additive: [token_count] checkpoint: { column: doc_id, every_n: 100 } metric_defs: cardinality: { method: count_distinct, column: lemma_token_id }DDL vs runtime
Section titled “DDL vs runtime”| When | What |
|---|---|
| Deploy | ddl_codegen → static/postgres/ → migrate-postgres.sh |
| Run start | assert_schema_version |
| Run | INSERT/UPSERT / metric snapshot procs |
Forbidden at runtime: CREATE TABLE / ALTER.
Forbidden in platform init: step-specific DDL (bootstrap + generic procs only).
Saturation
Section titled “Saturation”See Saturation. Homogeneity uses a single formula B.