在CentOS上离线配置PostgreSQL ODBC数据源
一、问题提出
内网的一台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
- centos安装和配置postgresql,数据库版本可自定
- centos6.5下postgresql9.4.3安装与配置
- 在虚拟机(centos)配置postgresql数据库(1) - 安装篇
- mysql5.7.19在centos虚拟机下手动(离线)安装配置过程与一些问题解决办法
- CentOS 6.3下PostgreSQL 的安装与配置
- 【mysql】CentOS离线安装配置MySql
- CentOS 6.3下PostgreSQL 的安装与配置
- centos6.3下安装Postgresql安装与配置
- centos下postgresql的安装与配置
- CentOS 7 安装、配置、使用 PostgreSQL 10 安装及基础配置
- centos在线、离线安装MySQL,以及mysql主从数据库配置
- CentOS下PostgreSQL 的安装与配置
- 在虚拟机(centos)配置postgresql数据库(2) - 配置篇
- PostgreSQL 在centos 7下的安装配置
- centos6.6下编译安装PostgreSQL9.4.1、配置phppgadmin
- CentOS7下PostgreSQL搭建与配置
- centos6.6下编译安装PostgreSQL9.4.1、配置phppgadmin
- centos上安装postgresql(有网、离线)
- centos下postgresql源码编译安装与主备异步配置
- CentOS 6.4 系统环境下配置PostgreSQL 9.3流复制 – 闲来无事 http://www.aiplaypc.com/118.html...