perl操作postgresql

 利用perl的DBI很容易操作postgresql数据库,方式很操作Mysql基本一致。

  
  
  
  
  1. #/usr/bin/perl -w 
  2. use strict; 
  3. use Data::Dumper; 
  4. use DBI; 
  5. use DBD::Pg; 
  6.  
  7. my $dbname='zabbix'
  8. my $uname='zabbix'
  9. my $pw='zabbix'
  10. my $host='192.168.65.219'
  11. my $port="5432"
  12.  
  13. my $dbh=DBI->connect("dbi:Pg:dbname=$dbname;host=$host;port=$port",$uname,$pw,{AutoCommit => 1}); 
  14.  
  15. my $sth=$dbh->prepare("select userid,alias,name,surname,passwd from users"); 
  16. $sth->execute(); 
  17.  
  18. #my @data; 
  19. #以数组的形式存放数值,但如果有多个字段的话,操作起来不方便,只能用数组的下标来取值,当字段顺序发生变化的时候,也需要相应的更改程序 
  20. #while(@data = $sth -> fetchrow_array()) 
  21. #{ 
  22. #  printf("$data[0]   $data[1]\n"); 
  23. #} 
  24.  
  25. my $row; 
  26. #my $key,$value; 
  27. my %row_hash; 
  28. while($row = $sth -> fetchrow_hashref) 
  29.   print Dumper($row); 
  30.   my $zb_name=$row -> {name}; 
  31.   my $zb_userid=$row -> {userid}; 
  32. #  printf("$zb_name    $zb_userid\n"); 
  33.                                                                                                                       

获取到的数据结构为:

 

 

 

你可能感兴趣的:(perl,PostgreSQL)