Setelah terjadi hiruk pikuk alih tangan MySQL pada saat ingin fokus menggunakan MySQL, membuat saya berpikir untuk kembali fokus dengan database server PostgreSQL. Dengan pertimbangan masa depan yang menurut saya kurang bagus buat MySQL. Ini adalah kejadian yang ketiga setelah saya beralih dari distribusi GNU/Linux RedHat/Fedora ke Mandrake/Mandriva, dan kemudian ke Debian. Dengan alasan yang sama tentunya. Masa depan yang sepertinya gak terlalu bagus.
Beberapa tahun saya telah mengunakan dua database utama yaitu MySQL dan PostgreSQL. Namun tidak pernah membuat dokumentasi masing-masing. Sekarang saat yang tepat untuk segera membuat dokumentasi. Agar mudah mencari apa yang telah saya kerjakan, daripada mencari dalam lautan database mesin pencari di Internet. Selain itu agar bermanfaat pula bagi orang lain.
Fitur-fitur penting dijelaskan di website postgresql. Tapi seingat saya, PosgreSQL mempunyai fitur yang jauh di atas MySQL di awal-awal tahun 2000-an. Untuk kondisi sekarang belum membandingkan, karena MySQL sudah sedemikian maju. Dan saya baru mulai menggunakan PosgreSQL lagi.
Server Saya Belum Terpasang PosgreSQL
PosgreSQL belum terpasang di server high-end saya di data center. Iyes. Selama Anda menggunakan Debian, aman. Tinggal jalankan perintah:
kripton:~# apt-get install postgresql-8.3
Jawab dengan huruf “Y” jika pertanyaan konfirmasi seperti ini “Do you want to continue [Y/n]?” muncul. Instalasi ini akan menggunakan ruang harddisk sekitar 20MB. Sangat kecil dibanding dengan ukuran harddisk yang sudah ratusan gigabyte. Tentu saja ruang yang digunakan akan membesar seiring dengan tumbuhnya database Anda.
Tunggu beberapa saat ketika muncul pesan “Creating new cluster….”. Proses ini agak lama, karena PostgreSQL sedang mempersiapkan infrastruktur database awal.
Karena sistem kebergantungan pada Debian, otomatis akan diinstal juga paket-paket: postgresql-client-8.3, postgresql-client-common, dan postgresql-common.
Jika diperlukan Anda juga bisa menginstall paket tambahan: oidentd, ident-server, dan postgresql-doc-8.3.
Membuat User Baru
Pertama kali PostgreSQL diinstall, hanya terdapat satu user yaitu “postgres”. User ini sama dengan user sistem yang menjalankan server database PostgreSQL. Perlu diketahui, user management di PostgreSQL terpisah dari user management sistem operasi. User postgres ini adalah user administrator server database. Untuk membuat user yang lain kita harus login menggunakan user ini.
Untuk mengakses server database bisa digunakan program yang bernama “psql”. Program ini adalah program antar muka klien sederhana berbasis text. Ada beberapa antarmuka klien lain yang bisa didapatkan seperti pgadmin, PostgreSQL Maestro, EMS SQL Management Studio for PostgreSQL, Navicat, maupun phpPgAdmin. Tapi bagi saya program bawaan PostgreSQL ini sudah cukup, gak perlu repot-repot menginstall program lain.
kripton:~# su - postgres
postgres@kripton:~$ psql
Welcome to psql 8.3.11, the PostgreSQL interactive terminal.
Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit
postgres=# CREATE USER dbuser WITH PASSWORD 'dbpass';
CREATE ROLE
postgres=# \du
List of roles
Role name | Superuser | Create role | Create DB | Connections | Member of
-----------+-----------+-------------+-----------+-------------+-----------
dbuser | no | no | no | no limit | {}
postgres | yes | yes | yes | no limit | {}
(2 rows)
postgres=#
Ya user “dbuser” dengan password ‘dbpass’ telah selesai dibuat. Tidak sesulit yang dibayangkan. Untuk keluar dari program klien ini gunakan perintah seperti ini:
postgres=# \q
Untuk menggunakan user yang telah dibuat, gunakan perintah seperti ini:
postgres@kripton:~$ psql -Udbuser template1 -h localhost
Password for user dbuser:
Welcome to psql 8.3.11, the PostgreSQL interactive terminal.
Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit
SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256)
template1=>
Membuat dan Mengakses Database
Untuk bisa membuat database user harus punya hak akses, secara default user ‘postgres’ adalah user administrator yang mempunyai akses ke server database tidak terbatas. Dan user yang telah kita buat sebelumnya tidak punya hak untuk membuat database.
Sekarang kita akan membuat database ‘worklog’ dan memberikan hak akses sepenuhnya terhadap user ‘dbuser’,
postgres=# CREATE DATABASE worklog;
CREATE DATABASE
postgres=# GRANT ALL ON DATABASE worklog TO dbuser;
GRANT
postgres=#
Untuk mengakses ke database gunakan perintah seperti ini:
postgres@kripton:~$ psql -Udbuser worklog -h localhost
Password for user dbuser:
Welcome to psql 8.3.11, the PostgreSQL interactive terminal.
Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit
SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256)
worklog=>
Voila. Anda sudah terhubung dengan database worklog.
Refferensi:
Selesai.