• ベストアンサー

DBD:Pgのインストール

こんにちは。 DBD:Pgのインストールで困っています。 DBD:Pgは、すでにPostgreSQLが動いている状態でインストールしなければならないということなのですが、 別のホストでPostgreSQLを動かしている場合には、インストールできないのでしょうか? もしインストールする方法がありましたら、ご教示願います。 OSは、SunOS 5.10だと思います。 PostgreSQLのバージョンは8.1.9 perlのバージョンは5.8.4です。 よろしくお願います。

質問者が選んだベストアンサー

  • ベストアンサー
  • t-okura
  • ベストアンサー率75% (253/335)
回答No.2

PostgreSQL のライブラリやヘッダファイルはインストールされていま すか。postgresql-devel というパッケージになってることが多いと 思いますが、SunOS だとそういったパッケージはあるのでしょうか。 Cコンパイラも必要です。 PostgreSQL をソースからインストールすれば、必要なライブラリ類は インストールされると思います。

titokani
質問者

お礼

ありがとうございます。 SunOSの場合、PostgreSQLはプレインストールされているのです。 検索していくつかインストール方法はヒットするのですが、どれもがPostgreSQLを自分でインストールしたことが前提となっているため、環境変数の設定がそのままでは使えなかったのです。 HDの中をいろいろ探したところ、環境変数の設定は以下でよいようです。 $setenv POSTGRES_INCLUDE /usr/include/pgsql $setenv POSTGRES_LIB /usr/lib SunOSに固有の設定なのでしょうか。 また、当初最新バージョンの2.7.2を入れようとしていたのですが、これもVersionモジュールがインストールされていないとのことで入らず、結局1.49をインストールして成功しました。 Cコンパイラについてはgccがプレインストールされていましたので、それを使いました。 この場合、makefileが異なってくるので、perlgccを使うのがよいようです。 結論として、以下の手順でインストールできました。 $setenv POSTGRES_INCLUDE /usr/include/pgsql $setenv POSTGRES_LIB /usr/lib $/usr/perl5/bin/perlgcc Makefile.PL $make $make test $sudo su - #tcsh #cd /usr/local/src/DBD-Pg-1.49 #make install 以上です。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • t-okura
  • ベストアンサー率75% (253/335)
回答No.1

DBD::Pg のインストールに PostgreSQL のクライアントライブラリは 必要だと思いますが、PostgreSQL が動いている状態でないといけない という制限はないと思います。 ただし make test するときはデータベースにアクセスするのでローカルで もリモートでもよいですが、アクセス先のデータベースは必要だと思いま す。 なにも考えずにインストールすればできるのではないでしょうか。 いつもベンダーパッケージで勝手にインストールされているので自分で 入れたことがないため、参考意見です。

titokani
質問者

お礼

