+
Prakondisi:
Kemarin saya mencoba-coba bagaimana caranya mengintegrasikan XAMPP dengan database PostGreeSQL. Sebagaimana yang telah kita ketahui, bundle default DBMS dari XAMPP adalah MySQL bukan PostGreSQL. Jadi untuk menyatukan kedua perangkat tersebut, kita harus mengerjakannya sendiri. Setelah googling, akhirnya saya menemukan tutorial dari 2 blog orang Indonesia, yaitu:
- Mengintegrasikan XAMPP dan PostGreSQL di Windows (http://blogs.itb.ac.id)
- Integrasi XAMPP + PostgreSQL + PHPPgAdmin (http://ganjarramadhan.wordpress.com)
Terima kasih kepada author kedua blog tersebut, karena diantara minimnya resource tutorial dari dalam negeri, blog tersebut sangat membantu. Namun setelah mengikutinya, tidak semulus yang dibayangkan. Saya menemukan berbagai bug/error yang membuat saya bingung. Mungkin karena kurang detailnya tutorial yang diberikan. Maka saya coba membuat tutorial versi saya sendiri, semoga bisa membantu anda semua. Selamat menyimak :)
1. Install XAMPP. Biasanya secara default XAMPP akan membuat data di directory C:\XAMPP
2. Install PostGreSQL.
- Jangan lupa, PostGreSQL kita taruh di dalam directory yang sama dengan XAMPP. Jika barusan XAMPP anda di install di C:\XAMPP maka pastikan PostGreSQL berada di C:\XAMPP\PostGreSQL.
- Tuliskan password untuk user db. (jangan lupa untuk mengingat passwordnya.)
- Jalankan [START] [All Programs] [PostGreSQL 9.1]
- Klik kanan pada [Servers][PostGre 9.1][Connect] kemudian masukan password yang tadi sudah dituliskan.
- Klik kanan [Login Roles], pilih 'New Login Role', ketik role name: admin. Pada tab [Role Privileges] pilih 'Superuser', kemudian klik OK
- Cari File php.ini, di C:\xampp\php\php.ini, kemudian cari baris ";extension=php_pgsql.dll" hapus tanda ‘;’ nya sehingga hasilnya jadi "extension=php_pgsql.dll"
3. Deploy PhpPgAdmin
- Ekstrak dan copy PhpPgAdmin kedalam folder C:\XAMPP\phpPgAdmin
- Edit file config.inc dalam directory C:\XAMPP\phpPgAdmin\conf\config.inc
$conf['servers'][0]['desc'] = 'PostgreSQL';
$conf['servers'][0]['host'] = 'localhost';
$conf['servers'][0]['port'] = 5432;
$conf['servers'][0]['sslmode'] = 'allow';
$conf['servers'][0]['defaultdb'] = 'postgres';
$conf['servers'][0]['pg_dump_path'] = 'C:\xampp\PostgreSQL\9.1\bin\pg_dump.exe';
$conf['servers'][0]['pg_dumpall_path'] = 'C:\xampp\PostgreSQL\9.1\bin\pg_dumpall.exe';
- Edit file httpd-xampp.conf pada directory C:\xampp\apache\conf\extra
Alias /phppgadmin "C:/xampp/phpPgAdmin/"
<Directory "C:/xampp/phpPgAdmin">
AllowOverride AuthConfig
Order allow,deny
Allow from all
</Directory>
Script diatas dituliskan diantara tag <IfModule alias_module> </ifModule>. Agar tidak membingungkan berikut screenshotnya
- The last but not least, coba Apache XAMPP-nya di restart. Kemudian buka browser dan masukan URL http://localhost/phppgadmin. Kalau berhasil, maka seharusnya tampilannya akan seperti ini
- Selesailah sudah proses penyatuan cinta dua insan ini, eh, maksud saya penyatuan DBMS dalam platform XAMPP ini.
TROUBLESHOOT
Setelah mengikuti dengan saksama tutorial diatas ternyata kamu masih menemukan pesan error ini saat menjalankan XAMPP kamu lagi:
Jangan panik, jangan frustasi. Saya pun mengalami hal serupa. Cara penanggulangannya adalah dengan memindahkan file LIBPQ.dll yang berada di directory C:\xampp\PostgreSQL\9.1\lib ke dalam directory C:\xampp\apache\bin. Pesan error tersebut muncul dikarenakan server apache kamu kekurangan file yang diperlukan dalam mengenali postgreSQL.
Menurut pengalaman saya, ada 3 file yang harus di copy ke C:\xampp\apache\bin yaitu:
- libpq.dll
- libiconv-2.dll
- libintl-8.dll
Yah, demikian tutorial dari saya kali ini. Semoga ada manfaatnya. Jika kamu punya masalah/ troubleshoting yang berbeda dengan kasus diatas. Jangan sungkan-sungkan di share, mari kita cari solusinya bersama-sama..hehe..
Salam.....