Могу ли я получить доступ к базе данных Postgre на другом компьютере, используя Perl, DBI и DBD::Pg?

  • Моя машина: Linux RHEL 5.5.56 (64-разрядная версия), Perl 5.8.8. Постгрес не на этой машине. Но я не могу пинговать машину Postgres без проблем. И моя машина может устанавливать модули Perl из CPAN в Интернете.
  • 'uname -a' возвращает: Linux xxx 2.6.18-371.8.1.el5PAE #1 SMP пт 28 марта 06:00:03 EDT 2014 i686 i686 i386 GNU/Linux
  • Другая машина имеет Postgres 8.4.
  • Я новичок в установке и использовании любого модуля DBI. Необходимы подробные инструкции для начинающих.
  • У меня есть root-доступ к моей машине с Linux.
  • Я думаю, что yum сообщает, что у меня установлен 'postgresql-libs.i386'. `ням установить | grep postgres` возвращает: 'postgresql-libs.i386 8.1.23-10.el5_10 установлен'

Это то, что мне нужно? Это в моей системе.

lrwxrwxrwx 1 root root   12 May  1 20:05 /usr/lib/libpq.so.4 -> libpq.so.4.1*
-rwxr-xr-x 1 root root 130K Feb 27 07:36 /usr/lib/libpq.so.4.1*

Цель: я хочу получить данные с сервера Postgres на другом компьютере. У меня уже есть имя пользователя базы данных, пароль, IP для машины базы данных.

Используя cpanm я установил DBI просто отлично, без ошибок. Когда я установил DBD::Pg, я получил ошибку. Журнал ошибок CPAN выглядит следующим образом:

cpanm (App::cpanminus) 1.6941 on perl 5.008008 built for i386-linux-thread-multi
Work directory is /root/.cpanm/work/1405531191.27414
You have make /usr/bin/make
You have LWP 6.04
You have /bin/tar: tar (GNU tar) 1.15.1
You have /usr/bin/unzip
Searching DBD::Pg on cpanmetadb ...
--> Working on DBD::Pg
Fetching http://www.cpan.org/authors/id/T/TU/TURNSTEP/DBD-Pg-3.3.0.tar.gz
-> OK
Unpacking DBD-Pg-3.3.0.tar.gz
Entering DBD-Pg-3.3.0
Checking configure dependencies from META.yml
Checking if you have version 0 ... Yes (0.88)
Checking if you have DBI 1.614 ... Yes (1.631)
Configuring DBD-Pg-3.3.0
Running Makefile.PL
Path to pg_config?
No POSTGRES_HOME defined, cannot find automatically
Configuring DBD::Pg 3.3.0
-> N/A
-> FAIL Configure failed for DBD-Pg-3.3.0. See /root/.cpanm/work/1405531191.27414/build.log for details.
  • Могу ли я получить данные из базы данных Postgres на другом компьютере?
  • У кого-нибудь есть ссылка на инструкцию как это сделать? Я уже гуглял, читал на CPAN, Stackru и Perlmonks без результатов.
  • ЧаВо по адресу http://dbi.tiddlyspot.com/ содержит информации, касающейся установки DBD::Pg.
  • Если я установлю Postgres через yum, будет ли установка перезаписывать какие-либо файлы, например библиотеки? Если да, то какие? У нас есть другие приложения, которые мы используем на этой машине.

Если я получу эту работу, мой первый шаг - показать очень основную информацию о драйвере DBI. Следующим шагом будет показ нескольких полей из одной таблицы в операторе SELECT.

Я не буду возвращать миллионы записей, но возвращение 100 записей, безусловно, в поле зрения.

Спасибо!

2 ответа

Решение

Если вы используете пакет, который уже собран и доступен для вашей системы, у вас не возникнет ни одной из этих проблем.

$ sudo yum install perl-DBD-Pg

... Lots of output snipped ...

Dependencies Resolved

================================================================================
 Package              Arch        Version              Repository          Size
================================================================================
Installing:
 perl-DBD-Pg          x86_64      1.49-4.el5_8         centos-update      115 k
Installing for dependencies:
 postgresql-libs      x86_64      8.1.23-6.el5_8       centos-update      197 k

Transaction Summary
================================================================================
Install       2 Package(s)
Upgrade       0 Package(s)

Total download size: 312 k
Is this ok [y/N]: 

Мой пример использует Centos 5.8.8, но он должен работать точно так же и для RHEL.

Конечно вы можете; В конце концов, это архитектура клиент / сервер!

Ошибка в вашем журнале из-за отсутствия libpq5,

Другие вопросы по тегам