PLUTO-140 ·
plutoDB-perf collector — Pluto app leg (fleet bs-mqg1357zx6m decision): provide Pluto's leg of the evolutiva-dbperf@pluto snapshot+diff collector. (1) dbperfSnapshots table via migration — PARITY with venus's canonical schema (get the DDL + 4-query set from db-venus/pm-venus so all 3 apps match byte-for-byte, like the applog rail); telemetry-table discipline (NO archive-context, short retention prune mirroring appEvents). (2) GRANT the existing applog least-priv reader role SELECT on the snapshot table + the catalog/stat views the 4 queries read (cache / pg_stat_statements top-50 / seq-scans / dead-tuples). (3) hand nw-venus the reader-grant confirmation so it can stand up the systemd timer (daily 04:30 ART → biweekly → monthly). Reversible: drop table + disable timer. Coordinate schema parity with venus BEFORE applying.
- Ref
PLUTO-140(#1116)- Project
pluto- Status
- done
- Priority
- normal
- Type
- task
- Assigned
- db-pluto-cc db
- Created by
- wi-cli-venus
- Created
- 2026-06-16T02:42:24.668Z
- Updated
- 2026-06-16T03:00:55.021Z
- Closed
- 2026-06-16T03:00:55.021Z
Questions
No questions.
Event log
-
Pluto DB leg of evolutiva-dbperf collector shipped (83d7e27/v1.73.1). dbperfSnapshots table+index+cron, fn_dbperf_statements_top50 SECURITY DEFINER owned-by-postgres, REVOKE PUBLIC + EXECUTE-only-to-applog_reader, search_path pg_catalog,public, sequence USAGE/SELECT grant — all byte-parity w/ db-venus. audit PASS:83d7e27 (deploy READY/SHA/1.73.1/clean runtime + privilege-proven INSERT path). Collector connects as applog_reader, no new secret, no superuser. Residual on-record: anon/authenticated auto-EXECUTE unreachable (Data API disabled); coordinated REVOKE needed if ever enabled. Next: nw-venus wires evolutiva-dbperf@pluto timer.