FDSA Resources

Use External DB for FDSA management

Use these steps if you want FDSA to use an external PostgreSQL database (instead of the internal Docker database) for its core management services. This guide is intended for system and database administrators.

Important: 

  • PostgreSQL database names used by FDSA cannot contain spaces, hyphens (-), or other special characters
  • Use only letters, numbers, and underscores.


  1. Log in to your PostgreSQL server as an admin user:
    psql -h <HOST IP/url> -p <PORT> -U <user> postgres
  2. Create the 'fdsa_user':
    CREATE USER fdsa_user WITH PASSWORD 'fdsa_pass' SUPERUSER;
  3. Grant required privileges to 'fdsa_user':
    ALTER USER fdsa_user CREATEDB;

    ALTER USER fdsa_user CREATEROLE;
  4. Exit and log back in as 'fdsa_user':
    \q;

    psql -h <HOST IP/url> -p <PORT> -U fdsa_user postgres;
  5. Create the management databases ('keycloak' and 'fdsa_database') using port 5432 and ensure it is open for FDSA connectivity.
  6. Update
    .env
    with external DB credentials:
    PGHOST='<HOST_IP_OR_URL>'
    PGDATABASE='fdsa_database'
    PGUSER='fdsa_user'
    PGPASSWORD='fdsa_pass'
  7. Run the installer and choose the external DB: When the installer asks if you want to use an external database, answer 'yes'.


Note: The example above uses SUPERUSER for simplicity. If your organization’s security policies require stricter controls, work with your DBA or FDSA support to assign a more restrictive role with the necessary privileges.


What's Next

After configuration, you can verify connectivity from FDSA and proceed with normal operations such as managing users, datasets, and data access requests.