When attempting to start the Automation Engine, or when running Utilities (such as DBLoad to upgrade the database schema or DB Maintenance) pointing to a PostgreSQL database, the process fails.
UCUDB: Error while checking data source (e.g. code conversion or driver problem, see log file)
U00029120 UCUDB: Function LoadLibrary failed. Library 'UCUPGS' [or 'ucupgs.so'] error 'The specified module could not be found' [or 'libpq.so.5: cannot open shared object file: No such file or directory'].
Component: Automation Engine, Utilities (DBLoad, DB Maintenance, etc.)
Versions: 12.X, 21.X, 24.X
Database: PostgreSQL
The PostgreSQL ODBC drivers/libraries are not present in the bin folder of the Automation Engine and the Utilities, or the OS path variables (PATH on Windows or LD_LIBRARY_PATH on Linux/UNIX) are not configured to point to the correct library directories.
Please ensure you are utilizing a supported PostgreSQL version for your version of the Automation Engine (refer to the Automic Compatibility Matrix). Apply the appropriate OS-specific resolution below:
For Windows: The required .dll files must be added to the bin folder of the Automation Engine and the Utilities, or they must be included in the Windows PATH environment variable.
Download the psqlodbc package from the PostgreSQL repository (Ensure you use the latest version for your PostgreSQL installation).
Extract the required files. Required libraries typically include libpq.dll, libeay32.dll, and ssleay32.dll. (Note: For PostgreSQL versions lower than 11.0, libiconv-2.dll and libintl-8.dll are also required).
Alternatively, all needed libraries can be copied directly from the directory where the PostgreSQL client was installed (e.g., C:\Program Files\psqlODBC\<version>\bin).
Place these files in the bin folder and rerun the utility.
For UNIX/Linux: Ensure that a PostgreSQL client is installed on the server and that the library path is correctly defined in the user profile.
Locate the PostgreSQL library folder on your machine (For example: /opt/automic/postgresql/pgsql/lib/).
Add this path to the LD_LIBRARY_PATH environment variable for the user that starts the ServiceManager or the utility processes.
This can be permanently set in the user's .bash_profile or .profile.
Rerun the utility or start the Automation Engine.