Anda di halaman 1dari 2

Dokumen 22 Januari 2010

Belajar PostgreSQL Bagian 4


Perkerjaan Database Administrator (DBA) cukuplah sulit, dari menambah user, menambah group, menjaga keamanan database dll. Tapi disinilah seni dari DBA. Disini saya akan berbagi ilmu mengenai pembuatan user dan group di PostgreSQL Caranya adalah: Kita harus masuk terlebih dahulu ke User postgres, karena pemberian hak kepada user lain harus melalui user postgres.
postgres@darkstar:~$ psql -U postgres -W Password FOR user postgres: psql (8.4.2) Type "help" FOR help. postgres=#

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' [ , ... ] ) ]

Dokumen 22 Januari 2010

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=>