Update the Configuration File for PostgreSQL Region and Cross-Region Databases

Use these steps to create or update a configuration file to include entries to one or more region databases, and a cross-region databases.

You should only create or update a configuration file using the dbfhconfig command line utility.

  1. Open an Enterprise Developer command prompt.
    Note: On Windows, the command prompt must be the same bitism as the ODBC data source that you intend to use.
  2. Set the MFDBFH_CONFIG environment variable to locate the configuration file to be created or updated:
    set MFDBFH_CONFIG=<location-and-name-of-file>

    If you do not set this variable, a file named MFDBFH.cfg is assumed to be located in the current directory.

    Note: The MFDBFH_SCRIPT_DIR environment variable is also required to point to the stored procedures used to interact with a datastore; however, this variable is implicitly set already when using an Enterprise Developer command prompt.
  3. Add a database server instance that you intend to connect to:
    dbfhconfig -add -server:<server-name> -provider:pg

    where <server-name> is the name of the database server instance. An entry of localhost:<port> is also valid, which defaults to your machine name. If you have already updated the configuration file with the PostgreSQL datastores, this entry will already exist, and you will receive a message informing you of this; you can skip to the next step.

    Now specify the required databases within the instance.

  4. Firstly, you need to create a reference to the postgres database - this is the primary configuration database supplied with PostgreSQL:
    Note: If the <server> element for your database server instance already exists, this reference should already exist as well, and so again, skip this step.
    dbfhconfig -add -server:<server-name> -dsn:<dsn-name> -type:database -name:postgres [-user:<user-name>] [-connect:<connection-string>]

    where <dsn-name> is the ODBC data source for the PostgreSQL postgres database, or if you are using a connection string (instead of an ODBC data source), it is a unique name within the configuration in which to reference the database; <user-name> is a valid user for the instance (password credentials are discussed in a later step); and <connection-string> is the database connection string if you are establishing a database connection without the use of an ODBC data source - see Database Connection Strings for the database-specific syntax.

  5. Repeat the following step for each required region database:
    dbfhconfig -add -server:<server-name> -dsn:<dsn-name> -type:region -name:<region-name> -feature:<options> [-user:<user-name>] [-connect:<connection-string>]

    where <dsn-name> is the ODBC data source for the region database, or if you are using a connection string (instead of an ODBC data source), it is a unique name within the configuration in which to reference the database; <region-name> is the name of the enterprise server region; and <options> is a list of features for which the region will use the database.

    <options> can be one or more of:
    • all - all available region features enabled (default).
    • none - no region features enabled.
    • [+|-]reslocking - enables\disables database resource locking.
  6. Now add a reference to a single cross-region database:
    dbfhconfig -add -server:<server-name> -dsn:<dsn-name> -type:crossregion [-user:<user-name>] [-connect:<connection-string>] 
    where <dsn-name> is the ODBC data source for the region database, or if you are using a connection string (instead of an ODBC data source), it is a unique name within the configuration in which to reference the database.

Example configuration file

The following is an example of a configuration file that contains a datastore, a region database, and a cross-region database. As the login credentials are required to establish a connection to this database, the secrets vault has also been enabled: see Configure a Secrets Vault for the Micro Focus Database File Handler for more information.

<datastores usevault="true">
   <server name="localhost:5432" type="postgresql" access="odbc">
      <dsn name="PG.POSTGRES" type="database" dbname="postgres" userid="clerk" password="$$vault$$"/>
      <dsn name="PG.VSAM" type="datastore" dsname="VSAM" optio="none +ooseq" userid="clerk" password="$$vault$$"/>
      <dsn name="PG.ESDEMO" type="region.cas" region="PGDEMO" feature="all" userid="clerk" password="$$vault$$"/>
      <dsn name="PG.CROSSREGION" type="crossregion.cas" userid="clerk" password="$$vault$$"/>
   </server>
</datastores>
Next, you must create the region and cross-region databases using the dbfhadmin command line utility.