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

Comments

Popular posts from this blog

Adding Image Alternate Text into WordPress Image Attachment using python-wordpress-xmlrpc Library

Keutamaan Tidur yang Sedikit Menurut para Ulama

Kisah Nabi Uzair a.s.