Linux:如何安装DBD :: PG模块



Postgres DB已经安装。我不使用系统perl,在"/srv/data203806/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的路径?

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

apt-get install libdbd-pg-perl

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

sudo apt-get install libpq-dev

centos/rh上可以通过yum

安装perl-dbd-pg软件包来修复它
sudo yum install perl-DBD-Pg

来自readme:

安装:

安装之前,请使用" cpansign -v"程序 密码学从dbd :: pg的副本上验证是否完成并且 有效的。程序" cpansign"是模块::签名的一部分,可用 来自CPAN。

默认情况下makefile.pl使用app ::信息以查找 PostgreSQL库并包括目录。但是,如果你想 自己控制它,定义环境变量postgres_include 和postgres_lib,或仅定义postgres_home。请注意,如果您有 用SSL支持编译的PostgreSQL,您必须定义Postgres_lib 环境变量并将" -lssl"one_answers" -lcrypto"添加到此:

导出postgres_lib ="/usr/local/pgsql/lib -lssl -lcrypto"

安装DBD :: PG的通常步骤:

  1. perl makefile.pl
  2. make
  3. 进行测试
  4. 使安装

作为普通用户做步骤1至2,而不是root!

如果脚本找不到pg_config信息本身,它将 询问您的道路。输入pg_config的完整路径 在这里文件,包括文件本身的名称。

如果要使用模块,请阅读文档。

安装perl模块之前,必须安装客户端以访问Postgres DB。我只是安装服务器和标题文件:

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

您可以尝试:

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的问题,则可能需要将其添加到路径中,例如:

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

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

fedora 29,plenv,perl v5.18.0

一旦我的plenv工作,我就可以使用这些命令使用CPANM安装DBD :: PG:

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

用于Archlinux(或使用Pacman的任何发行版):

pacman -S perl-dbd-pg

为我的ubuntu 22工作:

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

最新更新