{% extends "base.html" %} {% block title %}Voxint — database{% endblock %} {% block body %} {% from "settings/_tab_strip.html" import settings_tabs with context %} {{ settings_tabs("database") }} {# Console 2.0 P6 database sub-page (issue #161): size, per-table row estimates, and the retention/GC settings. Counts are estimates from pg_stat_user_tables, not live COUNT(*), and every query is fail-soft: a down or unmigrated database renders an honest "could not read" state instead of an error. #}
Total database size: {{ (database.size_bytes / 1048576) | round(1) }} MiB ({{ database.size_bytes }} bytes)
{% if database.tables %}Estimated live rows, largest first. Estimates come from Postgres statistics and can lag recent writes.
| Table | Estimated rows |
|---|---|
{{ t.name }} | {{ t.estimated_rows }} |
No table statistics reported yet.
{% endif %} {% else %}Could not read the database size right now. The database may be down or not yet migrated.
{% endif %}Media retention reclaims only the large normalized-audio
intermediate for old finished runs; source media, transcripts, and the
adjudication history are always kept. These are the values the running app
booted with; set them in your .env (keys
MEDIA_RETENTION_ENABLED, MEDIA_RETENTION_SECONDS,
GC_SWEEP_SECONDS, GC_BATCH_LIMIT) and restart Voxint
to change them.
| {{ r.label }} | {{ r.value }} |
|---|
Back up your data regularly. If you installed with the native launcher,
run voxint-native.sh backup to create a timestamped database dump.
Otherwise, stop Voxint (or ensure the database is quiet) and use
pg_dump to copy your Postgres data. Keep backups somewhere off
this machine.