
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
How to Install PostgreSQL ODBC client on Linux for PostgreSQL Target Endpoint
Feb 18, 2025 4:01:57 AM
May 3, 2024 6:08:04 AM
This article provides a comprehensive guide to efficiently install the PostgreSQL ODBC client on Linux for a PostgreSQL target endpoint.
If the PostgreSQL serves as Replicate source endpoint, please check: How to Install PostgreSQL ODBC client on Linux for PostgreSQL Source Endpoint
Overview
- Download the PostgreSQL ODBC client software.
- Upload the downloaded files to your Replicate Linux Server.
- Install the RPM files in the specified order.
- Take note of considerations or setup instructions during the installation process.
Steps
- Download the PostgreSQL ODBC client software
Please choose the appropriate version of the PostgreSQL client software and the corresponding folder for your Linux operating system. In this article, we are installing PostgreSQL ODBC Client version 13.2 on Linux 8.5.
- Upload the downloaded files to a temporary folder in your Qlik Replicate Linux Server
- Install the RPM files in the specified order
rpm -ivh postgresql13-libs-13.2-1PGDG.rhel8.x86_64.rpm
rpm -ivh postgresql13-odbc-13.02.0000-1PGDG.rhel8.x86_64.rpm
rpm -ivh postgresql13-13.2-1PGDG.rhel8.x86_64.rpm - Take note of considerations or setup instructions during the installation process.
- Note the installation folder (default: "/usr/pgsql-13/lib")
- Open site_arep_login.sh in /opt/attunity/replicate/bin/ and add the installation folder as a LD_LIBRARY_PATH:
export LD_LIBRARY_PATH=/usr/pgsql-13/lib:$LD_LIBRARY_PATH
- Save the site_arep_login.sh file and restart Replicate Services.
- unixODBC is a prerequisite. If it's not already present on your Linux Server, make sure to install it before PostgreSQL ODBC client software installation:
rpm -ivh unixODBC-2.3.7-1.el8.x86_64.rpm
- "/etc/odbcinst.ini" is required:
[PostgreSQL]
Description = ODBC for PostgreSQL
Driver = /usr/lib/psqlodbcw.so
Setup = /usr/lib/libodbcpsqlS.so
Driver64 = /usr/pgsql-13/lib/psqlodbcw.so
Setup64 = /usr/lib64/libodbcpsqlS.so
FileUsage = 1 - "psql" is required if the task set to Batch optimized apply mode. Add "/usr/pgsql-13/bin" to PATH system environment and restart service if hit error "psql" cannot be found.
- "/etc/odbc.ini" is optional and typically not required, unless it becomes necessary for troubleshooting connectivity issues by "isql".A sample:
[pg15]
Driver = /usr/pgsql-13/lib/psqlodbcw.so
Database = targetdb
Servername = <targetDBHostName or IP Address>
Port = 5432
UserName = <PG User Name>
Password = <PG user's Password>
Environment
- Qlik Replicate all versions
- PostgreSQL Server all versions
- PostgreSQL Client version 13.2

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Thank you @john_wang .
In my case, while testing the ODBC connection, I encountered the following error. This may have been caused by the collation settings of my PostgreSQL database or the fact that my RHEL 9 locale was set to tr-tr or I have installed rpm packages with different versions rather than you specified:
Error Message:
RetCode: SQL_ERROR SqlState: 01000 NativeError: 0 Message: [unixODBC][Driver Manager]Can't open lib 'PostgreSQL Unicode(x64)' : file not found
I downloaded and installed the latest PostgreSQL ODBC drivers compatible with RHEL 9. (Links may get outdated soon, try to find the latest ones)
The following commands were used:
wget https://ftp.postgresql.org/pub/repos/yum/13/redhat/rhel-9.4-x86_64/postgresql13-libs-13.16-2PGDG.rhe...
wget https://ftp.postgresql.org/pub/repos/yum/13/redhat/rhel-9.4-x86_64/postgresql13-odbc-13.02.0000-2PGD....
wget https://ftp.postgresql.org/pub/repos/yum/13/redhat/rhel-9.4-x86_64/postgresql13-13.16-2PGDG.rhel9.x8...
Installing the packages:
sudo rpm -ivh postgresql13-libs-13.16-2PGDG.rhel9.x86_64.rpm
sudo rpm -ivh postgresql13-odbc-13.02.0000-2PGDG.rhel9.x86_64.rpm
# solved dependency error with installing the default unixODBC:
sudo yum install unixODBC
sudo rpm -ivh postgresql13-odbc-13.02.0000-2PGDG.rhel9.x86_64.rpm
sudo rpm -ivh postgresql13-13.16-2PGDG.rhel9.x86_64.rpm
Resolution Steps
Creating an Empty ODBC Configuration File as the user Attunity:
To resolve this issue, I created an empty .odbc.ini
file under the attunity
user's home directory.
[ert@localhost etc]$ sudo su attunity
[attunity@localhost etc]$ nano ~/.odbc.ini
[attunity@localhost etc]$ ls ~/.odbc.ini ls: cannot access '/home/attunity/.odbc.ini': No such file or directory
[attunity@localhost etc]$ touch ~/.odbc.ini
odbcinst -j
After creating the .odbc.ini
file, resulting odbcinst -j
:
[attunity@@localhos etc]$ odbcinst -j
unixODBC 2.3.9 DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /home/attunity/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
By following these steps, the ODBC connection test was successful.