postgresql Linux:如何安装DBD::Pg模块?

gopyfrb3  于 2022-11-04  发布在  PostgreSQL
关注(0)|答案(9)|浏览(556)

Postgres数据库已经安装。我没有使用系统perl我已经在“/srv/data 203806/Migration/CPAN/localperl/bin”中安装了另一个perl。当我尝试安装时,它要求提供pg_config的路径:

[root1@frmrszvwb023 bin]# ./cpan install DBD::Pg
Reading '/root/.cpan/Metadata'
  Database was generated on Fri, 07 Mar 2014 03:53:02 GMT
Running install for module 'DBD::Pg'
Running make for T/TU/TURNSTEP/DBD-Pg-3.0.0.tar.gz
Checksum for /root/.cpan/sources/authors/id/T/TU/TURNSTEP/DBD-Pg-3.0.0.tar.gz ok

  CPAN.pm: Building T/TU/TURNSTEP/DBD-Pg-3.0.0.tar.gz

    Configuring DBD::Pg 3.0.0
    Path to pg_config?
    No POSTGRES_HOME defined, cannot find automatically
    Warning: No success on command[/srv/data203806/MUXmh-Migration/CPAN/localperl/bin/perl Makefile.PL]
    'YAML' not installed, will not store persistent state
      TURNSTEP/DBD-Pg-3.0.0.tar.gz
      /srv/data203806/MUXmh-Migration/CPAN/localperl/bin/perl Makefile.PL -- NOT OK
    Running make test
      Make had some problems, won't test
    Running make install
      Make had some problems, won't install
    Could not read metadata file. Falling back to other methods to determine prerequisites

请帮我安装DBD::Pg?如何获得pg_config的路径?

30byixjq

30byixjq1#

刚刚遇到这个问题,在Ubuntu 16.04 Xenial上,您要查找的软件包是:

apt-get install libdbd-pg-perl
68de4m5k

68de4m5k2#

您必须安装libpq-dev,例如在Ubuntu上:

sudo apt-get install libpq-dev
jogvjijk

jogvjijk3#

在CentOS/RH上,您可以通过安装perl-DBD-Pg包和yum来修复它

sudo yum install perl-DBD-Pg
wwtsj6pe

wwtsj6pe4#

README

安装:

在安装之前,请使用“cpansign -v”程式来验证您的DBD::Pg复本是否完整且有效。“cpansign”程式是Module::Signature的一部分,可从CPAN取得。
默认情况下,Makefile.PL使用App::Info来查找PostgreSQL库的位置并包含目录。但是,如果您想自己控制它,请定义环境变量POSTGRES_INCLUDE和POSTGRES_LIB,或者只定义POSTGRES_HOME。请注意,如果您编译了支持SSL的PostgreSQL,则必须定义POSTGRES_LIB环境变量,并向其添加“-lssl”和“-lcrypto”,如下所示:
“/usr/本地/pgsql/库-lssl -lcrypto”(文件名为"/usr/本地/pgsql/库-lssl -lcrypto”)中的所有数据库都是加密的。
安装DBD::Pg的一般步骤:

  1. Perl生成文件
    1.使
    1.接通试验
    1.制作安装
    以普通用户身份执行步骤1到2,而不是以root用户身份!
    如果脚本本身找不到pg_config信息,它会要求您提供路径。请在此处输入pg_config文件的完整路径,包括文件本身的名称。
    如果要使用模块,请阅读文档。
jfgube3f

jfgube3f5#

在安装perl模块之前,必须安装访问Postgres DB的客户端,我只安装服务器和头文件:

sudo apt-get install postgresql
sudo apt-get install libpq-dev
5hcedyr0

5hcedyr06#

您可以尝试:

locate pg_config

这将显示如下内容:

/usr/pgsql-10/bin/pg_config
/usr/pgsql-10/include/ecpg_config.h
/usr/pgsql-10/include/ecpg_config_x86_64.h

然后运行:

POSTGRES_HOME=/usr/pgsql-10 ./cpan install DBD::Pg

UPD

如果pg_config仍有问题,您可能需要将其添加到PATH中,例如:

export PATH=$PATH:/usr/pgsql-x.x/bin

其中x.x是您版本,例如/usr/pgsql-9.2./bin。

anhgbhbe

anhgbhbe7#

Fedora 29,完整版,Perl v5.18.0
一旦我让plenv工作起来,我就可以使用以下命令安装DBD::Pg with cpanm:

sudo dnf install postgresql postgresql-devel
cpanm --quiet --notest DBD::Pg
a1o7rhls

a1o7rhls8#

对于ArchLinux(或任何使用Pacman的Distro):

pacman -S perl-dbd-pg
vuktfyat

vuktfyat9#

对于我的Ubuntu 22工作这:

sudo apt install build-essential
sudo apt install cpanminus
sudo apt-get install -y postgresql-server-dev-all
sudo cpanm DBD::Pg

相关问题