setting postgresql di ubuntu 12.04

Postgresql merupakan database opensource yang tangguh dengan 15 tahun dikembangkan secara aktif dan sudah diakui oleh industri sebagai database opensource yang paling canggih.

Untuk melakukan instalasi postgresql di ubuntu 12.04 lakukan perintah

   sudo apt-get install postgresql pgadmin3

setelah instalasi selesai postgresql perlu dilakukan settingan awal

   sudo su postgres -c psql template1
template1# alter user postgres with password 'password';
template1# \q

untuk menyamakan password user postgres di sistem dan di database perlu dilakukan setting

   sudo passwd -d postgresql
sudo su postgres -c passwd

Setelah setting kita bisa akses database postgresql dengan menggunakan user postgres.

Nama Driver Beberapa Database Untuk JDBC

Beberapa proyek yang saya kerjakan akhir-akhir ini menggunakan beberapa database. Karena saya tidak begitu hapal nama driver untuk koneksi database maka saya membuat posting ini sebagai pengingat.

Oracle
driverName="oracle.jdbc.driver.OracleDriver";
url = "jdbc:oracle:thin:@"+serverName+":"+portNumber+":"+sid;

PostgreSQL
driverName = "org.postgresql.Driver";
url = "jdbc:postgresql://"+serverName+":"+portNumber+"/"+dbName";

Import dari oracle 10g ke oracle 8i mungkin kah?

Pada proyek saya yang terbaru, saya menggunakan oracle 10g. Saya bersama tim saya mengerjakan proyek ini hampir 6 bulan. Minggu kemarin proyek ini akhirnya selesai juga di kembangkan dan telah melalui UAT (User Acceptence Test).

Direncanakan pada minggu ini proyek ini akan dipindahkan dari mesin development ke mesin live. Masalah terjadi disini, ternyata di mesin live versi oracle yang digunakan adalah versi 8i. Saya sudah mencoba berbagai cara import database tetapi selalu berujung kegagalan.

Kolega saya menyarankan agar oracle client yang digunakan pada saat export database harus menggunakan versi yang sama ama oracle live. Saya memutuskan mengikuti saran tersebut. Maka Googling lah saya tapi tanpa dinyana ternyata oracle client untuk 8i sudah tidak ada lagi karena pihak oracle sudah menghentikan layanan untuk oracle 8i setahun yang lalu. Dari sini saya mulai putus asa. Apa yang harus saya lakukan?

Setelah pemikiran lebih lanjut dengan berat hati saya melakukan export database secara manual. Ini sangat ribet sekali selain ribet ternyata ada beberapa perintah dari oracle 10g yang tidak dimengerti oleh oracle 8i. Kesimpulannya memang Oracle 10g tidak bisa mengimport ke oracle 8i 😦

Stored Procedure di MySQL

Bagi anda yang berkecimpung di dunia DBMS pasti mengenal dengan istilah PL/SQL. PL/SQL merupakan suatu bahasa pemograman yang sifatnya prosedural. PL/SQL ini berada di database Oracle. Tetapi disini saya tidak akan membahas mengenai PL/SQL tetapi saya akan membahas kemampuan terbaru dari MyQL yaitu kemampuan MySQL dalam menggunakan bahasa pemograman prosedural.

Mulai dari MySQL versi 5 para pengembang MySQL membuat suatu tambahan baru terhadap MySQL. Tambahan tersebut yaitu Stored Procedure. Stored Procedure di Mysql mendukung dua fitur-fitur standar dari SQL yaitu fitur P001 “Stored Modules” dan fitur P002 “Computational Completeness”. Selain MySQL database DB2 juga mengimplementasi fitur-fitur tersebut. Kalo anda terbiasa dengan PL/SQL mungkin akan sedikit kesulitan menggunakan pemograman procedureal di MySQL.

Untuk Contoh saya akan membuat database baru

mysql> create database db_test;

dengan tabel sebagi berikut

mysql> create table tabel1(kolom1 int, kolom2 int)

setelah membuat tabel yang perlu kita lakukan adalah menentukan delimiter. Delimiter tujuannya agar pada saat pembuatan prosedur tidak terganggu. Karena secara default MySQL menggunakan titik-koma sebagai delimiter dan pada pemograman procedural MySQL menggunakan titik-koma juga maka diperlukan delimiter lain selain titik-koma. Perlu diketahui delimiter adalah suatu tanda yang menyebabkan mesin MySQL mengeksekusi sql yang kita inputkan. Dalam contoh ini saya menggunakan // sebagai delimiter

mysql> delimiter //

Sekarang kita akan membuat procedure sederhana

mysql> create procedure proc1 () select kolom1, kolom2 from tabel1; //

Jangan lupa delimiter // nya. Procedure diatas melakukan query untuk mengambil kolom kolom1 dan kolom kolom2 di tabel tabel1. Untuk memanggil procedure tersebut gunakan

mysql> call proc1() //

perintah call bertujuan untuk memanggil procedure proc1(). Dalam pemograman prosedural di MySQL tanda kurung tutup merupakan hal wajib tidak seperti di pemograman prosedural PL/SQL. Postingan ini hanya merupakan sebagai introduksi, jika anda ingin mendalami ada tutorial yang ringkas namun padat di sini