PostgreSQL adalah RDBMS yang bersifat opensource yang mempunyai kehandalan, kecepatan dan integritas penanganan data yang sangat tinggi. Software ini dikembangkan dengan sangat baik dan mempunyai tujuan pengembangan yang sangat jelas, terbukti dengan versinya yang terus diperbaharui dan versi yang terbaru saat ini adalah versi 9.1. Okelah, cukup prefacenya, selanjutnya adalah langkah demi langkah melakukan instalasi dan konfigurasi PostgreSQL 9.1 di Ubuntu.
Instalasi
1. Lakukan instalasi phyton-software-properties
#sudo apt-get install python-software-properties
2. Tambahkan repository dan lakukan update apt
#sudo add-apt-repository ppa:pitti/postgresql
#sudo apt-get update
3. Install Postgresql
#sudo apt-get install postgresql-9.1 libpq-dev
4. Ganti password postgres
#su postgres
#psql -d postgres -U postgres
#alter user postgres with password 'passwordbaru';
#\q
Sebagai pengetahuan saja, user postgres adalah user default ketika menginstall postgresql.
5. Install GUI client pgsql
Ini bersifat optional, karena jika anda menginginkan server anda berupa text based maka langkah ini tidak diperlukan, toh Ubuntu disini akan berberan sebagai server saja, untuk administrasinya bisa dilakukan di level client, untuk lebih menghemat resource dan mengurangi beban kerja dari server itu sendiri. Jika anda menginginkan install GUI client berikut perintahnya:
#sudo apt-get install pgadmin3
Administrasi Dasar PostgreSQL
Untuk melakukan administrasi PostgreSQL masuklah ke dalam sistem postgresql:
#psql -h localhost -U username
Selanjutnya anda dapat melakukan operasi-operasi DDL dan DML di postgreSQL. Berikut adalah operasi-operasi dasar PostgreSQL:
\l                   :Untuk melihat daftar semua database yg ada
\du                  :Untuk melihat daftar semua user yg ada
\dp                  :Untuk melihat daftar privileges dari setiap
                      object database
\d[NAME]             :Untuk melihat keterangan (describe) dari suatu tabel
                      atau object lainnya
\dt                  :Untuk melihat daftar semua tabel
\c [DBNAME]          :Untuk membuat koneksi ke suatu database agar bisa
                      bekerja di database tsb
select version();    :Untuk mengetahui versi PostgreSQL
Konfigurasi Networking PostgreSQL
Karena PostgreSQL didesign untuk dapat bekerja secara client-server maka konfigurasinya sebaiknya juga disesuaikan dengan konsep client server. Perlu diketahui bahwa penegertian client-server disini adalah data dikonsentrasikan dalam satu buah server database (postgresql) dan database ini harus dapat diakses oleh client di lingkungan LAN maupun di lingkungan WAN. Berikut adalah konfigurasinya:
1. Konfigurasi file postgres.conf
#cd /etc/postgresql/9.1/main/
#vi postgresql.conf
Ubah value ‘localhost’ menjadi ‘* ‘ dari listen_address, yang artinya sistem postgresql dapat mendengar/diakses dari semua host client bukan hanya dari localhost saja
listen_addresses = 'localhost'
port = 5432
max_connections = 100
Menjadi
listen_addresses = '*'
port = 5432
max_connections = 100
Untuk nilai dari port dan max_connection bisa diset sesuai dengan kebutuhan anda.
2. Konfigurasi file pg_hba.conf
Tambahkan daftar IP Address yang diizinkan untuk dapat mengakses postgresql server (tambahkan baris terakhir dari file pg_hba.conf):
host      all      all        192.168.3.157/24         md5
Ini berarti bahwa hanya client dengan alamat IP 192.168.3.157 saja yang diperbolehkan mengakses postgresql server.
Pengujian
Untuk melakukan pengujian konfigurasi gunakan host client dengan setup alamat IPnya adalah 192.168.3.157 dan pastikan host client sudah bisa melakukan komunikasi (ping) dengan IP server, dalam kasus ini ip server adalah 192.168.3.158. Dengan menggunakan PgAdmin3 tambahkan sebuah server kemudian isi parameter-parameternya sebagai berikut:
Name      : Test-remote-postgresql
Hostname  : 192.168.3.158
Port      : 5432
Username  : postgres
Password  : {isi-password-posgres-anda}