PostgreSQL adalah object-relational database system yang kuat, dan gratis. PostgreSQL support di hampir semua sistem operasi. PostgreSQL dapat menyimpan data dengan aman dan dapat menangani request mulai dari web kecil sampai aplikasi enterprise / sangat besar. PostgreSQL juga support berbagai bahasa pemrograman seperti java, php, perl, ruby dll.
     PostgreSQL tidak memerlukan persyaratan hardware minimum khusus. Dalam tutorial ini kita akan memakai OS Centos 7 dan menggunakan account non-root untuk menjalankan perintah. Jika Anda login sebagai user root, menghilangkan perintah sudo dari semua perintah.

Instalasi PostgreSQL

pertama, buka terminal untuk update system dan repository menggunakan perintah :


sudo yum -y update

untuk menginstal postgreSQL anda membutuhkan repository postgreSQL yang terbaru. untuk mengupdate repository PostgreSQL gunakan perintah berikut :


sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpm

setelah repository terupdate, kita dapat melakukan proses install porsgreSQL menggunakan perintah berikut :


sudo yum -y install postgresql95-server postgresql95-contrib

setelah selesai proses download dan install, maka kita lanjutkan untuk melakukan inisialisasi database :


sudo /usr/pgsql-9.5/bin/postgresql95-setup initdb

setelah itu jalankan service postgreSQL dan setting untuk selalu dijalankan saat booting sistem.


sudo systemctl start postgresql-9.5
sudo systemctl enable postgresql-9.5

selanjutnya kita lakukan setting firewall untuk membuka akses port 5432 yang akan digunakan oleh postgreSQL dan juga port 80 untuk akses http.


sudo firewall-cmd --permanent --add-port=5432/tcp
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

sekarang anda dapat melakukan akses ke postgreSQL dengan menggunakan perintah di terminal :


sudo su - postgres

postgres adalah database default dan user default yang otomatis dibuat pada saat pertama instalasi. untuk masuk dan menggunakan postgreSQL sql command gunakan perintah :


psql

setelah berhasil masuk maka anda akan melihat tampilan sebagai berikut.


[centos@liptan ~]$ sudo su - postgres
Last login: Thu Jul 21 05:26:08 UTC 2016 on pts/1
-bash-4.2$ psql
psql (9.5.3)
Type "help" for help.

postgres=#

untuk merubah password user postgres, gunakan perintah berikut.


\password postgres

maka anda akan melihat tampilan sebagai berikut.


postgres=# password postgres
Enter new password:
Enter it again:
postgres=#

untuk keluar dari sql command, gunakan perintah \q. Kemudian untuk logout dari postgresSQL gunakan perintah exit.

Konfigurasi Authentifikasi MD5

      Konfigurasi diperlukan untuk proses authentifikasi user. Buka dan edit file /var/lib/pgsql/9.4/data/pg_hba.conf menggunakan editor.                

sudo vi /var/lib/pgsql/9.5/data/pg_hba.conf

kemudian scroll atau cari code seperti sebagai berikut :


# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 ident
# IPv6 local connections:
host all all ::1/128 ident

ubah method peer dan ident menjadi md5 sehingga menjadi sebagai berikut.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5

kemudian restart service postgreSQL


sudo systemctl restart postgresql-9.5

Konfigurasi Koneksi TCP/IP 

     Secara default, postgreSQL tidak mengijinkan koneksi dari luar, sehingga user tidak dapat mengakses SQL Server dari luar. Untuk mengizinkan akses database menggunakan protokol TCP/IP anda perlu mengedit file konfigurasi postgreSQL. buka dan edit file postgresql.conf menggunakan perintah :

sudo vi /var/lib/pgsql/9.5/data/postgresql.conf

cari perintah seperti berikut :


listen_addresses = '*'  # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
# (change requires restart)
port = 5432 # (change requires restart)
max_connections = 100 # (change requires restart)

buang tanda # didepan syntak jika ada. kemudian simpan dan restart service postgreSQL


    sudo systemctl restart postgresql-9.5

sampai disini kita sudah selesai melakukan instalasi postgreSQL. pada artikel selanjutnya akan saya lanjutkan dengan instalasi phpPgAdmin.