EDB PostgreSQL RM Switch Module

Provides the information required to build the EDB PostgreSQL RM switch module.
Restriction: This topic applies only when the Enterprise Server feature is enabled.
Note: This is a technology preview feature only. It is being made available to allow you to test and provide feedback on this new capability; however, this feature is not intended for production use and it is not supported as such. Furthermore, Micro Focus does not guarantee that this feature will be delivered at a GA level and if it is, then the functionality provided might differ considerably from this technology preview.

The EDB PostgreSQL module provides two-phase commit support using PostgreSQL-provided SQL calls, and ensures that any database connections made using this switch module all participate in a single XA transaction.

Source Code
The EDB PostgreSQL RM switch module COBOL source file, ESPGSQLXA.CBL is located by default in the %ProgramFiles(x86)%\Micro Focus\Visual COBOL for Visual Studio 2013\src\enterpriseserver\xa directory.
Note: If you prefer to supply user credentials programatically rather than in the xa_open string, instructions for doing so are provided in the COBOL source file in the Customization section.
Build Requirements
To build the EDB PostgreSQL RM switch module, you must have the Windows Software Development Kit (SDK) installed for your version of Windows.

Before building this switch module, ensure that your LIB environment variable contains the path to the odbc32.lib file, located in a subdirectory under your Windows SDK LIB directory.

Building the Switch Module
Method 1
  1. Start a Visual COBOL command prompt, 32-bit or 64-bit depending on the application, running as an administrator.
  2. Change to the %ProgramFiles(x86)%\Micro Focus\Visual COBOL for Visual Studio 2013\src\enterpriseserver\xa directory (default location).
  3. Enter build pg [directives]
Method 2
  1. Start a Visual COBOL command prompt, 32-bit or 64-bit depending on the application.
  2. Copy all files from the %ProgramFiles(x86)%\Micro Focus\Visual COBOL for Visual Studio 2013\src\enterpriseserver\xa directory (default location) to any location where you have WRITE permission.
  3. Change to the directory containing the copied files.
  4. Enter build pg [directives]
Build Output
The build process produces two binary switch module files from the ESPGSQL.CBL COBOL source file:
Binary File Type
ESPGSQLXA_S.DLL static
ESPGSQLXA.DLL dynamic

You can register an RM switch module with Enterprise Server dynamically, or register it statically depending on which binary file you use. We recommend that you use the dynamic switch module option, as this ensures that only active databases used in the global transaction participate in the TM/RM XA flow.

Additional Resources
For more information on using the EDB PostgreSQL RM switch module, including the xa_open string definition, see EDB PostgreSQL xa_open string.