环境:suse 11 ,64位的操作系统

unixODBC 版本:2.3.2

PostgreSQL 9.3.4

1 编译安装 unixODBC

下载 unixODBC :http://www.unixodbc.org/download.html

解压编译

tar -zxvf unixODBC-2.3..tar.gz 

cd unixODBC-2.3.

./configure --prefix=/opt/unixODBC

make && make install

安装路径设置在 /opt/unixODBC

2 下载postgresql 的odbc rpm 包

下载地址:http://rpm.pbone.net/index.php3/stat/4/idpl/23893919/dir/opensuse_11.x/com/unixODBC-2.2.12-200.123.1.x86_64.rpm.html

当然,还有很多其他系统版本的postgresql 的odbc 驱动,http://rpm.pbone.net/index.php3/stat/3/srodzaj/1/search/libodbcpsqlS.so.1%28%29%2864bit%29

3 安装下载rpm 包

rpm -ivh unixODBC-2.2.-200.123..x86_64.rpm

如果安装时候说有依赖的rpm 没有安装,可以忽略缺省的rpm ,强行安装此rpm

rpm -ivh --nodeps unixODBC-2.2.-200.123..x86_64.rpm

安装后,驱动应该在 /usr/lib64/unixODBC

你可以自己手工find 一下,检查odbc 的驱动存放在哪里

find /usr/ -iname "*odbc*.so*" | grep psql

我这样的显示的是

/usr/lib64/unixODBC/libodbcpsqlS.so

/usr/lib64/unixODBC/libodbcpsql.so

PostgreSQL 情况

PostgreSQL 版本为9.3.4 ,数据库为 foo ,使用用户为 sdbadmin,服务端口为5432

PostgreSQL里存在两张表,一张是PostgreSQL 自身的表test ;

一张是PostgreSQL 的外部表 chen,对接的是SequoiaDB 的数据源(如何实现PostgreSQL对接SequoiaDB,可以参考:http://www.sequoiadb.com/index.php?p=whitepaper_7)

4 配置unixODBC ,适配PostgreSQL 服务

修改odbcinst.ini文件

vi /opt/unixODBC/etc/odbcinst.ini

odbcinst.ini

[ODBC]

Trace = yes

TraceFile = /opt/unixODBC/sql.log
UsageCount = [PostgreSQLODBC] Description = PostgreSQL driver for linux Driver = /usr/lib64/unixODBC/libodbcpsql.so
Setup = /usr/lib64/unixODBC/libodbcpsqlS.so
FileUsage = CPReuse = CPTimeout = UsageCount =

配置odbc.ini 文件

vi /opt/unixODBC/etc/odbc.ini

odbc.ini

[Postgres]

Driver = PostgreSQLODBC

Description = Test on PostgreSQL
Database = foo
Servername = 192.168.1.155 UserName = sdbadmin Port = ReadOnly = No

加载配置文件

/opt/unixODBC/bin/odbcinst -i -d -f /opt/unixODBC/etc/odbcinst.ini

5 启动odbc 进行连接测试

/opt/unixODBC/bin/isql -v Postgres

查询 test 表和 chen表

能成功查询出来数据了

参考博客:

http://www.unixodbc.org/odbcinst.html

http://linux.vbird.org/linux_basic/0520rpm_and_srpm.php

linux 搭建unixODBC ,并对接 PostgreSQL 9.3.4的更多相关文章

  1. Python之Django环境搭建(MAC+pycharm+Django++postgreSQL)

    Python之Django环境搭建(MAC+pycharm+Django++postgreSQL) 转载请注明地址:http://www.cnblogs.com/funnyzpc/p/7828614. ...

  2. 【Maven】---Linux搭建Nexus3.X私服

    Linux搭建Nexus3.X私服 备注:linux版本: ubuntu 同时已经部署好JDK8环境 一.linux安装nexus 1.创建文件夹并进入该目录 cd /usr/local && ...

  3. 最全Linux搭建SVN服务端教程

    文章首推 支付宝接口对接 高德地图调用 验证码登录 QQ邮箱登录 今日主题:Linux搭建SVN服务端 简介 相信程序员对SVN还是不陌生的,虽然现在用Git比较多,但是SVN也是用的,SVN可以做代 ...

  4. Linux 搭建Nexus

    Linux 安装Maven和nexus代理仓库 1    说明 环境:redhat Enterprise Linux Server5.3-x64. 版本:Maven 3.0.5 ,Nexus-2.5. ...

  5. Linux 搭建SVN 服务器(转)

    一. SVN 简介 Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository) 中 ...

  6. 原 Linux搭建SVN 服务器2

    原 Linux搭建SVN 服务器 发表于1年前(2014-08-05 17:55)   阅读(12257) | 评论(3) 31人收藏此文章, 我要收藏 赞3 摘要 Linux搭建SVN 服务器 目录 ...

  7. 原 Linux搭建SVN 服务器

    原 Linux搭建SVN 服务器 发表于1年前(2014-08-05 17:55)   阅读(12257) | 评论(3) 31人收藏此文章, 我要收藏 赞3 摘要 Linux搭建SVN 服务器 目录 ...

  8. Linux搭建SVN 服务器

    Linux搭建SVN 服务器 1          安装SVN 2          使用客户端连接 2.1       使用windows的客户端 2.2       使用Linux下的命令行 3  ...

  9. Linux 搭建SVN server

    一. SVN 简单介绍 Subversion(SVN) 是一个开源的版本号控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository ...

