System Software Requirements

Mandatory:

  • OpenJDK 21 (JDK is necessary for the development, for running the system OpenJRE 21 headless is sufficient)

  • Postgres 18 with prepared transactions functionality enabled

Postgres required configuration

  • OpenBIS V3 API two-phase commit needs to have enabled Postgres prepared transaction functionality. This can be done by adding to postgresql.conf file “max_prepared_transactions” setting. For instance:

    max_prepared_transactions = 10
    

    More information on prepared transactions: https://www.postgresql.org/docs/18/sql-prepare-transaction.html

How to enable it (Postgres 18 - MacOS/Linux)

  1. Run following sql script:

ALTER SYSTEM SET max_prepared_transactions = 10;
  1. Restart postgresql: systemctl restart postgresql

OR

  1. Open your postgresql.conf file (most likely it is here: /etc/postgresql/18/main/postgresql.conf)

  2. Add max_prepared_transactions = 10 line and save the file

  3. Restart postgresql: systemctl restart postgresql

Afterwards, you can verify if prepared transactions are enabled by running following SQL script:

SHOW max_prepared_transactions;