↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

不受支持的版本: 6.5 / 6.4
历史版本PostgreSQL 6.5 已于 2004 年 6 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本手册首页。

49.3. Unix 安装

ApplixWare有一个至少在部分平台上受到 支持的ODBC数据库接口。在 Linux 下,已经演示过 ApplixWare v4.4.1 通过 Postgres发行版中包含的 psqlODBC驱动与 Postgres v6.4 配合工作。

49.3.1. 构建驱动

关于psqlODBC驱动(或任何 ODBC驱动)首先要注意的一点是:在 ODBC驱动要使用的系统上必须存在一个驱动 管理器。Unix 上有一种免费软件的ODBC驱动 管理器叫做iodbc,可以从网上多处 获取,包括 AS200。 安装iodbc的说明超出了本文档的范围, 但iodbc压缩 .shar 文件内有一个README, 它应该能解释如何让它跑起来。

话虽如此,你能为你的平台找到的任何驱动管理器都应该支持 psqlODBC驱动或任何 ODBC驱动。

psqlODBC的 Unix 配置文件最近被大幅 重构,以便在受支持的平台上轻松构建,并为将来支持其他 Unix 平台 留出余地。驱动的新配置和构建文件应当让在受支持平台上构建驱动 变成一个简单的过程。目前这包括 Linux 和 FreeBSD,但我们希望其他 用户能贡献必要的信息,迅速扩大可构建该驱动的平台数量。

实际上有两种构建驱动的方法,取决于你以何种方式得到它,而这些 差别归根结底只是在哪里以及如何运行 configure和make。 驱动可以在一个独立的、仅客户端的安装中构建,也可以作为 Postgres主发行版的一部分来构建。 如果你在多个异构平台上都有ODBC客户端应用, 独立安装更方便。当目标客户端与服务器相同,或客户端和服务器有 相似的运行时配置时,集成安装更方便。

具体来说,如果你得到的psqlODBC驱动是 Postgres发行版的一部分(下文称之为 “集成”构建),那么你将在 Postgres发行版的顶层源目录中与其余 库一起配置和构建ODBC驱动。如果你得到的是 独立打包的驱动,那么就在你解开驱动源代码的目录中运行 configure 和 make。

集成安装

这个安装过程适用于集成安装。

  1. 为src/configure指定 --with-odbc命令行参数:

    % ./configure --with-odbc
    % make
    
  2. 重新构建Postgres发行版:

    % make install
    

一旦配置完成,ODBC驱动就会被构建并安装到为 Postgres系统其他组件定义的区域中。安装范围的 ODBC配置文件会被放到 Postgres 目标 树(POSTGRESDIR)的顶层目录。这可以在 make命令行上覆盖,即

% make ODBCINST=filename install

v6.4 之前的集成安装

如果你的Postgres安装早于 v6.4、你手头有原始源代码树、而且你想使用最新版本的 ODBC驱动,那么可以试试这种安装形式。

  1. 把输出的 tar 文件复制到目标系统并解开到一个干净的目录。

  2. 在包含源代码的目录中输入:

    % ./configure
    % make
    % make POSTGRESDIR=PostgresTopDir install
    
  3. 如果你想把组件安装到不同的树中,可以显式指定各个目的地:

    % make BINDIR=bindir  LIBDIR=libdir  HEADERDIR=headerdir ODBCINST=instfile install
    

独立安装

独立安装不与正常的Postgres发行版集成, 也不在其上构建。它最适合为多个没有本地安装 Postgres源代码树的异构客户端构建 ODBC驱动。

独立安装的库和头文件的默认位置分别是 /usr/local/lib和 /usr/local/include/iodbc。还有另一个系统 范围的配置文件,它会被安装为/share/odbcinst.ini (如果/share存在)或 /etc/odbcinst.ini (如果/share不存在)。

注意

把文件安装到/share或/etc 需要系统 root 权限。Postgres的大多数 安装步骤没有这个要求,你可以改选一个可由你的非 root Postgres超级用户账号写入的其他目的地。

  1. 独立安装发行版可以从Postgres发行版 构建,也可以从非 Unix 源代码的当前维护者 Insight Distributors 获取。

    把 zip 或 gzip 压缩的 tar 文件复制到一个空目录。如果使用的是 zip 包,用命令解开它

    % unzip -a packagename
    

    -a选项是必要的,用于去掉源文件中的 DOS CR/LF 对。

    如果你拿到的是 gzip 压缩的 tar 包,只需运行

    tar -xzf packagename
    
    1. 要从Postgres主源代码树创建一个 完整独立安装的 tar 文件:

  2. 配置Postgres主发行版。

  3. 创建 tar 文件:

    % cd interfaces/odbc
    % make standalone
    
  4. 把输出的 tar 文件复制到目标系统。如果使用 ftp,务必以二进制文件方式传输。

  5. 把 tar 文件解开到一个干净的目录。

  6. 配置独立安装:

    % ./configure
    

    配置可以带选项进行:

    % ./configure --prefix=rootdir --with-odbc=inidir
    

    其中--prefix把库和头文件安装到目录 rootdir/lib和 rootdir/include/iodbc, 而--with-odbc把odbcinst.ini安装到 指定的目录。

    注意这两个选项也可以在集成构建中使用,但要小心: 在集成构建中使用时,--prefix 也会作用于你的Postgres安装的其余部分。 --with-odbc只作用于配置文件 odbcinst.ini。

  7. 编译并链接源代码:

    % make ODBCINST=instdir
    

    你也可以在'make'命令行上覆盖安装的默认位置。这只适用于库文件和 头文件的安装。由于驱动需要知道 odbcinst.ini 文件的位置,试图 覆盖指定其安装目录的环境变量多半会给你带来麻烦。最安全的做法 就是让驱动把 odbcinst.ini 文件安装在默认目录,或你在 './configure'命令行上用 --with-odbc 指定的目录。

  8. 安装源代码:

    % make POSTGRESDIR=targettree install
    

    要分别覆盖库和头文件的安装目录,你需要在 make install命令行上传入正确的安装变量。这些 变量是LIBDIR、HEADERDIR和 ODBCINST。在 make 命令行上覆盖 POSTGRESDIR会让LIBDIR和 HEADERDIR以你指定的新目录为根。 ODBCINST独立于POSTGRESDIR。

    下面是显式指定各个目的地的做法:

    % make BINDIR=bindir LIBDIR=libdir HEADERDIR=headerdir install
    

    例如,在(用过./configure和 make之后)输入

    % make POSTGRESDIR=/opt/psqlodbc install
    

    会让库和头文件分别安装到/opt/psqlodbc/lib和 /opt/psqlodbc/include/iodbc目录。

    而命令

    % make POSTGRESDIR=/opt/psqlodbc HEADERDIR=/usr/local install
    

    应该会让库安装到 /opt/psqlodbc/lib,头文件安装到 /usr/local/include/iodbc。如果结果不如预期,请联系某位维护者。

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。