PostgreSQL ODBC 编译安装

1. 编译 PostgreSQL 数据库

PostgreSQL 源码编译安装过程此处省略,安装位置为 /data/zhang/app/pg13.3,后面会用到。

2. 编译安装 unixODBC

下载 unixODBC 源码:

git clone https://github.com/lurcher/unixODBC.git
cd unixODBC
git checkout 2.3.11

安装依赖

yum install -y automake autoconf libtool libtool-ltdl-devel

生成 configure

autoreconf --install
autoconf -f -i

编译

mkdir -p /data/zhang/app/unixODBC
./configure --prefix=/data/zhang/app/unixODBC --sysconfdir=/etc
make
make install

配置环境变量并使之生效

vim ~/.bashrc

# 追加以下内容
# 此处 LD_LIBRARY_PATH 一定要把 pg libpq 的路径加进去,否则会找不到 libpq 库

export PATH=$PATH:/data/zhang/app/unixODBC/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/zhang/app/unixODBC/lib:/data/zhang/app/pg13.3/lib

source ~/.bashrc

验证 unixODBC,执行以下命令:

[zhang@localhost unixODBC]$ odbcinst -j
unixODBC 2.3.11
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /data/zhang/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

3. 编译安装 psqlodbc

下载 psqlodbc 最新版本 psqlodbc-13.02.0000.tar.gz

https://www.postgresql.org/ftp/odbc/versions/src/

cd psqlodbc-13.02.0000
./configure --prefix=/data/zhang/app/psqlodbc --with-libpq=/data/zhang/app/pg13.3/ --with-unixodbc=/data/zhang/app/unixODBC/
make
make install

4. 验证 odbc 连接 pg 数据库

(1)配置 ODBC 驱动管理器

root 用户下设置文件 /etc/odbcinst.ini

[PostgreSQL]
Description = ODBC for PostgreSQL
Driver = /data/zhang/app/psqlodbc/lib/psqlodbcw.so

(2)配置数据源

普通用户下编辑文件 ~/.odbc.ini

[pg]
Description = PostgreSQL ODBC
Driver = PostgreSQL
Database = postgres
Servername = 127.0.0.1
UserName = admin
Password = 123456
Port = 36099
ReadOnly = -1
ConnSettings = set client_encoding to UTF8

(3)连接数据库

[zhang@localhost ~]$ isql pg -v
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| echo [string]                         |
| quit                                  |
|                                       |
+---------------------------------------+
SQL>

文章评论

0条评论