0
  • 我的机器:Linux RHEL 5.5.56(64 位)、Perl 5.8.8。Postgres 不在这台机器上。但是我可以ping Postgres 机器没有问题。我的机器显然可以从互联网上的 CPAN 安装 Perl 模块。
  • 'uname -a' 返回:Linux xxx 2.6.18-371.8.1.el5PAE #1 SMP Fri Mar 28 06:00:03 EDT 2014 i686 i686 i386 GNU/Linux
  • 其他机器有 Postgres 8.4。
  • 我是安装和使用任何 DBI 模块的新手。需要详细的初学者说明。
  • 我对我的 Linux 机器具有 root 访问权限。
  • 我认为 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、Stackoverflow 和 Perlmonks 上阅读了一些东西,但没有任何结果。
  • http://dbi.tiddlyspot.com/上的常见问题解答没有特定于安装 DBD::Pg 的信息。
  • 如果我通过 yum 安装 Postgres,安装会覆盖任何文件,比如库吗?如果有,有哪些?我们确实在这台机器上使用了其他应用程序。

如果我得到这个工作,我的第一步就是显示关于 DBI 驱动程序的非常基本的信息。下一步是在 SELECT 语句中显示一个表中的几个字段。

我不会返回数百万条记录,但返回 100 条记录肯定是可行的。

谢谢!

4

2 回答 2

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 应该同样适用。

于 2014-07-17T09:39:22.903 回答
1

当然可以; 毕竟,这是一个客户端/服务器架构!

您的日志中的错误是由于缺少libpq5.

于 2014-07-16T17:45:49.510 回答