Setelah sebelumnya dibahas mengenai cara instalasi serta mengelola database dan table PostgreSQL di terminal Ubuntu, kali ini akan dilanjutkan dengan tutorial mengenai cara membuat, mengganti dan menghapus user PostgreSQL di terminal Ubuntu juga.
Untuk memenuhi kebutuhan, seorang administrator database sering kali perlu membuat atau menambahkan user (pengguna) baru. Setelah itu, terkadang ia juga perlu mengganti (meodifikasi) beberapa item kewenangan (privilleges), atau bahkan menghapus user yang sudah kadaluarsa atau yang sudah tidak dibutuhkan.
A. Membuat User Baru PostgreSQL
Untuk bisa membuat user baru, maka harus login terlebih dahulu ke postgres dengan perintah:
su - postgres
lalu masukan password akun postgres linuxnya, setelah itu ketikan:
psql
Sehingga hasilnya kurang lebih seperti ini:
ruswan@ruswan:~$ su - postgres
Password:
postgres@ruswan:~$ psql
psql (10.10 (Ubuntu 10.10-0ubuntu0.18.04.1))
Type "help" for help.
postgres=#
Baca juga : Cara Install PostgreSQL di Ubuntu 16.4 dan 18.4
Secara umum, perintah yang diperlukan untuk membuat user baru adalah:
CRATE USER namauser [[ WITH] option [ ... ]]
Di mana option adalah:
SUPERUSER | NOSUPERUSER | CREATEDB | NOCREATEDB | CRATERULE | NOCERATERULE | CREATEUSER | NOCERATEUSER | INHERIT | NOINHERIT | LOGIN | NOLOGIN | CONNECTION LIMIT connlimit [ENCRYPTED | UNENCRYPTED] PASSWORD 'password' VALID UNTIL 'timestamp' IN ROLE rolename [, ...] IN GROUP rolename [, ...] ADMIN rolename [, ...] USER [, ...] SYSID uid
Berikut adalah contoh-contoh perintah yang digunakan untuk membuat user baru di terminal Ubuntu:
Baca juga : Cara Menghapus (Uninstall) PostgreSQL dari Ubuntu
1. Membuat user baru dengan nama "ruswan" tanpa password dan tanpa kewenangan (privillege) sama sekali.
CREATE USER ruswan;
2. Membuat user baru sebagai super-user dengan nama "aila" dan password "putericantik".
CREATE USER aila WITH PASSWORD 'putericantik' SUPERUSER;
3. Membuat user baru dengan status biasa (non-super-user) atau NOSUPERUSER dengan nama "syia" dan password "istriruswan".
CREATE USER syifa WITH PASSWORD 'istriruswan';
5. Menambahkan user baru dengan tingkatan super-user yang bernama "ruswan" dengan password "ayahmuda" dan bekemampuan untuk membuat basis data.
CRATE USER ruswan WITH PASSWORD 'ayahmuda' SUPERUSER CREATEDB;
Baca juga : Membuat Database dan Tabel PostgreSQL serta Cara Penggunaannnya di Terminal Ubuntu
6. Menambahkan user baru sebagai super-user dengan nama "sukabumi" dan password "kode123" yang berkemampuan dengan untuk membuat user baru dan basis data baru.
CRATE USER sukabumi WITH PASSWORD 'kode123' SUPERUSER CREATEDB CREATEROLE;
Catatan : dengan cara yang sama dan atau dengan option yang berbeda, setiap administrator (super-user) dapat membuat user baru dengan variasi kewenangan (privilleges) tersendiri.
B. Mengubah / Memodifikasi Kewenangan User PostgreSQL
Setelah user dibuat, terkadang karena satu atau beberapa alasan bisa menyebabkan kewenangan atau bahkan keberadaan user tersebut perlu durubah, hal ini memang sudah difasilitasi oleh PostgreSQL, sehingga kita bisa dengan mudah Mengubahnya.
Secara umum, perintah yang digunakan untuk memodifikasi user ini adalah:
ALTER USER namauser [[WITH] option [ ... ]]
Di mana option adalah:
SUPERUSER | NOSUPERUSER | CREATEDB | NOCREATEDB | CRATERULE | NOCERATERULE | CREATEUSER | NOCERATEUSER | INHERIT | NOINHERIT | LOGIN | NOLOGIN | CONNECTION LIMIT connlimit [ENCRYPTED | UNENCRYPTED] PASSWORD 'password' VALID UNTIL 'timestamp'
Berikut adalah beberapa contoh perubahan kewenangan user postgres:
1. Mengganti nama user yang sudah ada dengan nama yang baru:
ALTER USER ruswan RENAME TO syifa;
Baca juga : Backup Otomatis PostgreSQL di Linux
2. Mengubah kewenangan user biasa menjadi super user:
ALTER USER ruswan SUPERUSER;
3. Mengurangi (tingkat) kewenangan suatu user (superuse) menjadi tidak dapat membuat basis data:
ALTER USER ruswan NOCRATEDB;
4. Mengganti status user permanen menjadi user sementara (yang valid hingga waktu tertentu):
ALTER USER ruswan VALID UNTIL 'Sep 25 2020';
5. Mengganti password milik user:
ALTER USER ruswan WITH PASSWORD 'passwordbaru';
C. Menghapus User PostgreSQL
Untuk menghapus user sangatlah mudah, yaitu dengan perintah:
DROP USER nama_user;
D. Nenampilkan Daftar User PostgreSQL
Untuk menampilkan daftar user yang sudah ada sangatlah mudah, yaitu dengan perintah:
\du
E. Menampilkan Kewenangan User Tertentu
Untuk menampilan kewenang user tentu yaitu dengan perintah:
\du nama_user;
Penjelasan lebih lengkap ada di buku Tutorial PostgreSQL, PostGIS dan pgRouting karya Eddy Prahasta - Penerbit INFORMATIKA