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

2023年 4月 29日 31.1k 0

一、问题提出 内网的一台CentOS服务器,需配置PostgreSQL ODBC。如果可以连接Internet,此工作很容易,使用yum install自动安装相应依赖包后简单配置即可。但当置于内网环境时,事情就有些

一、问题提出

内网的一台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.soDriver64 = /usr/local/lib/psqlodbcw.soSetup = /usr/local/unixODBC/lib/libodbc.soSetup64 = /usr/local/unixODBC/lib/libodbc.soFileUsage = 1

2) 编辑/etc/odbc.ini

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

[PostgresDB] Driver = ODBCPostgresDescription = Postgres DSNServername = 192.168.64.123 Database = postgresUsername = postgresPassword = postgresPort = 5432ReadOnly = No

3) 测试

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

export ODBCINI=/etc/odbc.ini

export ODBCSYSINI=/etc

isql PostgresDB postgres postgres

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论