taler-docs

Documentation for GNU Taler components, APIs and protocols
Log | Files | Refs | README | LICENSE

commit 7c2e8879e09270d39b8394e28d421d9a339358f2
parent f4f77e5b50c77936b75816b68380638745ef87ef
Author: Florian Dold <dold@taler.net>
Date:   Tue,  8 Sep 2026 16:54:32 +0200

Exchange: document GC without schema migration

Diffstat:
Mmanpages/taler-exchange-dbinit.1.rst | 6+++++-
Mtaler-exchange-manual.rst | 5+++++
2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/manpages/taler-exchange-dbinit.1.rst b/manpages/taler-exchange-dbinit.1.rst @@ -53,7 +53,11 @@ Its options are as follows: **-g** \| **--gc** Garbage collect database. Deletes all unnecessary data in the - database. + database. Requires an initialized, current schema and does not apply + migrations or reload stored procedures. If migration is pending, exits + with a diagnostic and a nonzero status; run the schema upgrade explicitly + before retrying GC. An explicit **--reset** retains precedence and recreates + the schema even when combined with **--gc**. **-h** \| **--help** Print short help on options. diff --git a/taler-exchange-manual.rst b/taler-exchange-manual.rst @@ -1539,6 +1539,11 @@ The tool also allows you to reset the Taler exchange database, which is useful for test cases but should never be used in production. Finally, ``taler-exchange-dbinit`` has a function to garbage collect a database, allowing administrators to purge records that are no longer required. +Garbage collection (``taler-exchange-dbinit -g``) requires a current schema; +it never applies schema upgrades or reloads stored procedures. Stop the +Exchange services and apply any pending migration explicitly before running +GC. This also applies to the scheduled Debian GC job. An explicit ``--reset`` +is destructive and retains its schema-initialization behavior even with ``-g``. The database scheme used by the exchange looks as follows: