mirror of
https://github.com/Haidra-Org/AI-Horde.git
synced 2026-11-06 05:17:31 +00:00
- kudos_ledger and kudos_stat_events are range-partitioned on created with (id, created) primary keys, so retention removes whole partitions by age - KudosPartitioning and ensure_kudos_event_partitions create upcoming partitions with the autovacuum storage parameters; init_db and the test fixtures call it after create_all - The retention catalog, stat rollup, quarantine, ledger checkpoint, daily statement and idempotency key models and their enums are declared alongside the event tables, so one migration and the ORM build the same schema - kudos_db gains a session-level retention advisory lock taken on a dedicated autocommit connection - sql_statements/5.1.16.txt creates the retention tables, backfills idempotency keys inside the online window and converts the existing tables in place by attaching each as a legacy partition behind a validated range CHECK - tests/integration/test_kudos_retention_migration.py checks the conversion, reruns, refusal guards and ORM parity with the migration
1.5 KiB
1.5 KiB
AI-Horde Database Information
- postgresql >=15
- pg_cron
5.1.16.txtrequires thepsqlclient, because it uses\gexec. Apply it in one session with-v ON_ERROR_STOP=1and without--single-transaction, as described in Kudos ledger operations.
pg_cron config
Warning
: All
.sqlfiles found in a directory deeper thansql_statements/will be dynamically run, not only the ones specifically identified in this document. Only place.sqlfiles you intend to run in these directories. This does not apply to thesql_statementslevel (i.e.,sql_statements/4.35.1.sqlis not automatically run, butsql_statements/cron/your_new_file.sqlwill be.)
cron/schedule_cron_job.sql- Creates a stored procedure which schedules a new pg_cron job to execute a specified stored procedure at intervals defined by a cron schedule string, if a job with the same command doesn't already exist.
- e.g.,
CALL schedule_cron_job('0-59 * * * *', 'compile_imagegen_stats_totals');
stored_procedurescompile_*gen_stats_*.sql- These files defined stored procedures which populated the
compiled_*tables and generally represent minute/hour/day/total statistics about generations.
- These files defined stored procedures which populated the
cron_jobs/- Schedules any stats compile jobs via
schedule_cron_job.
- Schedules any stats compile jobs via