PostgreSQL Configuration
Both ECC and UCApp uses in-memory database (H2) with persisting db on file system. This setup can be used for some small POC projects, to verify if integration is working and similar, but for real use case scenario, some more resilient database should be used. Below you can find configuration for setting PostgreSQL.
In order to switch to PostgreSQL database, following steps are needed:
Modify docker compose file, and add 2 PostgreSQL services, one for Provider and one for Consumer:
postgres_provider:
image: postgres:16.2-alpine3.19
hostname: postgres_provider
expose:
- "5432"
networks:
- provider
env_file:
- ./postgres_provider.env
volumes:
- ./app_provider:/var/lib/postgresql/data
- ./create-multiple-postgresql-databases.sh:/docker-entrypoint-initdb.d/create-multiple-postgresql-databases.sh
postgres_consumer:
image: postgres:16.2-alpine3.19
hostname: postgres_consumer
expose:
- "5432"
networks:
- consumer
env_file:
- ./postgres_consumer.env
volumes:
- ./app_consumer:/var/lib/postgresql/data
- ./create-multiple-postgresql-databases.sh:/docker-entrypoint-initdb.d/create-multiple-postgresql-databases.sh
Add dependency for ECC and UCApp to postgres
Modify usage control property files, for
ecc_resources_provider
and ecc_resources_consumer
and uc-dataapp_resources_provider
and uc-dataapp_resources_consumer
Postgres env file
2 env files needed for PostgreSQL should be created, in root of TRUE Connector directory:
postgres_provider.env with content
postgres_consumer.env with content
Script for creating multiple databases
Script create-multiple-postgresql-databases.sh should be created with content:
After saving script, please ensure that script is executable. If it is not executable, you can make it executable using the following terminal command:
Last updated