During the PostgreSQL installation, you must specify certain PostgreSQL configurations for optimum performance with VMware Identity Manager.

Before you begin

  • Install and configure a supported version of VMware vFabric PostgreSQL as the external database server from one of the installation packages, such as OVA, OVF, or RPM, with the citext module installed. The citext module supports the CITEXT data type, a case insensitive text type. Verify that the VMware vFabric PostgreSQL version that you use is compatible with your version of VMware Identity Manager. For information about supported VMware vFabric PostgreSQL versions, see the VMware Product Interoperability Matrixes at http://www.vmware.com/resources/compatibility/sim/interop_matrix.php.

  • Install and configure the load balancing implementation.

  • Verify that your environment meets these requirements:

    • The database server you use is PostgreSQL.

    • The database administrator username and password are available.

    • You must enter a username and password to create a user with authorization to the saas schema. This user is required when you connect a VMware Identity Manager virtual machine instance to the database.

      Note:

      The VMware Identity Manager virtual machine uses the database name saas. During the initialization process, it drops and recreates any existing database named saas.

About this task

Note:

VMware Identity Manager does not currently support generic PostgreSQL.

Procedure

  1. Log in as the root user.
  2. Edit the postgresql.conf file.

    For example, the VMware vFabric PostgreSQL database location is /var/vmware/vpostgres/current/pgdata/.

  3. Increase the max_connections parameter. Each additional VMware Identity Manager virtual machine requires at least 300 connections to function properly with VMware Identity Manager.
  4. Set the max_connections parameter value to 600 for the two VMware Identity Manager virtual machines.
  5. Restart the database.
  6. Add a new line to the postgresql.conf.auto file that includes the search_path='saas' parameter.
  7. Run the PostgresSQL commands to create a new PostgreSQL database schema.
    Table 1. Create a New Database Schema SQL

    Sample SQL to Create a New Database Schema

    CREATE ROLE horizon LOGIN

    PASSWORD yourpassword

    NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;

    ALTER ROLE horizon

    SET search_path = saas;

    CREATE DATABASE saas

    WITH OWNER = postgres

    ENCODING = 'UTF8'

    TABLESPACE = pg_default

    CONNECTION LIMIT = -1;

    GRANT CONNECT, TEMPORARY ON DATABASE saas TO public;

    GRANT ALL ON DATABASE saas TO postgres;

    GRANT ALL ON DATABASE saas TO horizon;

    \connect saas;

    CREATE SCHEMA saas AUTHORIZATION horizon;

    CREATE EXTENSION citext SCHEMA saas;