ありがとうございます。 >なにも考えずにインストールすればできるのではないでしょうか。 それはもちろんできなかったのですが。 DBD::Pgのインストールには、 POSTGRES_HOME POSTGRES_INCLUDE POSTGRES_LIB の環境変数を設定する必要があるのですが、PostgreSQLが動いていない場合に、これらをどう設定すればよいのかが、よくわからないのです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • perl DBD::Pgのインストールについて

    どちらに質問すれば良いのか分からなかったので、こちらで質問させて いただきます。 turbolinux server10で付属のpostgreSQLをインストールして DBIとDBD::Pgをインストールしようとしたところ、下記のような 質問のガイダンスが表示されます。 Path to pg_config? Enter a valid PostgreSQL major version number Enter a valid PostgreSQL minor version number Enter a valid PostgreSQL patch version number Enter a valid PostgreSQL include directory 過去、2回ほどインストールの経験があるのですが、このような ことは無かったです。 pg_configはpg_hba.confのパスで良いと思うんですが、 includeがわかりません。 どこのパスを指定すればよろしいのでしょうか? 調べてみまして近い、質問はあったのですがはっきりとした 回答がなかったので、申し訳ありませんがよろしくお願い いたします。

  • WindowsのPostgreSQLと Perl DBD::Pgの相性?

    Windows版のPostgreSQLをインストールして、PerlのDBD::Pgのモジュールも ppmでインストールしました。 接続しようとすると、 ダイアログボックスが表示され、Perl Commandlineがこけたというメッセージが表示されました。 LinuxのPostgreSQL7.2.3では同じPerlスクリプトでもエラーなく動作しましたが、Windows版では7系がないようですね。 WindowsでPerlのDBD::Pgで正しく動作している方はいらっしゃいますか? ちなみに DBD::ODBC経由だと動作しています。

  • perl DBD::Pg インストールでエラー発生

    こんにちは。 以下の環境でPerl+postgreSQLのCGIを作成していますが、 DBI、DBD::PGのインストールでエラーが出てしまい大変困っています。 どうぞお力添えをお願いします。 環境---------------------- OS:CentOS VERSION = PostgreSQL 8.1.18 Perl:v5.8.8 -------------------------- ●手順 CPANより下記モジュールをダウンロードし、 ・DBI : DBI-1.609.tar.gz ・DBD::PG : DBD-Pg-2.16.1.tar.gz それぞれ ・perl Makefile.PL ・make ・make install を実行。 DBD::PGの perl Makefile.PL で pg_config のパスを聞かれるが存在しなかったため、ネットの情報から以下を実行。 yum install postgresql-devel 再度DBD::PGのperl Makefile.PL を実施しましたが、以下のようなワーニング(※1)が出力してしまい、 make,make installを実施後に動作確認のスクリプトを実行してもやはりエラーとなってしまいます。(※2) ※1 Warning: prerequisite version 0 not found. Could not eval ' package ExtUtils::MakeMaker::_version; no strict; local $VERSION; $VERSION=undef; do { use version; our $VERSION = qv('2.16.1'); }; $VERSION ' in Pg.pm: Can't locate version.pm in @INC (@INC contains: t/lib /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 .) at (eval 10) line 7, <FH> line 20. BEGIN failed--compilation aborted at (eval 10) line 7, <FH> line 20. WARNING: Setting VERSION via file 'Pg.pm' failed at /usr/lib/perl5/5.8.8/ExtUtils/MakeMaker.pm line 515 Multiple copies of Driver.xst found in: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/DBI/ /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/auto/DBI/ at Makefile.PL line 263 Using DBI 1.609 (for perl 5.008008 on i386-linux-thread-multi) installed in /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/DBI/ Writing Makefile for DBD::Pg ※2 install_driver(Pg) failed: Can't locate version.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.7/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 .) at /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/DBD/Pg.pm line 20. BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/DBD/Pg.pm line 20. Compilation failed in require at (eval 3) line 3. Perhaps a module that DBD::Pg requires hasn't been fully installed at ./test02.pl line 5 どうぞよろしくお願いいたします。

    • ベストアンサー
    • Perl
  • DBDが動作しません。

    現在AIXにpostgreSQL(ver.7.2.1)を導入したいと考えております。 また、perlを使用し、DBI(ver.1.42)、DBD(ver.1.31_7)モジュールを使用します。 すべてのモジュールの導入は済み、検証しようとしていたところ、DBDがうまく動作していないというエラーが表示されておりました。 そこで、DBDのバージョンが違うのではないか?ということで、DBDが正常に動作できるように別バージョンを インストールしています。しかし下記のようなエラーが表示されて先に進めずに困っております。 どなたかわかる方アドバイスをお願い致します。 ◆環境 AIX5.1 postgreSQL 7.2.1 perl 5.6.0 DBI 1.42 DBD1.2 DBD1.2を導入しようとしているのですが、perl Makefile.PL を実行した時点で以下のWarningが表示されます。 ------------------------------------------------------------------------------ Warning: prerequisite Test::Simple failed to load: Can't locate Test/Simple.pm in @INC (@INC contains: t/lib / usr/opt/perl5/lib/5.6.0/aix /usr/opt/perl5/lib/5.6.0 /usr/opt/perl5/lib/site_perl/5.6.0/aix /usr/opt/perl5/lib /site_perl/5.6.0 /usr/opt/perl5/lib/site_perl .) at (eval 4) line 3. Writing Makefile for DBD::Pg ------------------------------------------------- また、次の段階のmakeコマンドを実行すると最後に以下のようなエラーが表示されストップされてしまいます。 -------------------------------------------------- ld: 0711-317 エラー: 未定義のシンボル: .is_utf8_string ld: 0711-345 -bloadmap または -bnoquiet オプションを使用して、詳細な情報を得てください。 make: 1254-004 最後のコマンドからのエラー・コードは 8 です。 -------------------------------------------------

  • DBD::Pgのダウンロードをしたい

    MovableTypeでブログを作成しようとしています。 レンタルサーバーのデータベースがPostgreSQLなのですが、DBD::Pgのダウンロードの方法だけがどうしてもわかりません。 いろいろ検索してみても、DLページがリンク切れになっていることも多いです・・。 どなたか、DL方法を教えていただけないでしょうか? かなり急いでいます。 ウインドウズXP、FFFTPを使ってのアップロードで、サーバーはBROAD SERVERを使用しています。

  • FreeBSD 4.6.2にDBD::mysqlがインストールされません

    FreeBSD 4.6.2-RELEASEを利用しており、perlモジュールのDBD::mysqlをインストールしたいのですが、make installまで終えても、実際にバージョンを表示させてみると表示されず、mysqlhotcopyを実行してもやはり、DBD::mysqlが入っていませんというエラーが出ます。 DBD::mysql initialisation failed: Can't locate object method "driver" via package "DBD::mysql" (perhaps you forgot to load "DBD::mysql"?) at /usr/local/lib/perl5/site_perl/5.6.2/i386-freebsd/DBI.pm line 729. Perhaps the capitalisation of DBD 'mysql' isn't right. at /usr/local/mysql/bin/mysqlhotcopy line 164 DBD::mysqlはソース(tgz)からのインストールです。 バージョンはDBD-mysql-2.1028です。 お分かりの点がありましたらご指摘をお願い致します。

    • ベストアンサー
    • Perl
  • pg_connect をインストールしたのですが?

    pg_connect を、Linuxへインストールしたいのですが、 どうすればいいのでしょうか? PostgreSQL とPHPを接続させる為です。 あと、PHPのコンパイル方法もご教示願います。

  • DBI DBD::Pg 等のPerlモジュール・ドライバのインストールについて

    はじめまして。 Perlが稼動するWebサーバーと Postgreが稼動するDBサーバーと物理的に2台に分けた サーバー環境上での質問です。 DBI DBD::Pg Net::SMTP という3つをインストールしようと思うのですが、 どれをどちら(WebかDBか)のサーバーに 入れてよいのか判別がつきません。 (今まで1つのサーバー上で稼動させていた事がありますが) 理屈で考えれば、Perl上で動かすものだから すべてWebサーバーにインストールすればいいような気がする のですが・・・。 どなたかご存知の方、ぜひ教えてください。

  • Pg.pmモジュールがロードできない

    現在、Webサーバが古くなったため、新しいWebサーバにアプリケーションを移行しようとしています。PerlもPostgreSQLもインストールし、プログラムを実行するのですが、以下のエラーメッセージが表示されます。 エラーメッセージ表示: Can't locate Pg.pm in @INC (@INC contains: /usr/lib/perl5/5.8.5/i386-linux-thread-multi (中略)BEGIN failed--compilation aborted at mgdbrest.pl line 37. でエラーになってしまいます。 環境: パッケージのインストール確認をすると問題なく、Pg.pmパッケージもインストール済みです。またPg.pmファイルも存在します。 またperl -Vコマンド実行でも@INCも表示されます。 OS: MiracleLinux4.0 %rpm -qaの結果 perl-DBD-Pg-1.31-6.1AX postgresql-libs-8.0.8-1.2AX postgresql-pl-8.0.8-1.2AX %Pg.pmファイルの登録状況 /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi/DBD/Pg.pm %perl -Vの結果(一部抜粋) Characteristics of this binary (from libperl): Compile-time options: DEBUGGING MULTIPLICITY USE_ITHREADS USE_LARGE_FILES PERL_IMPLICIT_CONTEXT Built under linux Compiled at Aug 23 2006 01:53:27 @INC: /usr/lib/perl5/5.8.5/i386-linux-thread-multi /usr/lib/perl5/5.8.5 /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi 質問: 対処方法を御存知の方がみえたら教えてください。やはり再インストールしなければならないのでしょうか。

    • ベストアンサー
    • Perl
  • activeperlでDBD-Pgを扱うと、perlが強制終了する

    まず環境です。 -----[os環境]---------------- windows xp sp2 -----[active perlバージョン]- This is perl, v5.8.7 built for MSWin32-x86-multi-thread -----[cpan環境]-------------- ppm> properties DBI ppm> properties DBD-Pg で結果表示あり(インストール済みと判断) -----[PostgreSQLの環境]------ psql -U postgres -h localhost bookmark ユーザ postgres のパスワード:postgres ログイン可能でDB環境正常と判断。 の環境で、以下のスクリプトを実行すると、perlが強制終了します。 ------[test.pl]-------- #! /usr/bin/perl use DBI; $dbname = "worple"; $user = "postgres"; $passwd = "postgres"; $host = "localhost"; #DBオープン $db = DBI->connect("DBI:Pg:host=$host;dbname=$dbname", $user, $passwd) || die "DBI connect failed : $DBI::errstr"; #DBクローズ $db->disconnect; 1; ---------------- エラーメッセージがでることもなく、googleでも似た症状を探せないでいます。 何かヒントや、参考のURLでもいいのでお教え下さい。 よろしくお願いします。

    • ベストアンサー
    • Perl