阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

在CentOS上离线配置PostgreSQL ODBC数据源

130次阅读
没有评论

共计 2093 个字符,预计需要花费 6 分钟才能阅读完成。

一、问题提出

内网的一台 CentOS 服务器,需配置 PostgreSQL ODBC。如果可以连接 Internet,此工作很容易,使用 yum install 自动安装相应依赖包后简单配置即可。但当置于内网环境时,事情就有些麻烦,需要事先手工下载各个依赖包,上传到服务器后再进行安装,最后才是配置。

本文记录了这次进行离线配置的主要步骤。

二、所需依赖包

在安装 CentoOS 时,选择了 Server with GUI 环境,并已含以下安装包:
•Java Platform
•KDE
•Compatibility Librares
•Development Tools
•System Administration Tools

此时,所需的依赖包总计 5 个,如下:
•postgresql-libs-9.2.24-1.el7_5.x86_64.rpm,下载地址 http://mirror.centos.org/centos/7/os/x86_64/Packages/postgresql-libs-9.2.24-1.el7_5.x86_64.rpm
•postgresql-9.2.24-1.el7_5.x86_64.rpm,下载地址 http://mirror.centos.org/centos/7/os/x86_64/Packages/postgresql-9.2.24-1.el7_5.x86_64.rpm
•postgresql-devel-9.2.24-1.el7_5.x86_64.rpm,下载地址 http://mirror.centos.org/centos/7/os/x86_64/Packages/postgresql-devel-9.2.24-1.el7_5.x86_64.rpm
•unixODBC-2.3.7pre.tar.gz,下载地址 https://jaist.dl.sourceforge.net/project/unixodbc/unixODBC/2.3.7/unixODBC-2.3.7pre.tar.gz
•psqlodbc-10.03.0000.tar.gz,下载地址 https://ftp.postgresql.org/pub/odbc/versions/src/psqlodbc-10.03.0000.tar.gz

在 Internet 下载后,再上传到内网 Centos 的服务器上。

三、安装

1) 安装 postgresql 相关依赖包

此部分工作相对简单,按顺序执行即可:

rpm -ivh postgresql-libs-9.2.24-1.el7_5.x86_64.rpm

rpm -ivh postgresql-9.2.24-1.el7_5.x86_64.rpm

rpm -ivh postgresql-devel-9.2.24-1.el7_5.x86_64.rpm

2) 安装 unixODBC

此部分也无难度:

tar -zxvf unixODBC-2.3.7pre.tar.gz
 cd unixODBC-2.3.7pre
 ./configure –enable-gui=no
 make
 make install

3) 安装 psqlodbc

一般错误均发生在这部分,但原因却大多数在前两步,需仔细检查。如下:

tar zxvf psqlodbc-10.03.0000.tar.gz
 cd psqlodbc-10.03.0000
 ./configure
 make
 make install

如果报错找不到 libpq.so,原因可能是不认识 /usr/lib/libpq.so.5 或 usr/lib/libpq.so.5.5,在 /usr/lib 下创建一个 libpq.so 的软连接,或者直接拷贝其中一个并改名。

四、配置 ODBC

此部分在离线、在线状态是一样的。

1) 编辑 /etc/odbcinist.ini

该文件主要是配置相关驱动文件,以下是新建一个 ODBCPostgres 项:

[ODBCPostgres]
Description = ODBC for PostgreSQL
Driver = /usr/local/lib/psqlodbcw.so
Driver64 = /usr/local/lib/psqlodbcw.so
Setup = /usr/local/unixODBC/lib/libodbc.so
Setup64 = /usr/local/unixODBC/lib/libodbc.so
FileUsage = 1

2) 编辑 /etc/odbc.ini

该文件配置数据源的具体信息,例如:

[PostgresDB]
Driver = ODBCPostgres
Description = Postgres DSN
Servername = 192.168.64.123
Database = postgres
Username = postgres
Password = postgres
Port = 5432
ReadOnly = No

3) 测试

使用 unixodbc 自带的 isql 测试是否能成功连接:

export ODBCINI=/etc/odbc.ini

export ODBCSYSINI=/etc

isql PostgresDB postgres postgres

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计2093字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中