Perl connection to PostgreSQL
Modul Perl yang diperlukan
Agar program Perl bisa connect ke Posgres diperlukan modul tambahan Perl sebagai berikut:
- DBI
- DBD::Pg
Instalasi Modul di Linux
Untuk sistem operasi Linux, installasi modul sangat mudah dilakukan, yaitu dengan menggunakan program RPM, Yum, dan sebagainya.
Sebagai contoh untuk menginstall modul DBD::Pg, lakukan langkah-langkah sbb:
Cari nama package modul jika belum diketaui secara pasti.
# yum search perl-dbd
hasilnya misalnya (bisa beda-beda setiap komputer):
Loading "fastestmirror" plugin Loading mirror speeds from cached hostfile * base: centosq2.centos.org * updates: centosw.centos.org * addons: centosk2.centos.org * extras: centosw.centos.org perl-DBD-Pg.x86_64 : A PostgresSQL interface for perl perl-DBD-MySQL.x86_64 : A MySQL interface for perl
Dari hasil pencarian tersebut dapat diketahui nama file modul yang perlu diinstal secara pasti, yaitu perl-DBD-Pg.x86_64.
Jalankan perintah install sebagai berikut:
# yum install perl-DBD-Pg.x86_64
Pastikan tidak ada pesan error. Jika sudah sukses, maka modul DBD::Pg siap digunakan. Modul DBI umumnya sudah diinstall secara default. Namun jika belum (diketahui dari pesan error saat install DBD::Pg) maka lakukan langkah yang sama seperti di atas untuk modul DBI.
Instalasi Modul di Windows
Untuk Sistem operasi Windows gunakan ActiveState Perl. Pada program tersebut terdapat program utiliti ppm (perl package manager) yang dapat digunakan untuk mengelola modul.
Script Koneksi PostgreSQL
Langkah pemanggilan fungsi yang perlu dilakukan oleh script Perl untuk konek dan query ke Postgres adalah:
- function $dbh = DBI->connect()
- function $sth = dbh->prepare($sql)
- function $sth->execute;
- jika diperlukan untuk mengambil data: function $sth->fetchrow()
Langkah pertama adalah memanggil modul DBI untukmelakukan koneksi ke database. Seacara lengkap sintaksnya adalah :
$dbh = DBI->connect("dbi:Pg:dbname=namadatabase", 'namauser', 'password', {AutoCommit => 1});
Dimana paramenter pertama “dbi:Pg:dbname=namadatabase” adalah parameter koneksi ke server. Dapat ditambahkan dengan string hostname dan port yang jika tidak dicantumkan maka diasumsikan localhost port 5432.
Parameter kedua dan ketiga adalah nama user database dan password nya yang digunakan untuk melakukan koneksi.
Parameter ke empat {AutoCommit => 1} adalah option yang menentukan apakah setiap query akan otomatis di commit atau tidak. Jika Tidak maka perlu dijalanlan function $dbh->commit().
Setelah berhasil konek, langkah selanjutnya adalah mempersiapkan SQL statement yang akan dikirimkan ke server. Perintah selengkapnya misalnya sbb:
$sql = "select * from namatable"; $sth = $dbh->prepare($sql);
Setelah dipersiapkan, maka panggil function execute untuk mengeksekusi SQL:
$sth->execute;
Jika SQL yang dijalankan mengeluarkan hasil (misalnya SQL SELECT), maka data yang dihasilkan ditangkap dengan menggunakan function $sth->fetchrow() yang dilooping sampai dengan data tersebut habis, sebagai berikut:
while ( my @row = $sth->fetchrow() )
{
print $row[0] , $row[0];
}
Untuk SQL yang tidak mengeluarkan hasil (misalnya SQL INSERT, UPDATE), maka tidak perlu dilakukan pemanggilan function fetchrow().
Akhmad Daniel Sembiring
vITraining.com – Qualified IT Products, Outsourcing, and Services
Ligarwangi.com – Linux, E-book, Coffee, Gift, etc



Recent Comments