PostgreSQL – Instalasi dan Konfigurasi

Sekilas PostgreSQL

Entah kenapa, saya lebih familiar mySQL dibanding dengan postgresql, mungkin karena faktor “kemudahan” dan pengguna yang relatif banyak, sehingga ketika stuck dengan masalah, kita dapat dengan mudah browsing referensi di internet atau phone a friend, hehehe..

Ada hal mendasar yang seringkali membuat bingung bagi pengguna pemula database postgresql, yakni sistem autentikasi. Kalau di mysql lazimnya kita mengenal auth dengan username dan password, jika keduanya cocok, kita dapat dengan mudah memulai proses manajemen dan manipulasi database.

Install

sudo apt install postgresql postgresql-contrib

Peer Authentication

Di postgresql, sistem authentikasi secara default adalah menggunakan peer. Saya juga tidak terlalu paham dengan istilah peer auth ini, tapi yang jelas bukan sistem username/passwd seperti yang kita kenal selama ini. Untungnya postgresql juga menyediakan sistem auth dengan username/passwd seperti di mysql. Caranya adalah dengan mengubah file config (pg_hba.conf), yang jika di OS Ubuntu berada di /etc/postgresql/9.5/main/pg_hba.conf.

Cari baris

local all all peer

Ganti dengan

local all all md5

Simpan, kemudian restart service. Sekarang sistem auth postgresql menggunakan sistem username/passwd.

Langkah kedua adalah membuat user. User postgresql default adalah postgres dengan status sebagai superadmin (semua bisa dilakukan, no restrictions), namun setelah mengubah ke md5, kita dapat dengan menambahkan user melalui postgresql shell prompt.

Masuk ke postgresql prompt

sudo su - postgres

Kemudian buat user

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

*PS: postgres ini nama user default di linux, kalau di mac, install postgres pakai homebrew, maka default-nya adalah username dari komputer/laptop.

Exit ke bash prompt lagi, sekarang mari kita buat dbase dengan menggunakan user yang sudah dibuat sebelumnya.

createdb -O kholidfu -U kholidfu namadbase -W

Masukkan password

Atau jika ingin drop postgresql database,

dropdb -U kholidfu namadbase -W

Django dan PostgreSQL

Di dokumentasi resmi django, ada beberapa hal yang dilakukan oleh USER untuk meningkatkan kinerja database di django. Seperti dari tulisan digitalocean berikut:

Berikut ini konfigurasi tambahan untuk postgresql dari django:

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

Command Yang Sering Dipakai

Login ke postgresql prompt sebagai user postgres

sudo su – postgres

Login ke postgresql repl sebagai user postgres

sudo -u postgres psql

Melihat list database

sudo -u postgres psql -c ‘\l;’

Mengetahui semua user di postgresql

sudo -u postgres psql -c “SELECT * FROM pg_shadow;”

 

 

 

 

 

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