随机推荐

  1. 一些js及css样式

    人体时钟: 源码: <div> <embed wmode="transparent" src="https://files.cnblogs.com/fi ...

  2. (转)C++ STL set() 集合

    set是STL中一种标准关联容器(vector,list,string,deque都是序列容器,而set,multiset,map,multimap是标准关联容器),它底层使用平衡的搜索树——红黑树实 ...

  3. Mapper3中Example的高级使用方法

    http://zhuangxiaoda.leanote.com/post/Mapper3%E4%B8%ADExample%E7%9A%84%E4%BD%BF%E7%94%A8%E6%96%B9%E6% ...

  4. android——array中设置选项

    Android中,R.array是提取XML资源文件中String数组的方法.具体定义和提取的方法如下: 1)在R.array中定义字符数组 <?xml version="1.0&qu ...

  5. 浅淡!important对CSS的重要性

    SS中的!important是一个非常重要的属性,有时候发挥着非常大的作用,52CSS.com这方面的知识并不是非常多,我们看下面的文章,对它作比较感观的了解. 前几天写一些CSS代码的时候又难为我了 ...

  6. zookeeper+dubbo【转载】

    转载地址:http://ahua186186.iteye.com/blog/1912421 注:zookeeper集群是myid文件是没有后缀名的. 转自: http://www.verydemo.c ...

  7. HDU3183 A Magic Lamp —— 贪心(单调队列优化)/ RMQ / 线段树

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3183 题解: 方法一:贪心. 在草稿纸上试多几次可以知道,删除数字中从左到右最后一位递增(可以等于)的 ...

  8. CentOS系统文件和目录管理相关的一些重要命令

    我们都知道,在Linux系统中,基本上任何我们需要做的事都可以通过输入命令来完成,所以在Linux系统中命令非常的多,我们不可能也没必要记住所有的这些命令,但是对于一些常用的命令我们还是必须要对其了如 ...

  9. [Codeforces 787D] Legacy

    [题目链接] https://codeforces.com/contest/787/problem/D [算法] 线段树优化建边 ,  然后用Dijkstra算法求单源最短路 时间复杂度 : O((N ...

  10. bzoj 3027 [Ceoi2004] Sweet —— 生成函数

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3027 就是 (1+x+x2+...+xm[i]) 乘起来: 原来想和背包一样做,然而时限很短 ...