Linux: как установить модуль DBD:: Pg?

БД Postgres уже установлена. Я не использую system perl я установил другой perl в "/srv/data203806/Migration/CPAN/localperl/bin". Когда я пытаюсь установить, он запрашивает путь к 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?

5 ответов


вы должны установить libpq-dev, например, на Ubuntu:

sudo apt-get install libpq-dev

просто столкнулся с этой проблемой, и на Ubuntu 16.04 Xenial пакет, который вы ищете это:

apt-get install libdbd-pg-perl

на CentOS / RH вы можете исправить это, установив пакет perl-DBD-Pg с yum

sudo yum install perl-DBD-Pg

с README:

установка:

перед установкой, пожалуйста используйте программу "cpansign-v" к криптографически убедитесь, что ваша копия DBD::Pg завершена и действительный. Программа "cpansign" является частью модуля:: подпись, доступна из КПАН.

по умолчанию Makefile.PL использует App:: Info, Чтобы найти местоположение Библиотека PostgreSQL и включает каталоги. Однако, если вы хотите контролировать его самостоятельно определите переменные среды POSTGRES_INCLUDE и POSTGRES_LIB, или определить просто POSTGRES_HOME. Обратите внимание, что если у вас есть скомпилированный PostgreSQL с поддержкой SSL, вы должны определить POSTGRES_LIB переменная окружения и добавьте к ней " - lssl "и"- lcrypto", например:

экспорт POSTGRES_LIB="/usr/local/pgsql / lib-lssl-lcrypto"

обычные шаги по установке DBD:: Pg:

  1. perl Makefile.PL
  2. сделать
  3. сделайте тест
  4. установка

выполните шаги с 1 по 2 как обычный пользователь, а не как root!

Если скрипт не может найти информацию pg_config сам, он будет спроси у тебя путь к нему. Введите полный путь к pg_config файл здесь, включая имя самого файла.

Если вы хотите использовать модуль, читайте документацию.


перед установкой модуля perl необходимо установить клиент для доступа к БД Postgres. Я просто устанавливаю файлы сервера и заголовка:

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