【问题标题】:How to download, compile & install ONLY the libpq source on a server that DOES NOT have PostgreSQL installed如何在未安装 PostgreSQL 的服务器上仅下载、编译和安装 libpq 源
【发布时间】:2015-06-30 11:33:48
【问题描述】:

如何在未安装 PostgreSQL 的服务器 (Ubuntu) 上仅下载、编译、制作和安装 libpq 源?

我找到了 libpq 源代码here。然而,它似乎与整个 PostgreSQL 不可分离。提前致谢。

我不想安装整个 PostgreSQL。我想在安装了它的不同服务器(也是 Ubuntu)上使用 libpq 作为 PostgreSQL 的 C 接口。

我还找到了this old link,这表明以上是可能的,但不是如何做到的。

【问题讨论】:

    标签: postgresql installation libpq


    【解决方案1】:

    我在这里找到了 libpq 源。然而,它似乎与整个 PostgreSQL 不可分离。

    必须使用整个源代码树进行配置,因为这会生成必要的Makefile 部分。但是一旦配置好了,make && make install 就可以单独在src/interfaces/libpq 目录中运行,而其余的则完全被排除在外。

    分步:

    1. 下载源代码存档,例如https://ftp.postgresql.org/pub/source/v9.4.1/postgresql-9.4.1.tar.bz2
    2. 解压到构建目录:tar xjf ~/Downloads/postgresql-9.4.1.tar.bz2
    3. apt-get install libssl-dev 如果尚未安装
    4. cd 进入并配置:cd postgresql-9.4.1; ./configure --with-openssl --without-readline
    5. 假设配置成功,cd 进入src/interfaces/libpq 并运行make
    6. 仍在libpq 目录中,以root 身份运行make install:sudo make install

    这将作为一个独立的库安装到/usr/local/pgsql 和子目录中,如果碰巧安装了它,它将与 Ubuntu 中打包的库隔离。要将其安装在其他位置,请使用 --prefix 选项将位置指定为 configure

    【讨论】:

    • 如果只有 OP 会接受这个答案是正确的......@Loveandpeace ...仅供参考,--without-readline 选项的详细信息可以在 here 找到。
    【解决方案2】:

    除了下载和配置,步骤如下:

    cd src/interfaces/libpq; make; make install; cd -
    cd src/bin/pg_config; make install; cd -
    cd src/backend; make generated-headers; cd -
    cd src/include; make install; cd -
    

    这些步骤将为您提供libpq 的库和标头,以及名为pg_config 的二进制文件,以及所有postgresql 后端标头,以便您可以正确编译libpqxx 之类的东西。

    (我刚刚用 postgresql-9.6.5 测试过。)

    【讨论】:

    • 这看起来又短又甜,这对 Postgres 12 仍然有效吗?
    • 在 pg12 上看起来不错,根据您的指示,我给了我一个 libpq.so.5.12。还是不知道够不够,我要使用的库是taopq(api看起来更干净,更像我在Python中做的)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-16
    • 2022-12-29
    • 2015-09-25
    相关资源
    最近更新 更多