Perl/PostgreSQLにアクセスできるようにする・CentOS
の編集
Top
/
Perl
/
PostgreSQLにアクセスできるようにする・CentOS
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
PostgreSQL/template0とtemplate1の違いについて
#navi(../) * PerlでPostgreSQLにアクセスできるようにする・CentOS [#xdacaf8e] PerlでPostgreSQLにアクセスするには、PostgreSQL用のDBDとperl-DBIをインストールする必要があります。~ 本資料は、CentOS6でPerlによるPostgreSQLのアクセスをするためにPerlモジュールDBI/DBDのインストール方法と簡単なサンプルコードを記します。 #contents #htmlinsertpcsp(db-top.html,db-sp.html) * 関連資料 [#n9422e5b] -[[PostgreSQLをCentOSにインストールする>PostgreSQL/CentOSインストール]] -[[PHPでPostgreSQLに接続する・pg_connect>PHP/PostgreSQLに接続する・pg_connect]] -[[PerlでPostgreSQLに接続するサンプルコード>Perl/PostgreSQLに接続するサンプルコード]] -[[CPANのDBD::Pgがインストールできない場合の対処>PostgreSQL/DBD Pgがインストールできない場合の対処]] * DBI/DBDとは [#me459659] DBIとは、DataBase Interfaceの略語になります。~ DBDとは、DataBase Driverの略語になります。~ したがって、DBDは各データベース毎に用意されています。~ たとえば、PostgreSQLの場合は、perl-DBD-Pgパッケージ, MySQLの場合は、perl-DBD-MySQLパッケージになります。~ DBIは、Perlからデータベースを操作するためのAPIになります。 * PostgreSQLを操作するために必要なDBIとDBDモジュールをインストール [#d33adffb] rootになり、以下のコマンドでDBIとDBDをインストールします。 yum -y install perl-DBI perl-DBD-Pg 以下、インストールしたときの出力です。 # yum -y install perl-DBI perl-DBD-Pg Loaded plugins: fastestmirror Determining fastest mirrors <snip> Setting up Install Process Package perl-DBI-1.609-4.el6.x86_64 already installed and latest version Resolving Dependencies --> Running transaction check ---> Package perl-DBD-Pg.x86_64 0:2.15.1-4.el6_3 will be installed --> Finished Dependency Resolution Dependencies Resolved ============================================================================================================================ Package Arch Version Repository Size ============================================================================================================================ Installing: perl-DBD-Pg x86_64 2.15.1-4.el6_3 updates 196 k Transaction Summary ============================================================================================================================ Install 1 Package(s) Total download size: 196 k Installed size: 544 k Downloading Packages: perl-DBD-Pg-2.15.1-4.el6_3.x86_64.rpm | 196 kB 00:00 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : perl-DBD-Pg-2.15.1-4.el6_3.x86_64 1/1 Verifying : perl-DBD-Pg-2.15.1-4.el6_3.x86_64 1/1 Installed: perl-DBD-Pg.x86_64 0:2.15.1-4.el6_3 Complete! perl-DBIですが、既にインストールされていました。(Package perl-DBI-1.609-4.el6.x86_64 already installed and latest version) * テストしたPostgreSQLの環境 [#e3b14d11] 以下の設定で環境を構築しました。 - pg_hba.conf抜粋~ パスワード認証を必要としてあります。 # IPv4 local connections: host all all 127.0.0.1/32 md5 - ユーザの追加~ postgresユーザにsuし、sakuraユーザを追加しパスワードを設定しました。 -bash-4.1$ createuser -P sakura 新しいロールのパスワード: もう一度入力してください: 新しいロールをスーパーユーザとしますか? (y/n)y * PerlでPostgreSQLに接続してみる [#o9a2d315] 以下にPerlによるPostgreSQLアクセスの簡単なサンプルコードを記します。 - サンプルコード #ref(pg_connect.pl.zip) #!/usr/bin/perl use DBI; # PostgreSQL our $DB_NAME = "postgres"; our $DB_USER = "sakura"; our $DB_PASS = "sakura"; our $DB_HOST = "127.0.0.1"; our $DB_PORT = "5432"; my $dbh = DBI->connect("dbi:Pg:dbname=$DB_NAME;host=$DB_HOST;port=$DB_PORT","$DB_USER","$DB_PASS") or die "$!\n Error: failed to connect to DB.\n"; my $sth = $dbh->prepare("SELECT now();"); $sth->execute(); while (my $ary_ref = $sth->fetchrow_arrayref) { my ($row) = @$ary_ref; print $row , "\n"; } $sth->finish; $dbh->disconnect; 1; - 実行結果 SELECT now(); が正常に動作しました。 $ ./pg_connect.pl 2012-10-04 17:03:45.030885+09 以下のエラーが発生した場合は、DBI,DBDモジュールがインストールされていません。~ 上記の「PostgreSQLを操作するために必要なDBIとDBDモジュールをインストール」を参照してください。 $ ./pg_connect.pl install_driver(Pg) failed: Can't locate DBD/Pg.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/sh...
タイムスタンプを変更しない
#navi(../) * PerlでPostgreSQLにアクセスできるようにする・CentOS [#xdacaf8e] PerlでPostgreSQLにアクセスするには、PostgreSQL用のDBDとperl-DBIをインストールする必要があります。~ 本資料は、CentOS6でPerlによるPostgreSQLのアクセスをするためにPerlモジュールDBI/DBDのインストール方法と簡単なサンプルコードを記します。 #contents #htmlinsertpcsp(db-top.html,db-sp.html) * 関連資料 [#n9422e5b] -[[PostgreSQLをCentOSにインストールする>PostgreSQL/CentOSインストール]] -[[PHPでPostgreSQLに接続する・pg_connect>PHP/PostgreSQLに接続する・pg_connect]] -[[PerlでPostgreSQLに接続するサンプルコード>Perl/PostgreSQLに接続するサンプルコード]] -[[CPANのDBD::Pgがインストールできない場合の対処>PostgreSQL/DBD Pgがインストールできない場合の対処]] * DBI/DBDとは [#me459659] DBIとは、DataBase Interfaceの略語になります。~ DBDとは、DataBase Driverの略語になります。~ したがって、DBDは各データベース毎に用意されています。~ たとえば、PostgreSQLの場合は、perl-DBD-Pgパッケージ, MySQLの場合は、perl-DBD-MySQLパッケージになります。~ DBIは、Perlからデータベースを操作するためのAPIになります。 * PostgreSQLを操作するために必要なDBIとDBDモジュールをインストール [#d33adffb] rootになり、以下のコマンドでDBIとDBDをインストールします。 yum -y install perl-DBI perl-DBD-Pg 以下、インストールしたときの出力です。 # yum -y install perl-DBI perl-DBD-Pg Loaded plugins: fastestmirror Determining fastest mirrors <snip> Setting up Install Process Package perl-DBI-1.609-4.el6.x86_64 already installed and latest version Resolving Dependencies --> Running transaction check ---> Package perl-DBD-Pg.x86_64 0:2.15.1-4.el6_3 will be installed --> Finished Dependency Resolution Dependencies Resolved ============================================================================================================================ Package Arch Version Repository Size ============================================================================================================================ Installing: perl-DBD-Pg x86_64 2.15.1-4.el6_3 updates 196 k Transaction Summary ============================================================================================================================ Install 1 Package(s) Total download size: 196 k Installed size: 544 k Downloading Packages: perl-DBD-Pg-2.15.1-4.el6_3.x86_64.rpm | 196 kB 00:00 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : perl-DBD-Pg-2.15.1-4.el6_3.x86_64 1/1 Verifying : perl-DBD-Pg-2.15.1-4.el6_3.x86_64 1/1 Installed: perl-DBD-Pg.x86_64 0:2.15.1-4.el6_3 Complete! perl-DBIですが、既にインストールされていました。(Package perl-DBI-1.609-4.el6.x86_64 already installed and latest version) * テストしたPostgreSQLの環境 [#e3b14d11] 以下の設定で環境を構築しました。 - pg_hba.conf抜粋~ パスワード認証を必要としてあります。 # IPv4 local connections: host all all 127.0.0.1/32 md5 - ユーザの追加~ postgresユーザにsuし、sakuraユーザを追加しパスワードを設定しました。 -bash-4.1$ createuser -P sakura 新しいロールのパスワード: もう一度入力してください: 新しいロールをスーパーユーザとしますか? (y/n)y * PerlでPostgreSQLに接続してみる [#o9a2d315] 以下にPerlによるPostgreSQLアクセスの簡単なサンプルコードを記します。 - サンプルコード #ref(pg_connect.pl.zip) #!/usr/bin/perl use DBI; # PostgreSQL our $DB_NAME = "postgres"; our $DB_USER = "sakura"; our $DB_PASS = "sakura"; our $DB_HOST = "127.0.0.1"; our $DB_PORT = "5432"; my $dbh = DBI->connect("dbi:Pg:dbname=$DB_NAME;host=$DB_HOST;port=$DB_PORT","$DB_USER","$DB_PASS") or die "$!\n Error: failed to connect to DB.\n"; my $sth = $dbh->prepare("SELECT now();"); $sth->execute(); while (my $ary_ref = $sth->fetchrow_arrayref) { my ($row) = @$ary_ref; print $row , "\n"; } $sth->finish; $dbh->disconnect; 1; - 実行結果 SELECT now(); が正常に動作しました。 $ ./pg_connect.pl 2012-10-04 17:03:45.030885+09 以下のエラーが発生した場合は、DBI,DBDモジュールがインストールされていません。~ 上記の「PostgreSQLを操作するために必要なDBIとDBDモジュールをインストール」を参照してください。 $ ./pg_connect.pl install_driver(Pg) failed: Can't locate DBD/Pg.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/sh...
テキスト整形のルールを表示する
添付ファイル:
pg_connect.pl.zip
665件
[
詳細
]