gen_random_uuid() creates a different UUID in each node of a replicated PostgreSQL environment when Pgpool-II is used in native replication mode.
This has been reported for mod-configuration and Pgpool-II replication in #sys-ops on Slack. From the Pgpool-II manual:
There is no guarantee that any data provided using a context-dependent mechanism (e.g. random number, transaction ID, OID, SERIAL, sequence), will be replicated correctly on multiple backends.
RMB documentation mentions it in the upgrading guide for RMB 25 and in connection with "generateId": https://github.com/folio-org/raml-module-builder/#the-post-tenant-api
- Create an issue for each module that still uses gen_random_uuid from pgcrypto:
- Remove gen_random_uuid and "CREATE EXTENSION pgcrypto".
After all modules have removed gen_random_uuid RMB and Spring base should add this function that takes precedence over the function from pgcrypto:
Pgpool-II streaming replication mode is NOT affected by this issue, only Pgpool-II native replication mode.