Melihat perintah apa saja yang terkandung dalam CREATE USER, Anda bisa melihat dengan menambah option \h CREATE USER:
postgres=# \h CREATE USER; Command: CREATE USER Description: define a new DATABASE role Syntax: CREATE USER name [ [ WITH ] OPTION [ ... ] ] WHERE OPTION can be: | | | | | | | | | | | | | | SUPERUSER | NOSUPERUSER CREATEDB | NOCREATEDB CREATEROLE | NOCREATEROLE CREATEUSER | NOCREATEUSER INHERIT | NOINHERIT LOGIN | NOLOGIN CONNECTION LIMIT connlimit [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password' VALID UNTIL 'timestamp' IN ROLE rolename [, ...] IN GROUP rolename [, ...] ROLE rolename [, ...] ADMIN rolename [, ...] USER rolename [, ...] SYSID uid
Command: CREATE USER MAPPING Description: define a new mapping of a user TO a FOREIGN server Syntax: CREATE USER MAPPING FOR { username | USER | CURRENT_USER | PUBLIC } SERVER servername [ OPTIONS ( OPTION 'value' [ , ... ] ) ]
Postgres meletakkan security-nya pada file pg_hba.conf, Anda bisa lihat disini vi /usr/local/pg80/data/pg_hba.conf Secara default Postgres memberikan hak akses kepada setiap user tanpa mengisikan password:
# TYPE DATABASE USER CIDR-ADDRESS METHOD trust trust trust
# "local" is for Unix domain socket connections only local all all # IPv4 local connections: host all all 127.0.0.1/32 # IPv6 local connections: host all all ::1/128
Gunakan option password dimana proses otorisasi diterapkan pada user yang akan kita buat:
# "local" is for Unix domain socket connections only local all all password
Disini saya akan membuat Group java, untuk memudahkan dalam pengelompokan otoritas user:
postgres=# CREATE GROUP java; CREATE ROLE
Sekarang saya mau membuat user tundra, lalu dimasukkan kedalam Group java:
postgres=# CREATE USER tundra password 'tundra' in group java; CREATE ROLE
Disini saya memberikan database khusus untuk belajar java, dengan nama database latihan_java:
postgres=# CREATE DATABASE latihan_java; CREATE DATABASE
Untuk memastikan apakah user tundra telah aktif, Anda dapat melakukan langkah seperti dibawah ini:
postgres=# \c latihan_java tundra Password FOR user tundra: psql (8.4.2) You are now connected TO DATABASE "latihan_java" AS user "tundra". latihan_java=>