Konfigurasi PostgreSQL

Saya yakin, ada banyak contoh konfigurasi bertebaran di Internet, namun konfigurasi ini bagi saya termasuk sederhana dan working, kesampingkan dulu parameter performance dan security. Yang pertama  saya lakukan adalah mengubah sistem autentikasi default postgreSQL dari peer ke md5, kenapa? Untuk mempermudah dan biar terasa lebih familiar seperti mySQL.

Install PostgreSQL

sudo apt install postgresql postgresql-contrib

Ubah sistem autentikasi dari peer ke md5

Cari file pg_hba.conf, kalau di Ubuntu 16.04, berada di

/etc/postgresql/9.5/main/pg_hba.conf

selanjutnya ganti baris berikut:

local      all      all     peer

menjadi

local      all      all     md5

Simpan kemudian restart postgresql service.

sudo service postgresql restart

Sistem autentikasi sekarang sudah berubah ke sistem username/password. Selanjutnya kita buat user dan set RULE untuk user tersebut.

Masuk ke postgresql shell prompt

sudo su -u postgres

Buat user kholidfu

createuser -U postgres -d -e -E -l -P -r -s kholidfu

Set RULE, tapi sebelumnya masuk ke psql (postgresql repl) dulu

sudo -u postgres psql

django menyarankan untuk menambahkan ROLE seperti di bawah ini untuk kinerja yang optimal. Caranya adalah dengan mengetik perintah berikut di postgresql repl:

ALTER ROLE kholidfu SET client_encoding TO 'utf8';
ALTER ROLE kholidfu SET default_transaction_isolation TO 'read committed';
ALTER ROLE kholidfu SET timezone TO 'UTC';

Atau bisa juga dari Bash prompt

$ sudo -u postgres psql -c "ALTER ROLE kholidfu SET client_encoding TO 'utf8';"
$ sudo -u postgres psql -c "ALTER ROLE kholidfu SET default_transaction_isolation TO 'read committed';"
$ sudo -u postgres psql -c "ALTER ROLE kholidfu SET timezone TO 'UTC';"

Sekarang kita buat database dbname untuk user kholidu dari bash prompt

$ createdb -O kholidfu -U kholidfu dbname -W

Atau berikut perintah untuk menghapus database dbname

$ dropdb -U kholidfu dbname -W

Beberapa perintah postgresql via bash yang berguna

Login ke postgreSQL shell prompt

sudo su - postgres

Login ke postgreSQL repl

sudo -u postgres psql

Melihat daftar database via bash

sudo -u postgres psql -c "\l;"

Melihat semua users via bash

sudo -u postgres psql -c "select * from pg_shadow;"

Referensi

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s