Monday, October 26, 2009

Masi tentang Postgresql

Dalam artikel ini diasumsikan postgres telah terinstall di komputer anda, baik lewat rpm atau source, diasumsikan PostgreSQL telah berjalan di komputer anda.
Pertanyaannya bagaimana memulai menggunakan postgres ? dengan artikel ini mudah-mudahan terjawab

Menjalankan dan Mematikan PostgreSQL

Sebagai root jalankan perintah berikut :
Script Menjalankan PostgreSQL

root]#/etc/rc.d/init.d/postgresql start


Script Mematikan PostgreSQL

root]#/etc/rc.d/init.d/postgresql stop


Script Mematikan dan Menjalankan (Restart) PostgreSQL

root]#/etc/rc.d/init.d/postgresql restart

Password Security dan TCP/IP Connection

Masih sebagai root, login sebagai user postgres (user sytem) dan login ke database postgres (template1)

root]#su - postgres
-bash-2.05b$psql template1

Sekarang anda telah login ke database system template1

Welcome to psql 7.4.1, the PostgreSQL interactive terminal.

Type: \copyright for distribution terms
\h for help with SQL commands
\? for help on internal slash commands
\g or terminate with semicolon to execute query
\q to quit

template1=#

Dari konsole database template1, jalankan perintah SQL untuk mengubah password user postgres.
Kemudian keluar dari user terminal interactive PostgreSQL

template1=# ALTER USER postgres with password 'passwordku';
template1=# \q

Masih login sebagai user system postgres, dimana home direktory user postgres biasanya jika anda install PostgreSQL
lewat distro linux berada di /var/lib/pgsql (Penulis menggunakan distro Mandrake 10)
Masih sebagai root Jalankan perintah-perintah berikut untuk security akses PostgreSQL anda

1.

Edit file var/lib/pgsql/data/pg_hba.conf pada 10 baris terakhir file ini, menjadi :

# TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD
local all all password

# IPv4-style local connections:
host all all 192.168.1.0 255.255.255.0 password
host all all 127.0.0.1 255.255.255.255 password


# IPv6-style local connections:
#host all all ::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff trust
# Using sockets credentials for improved security. Not available everywhere,
# but works on Linux, *BSD (and probably some others)

#local all all ident sameuser


Penjelasan :

# TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD
local all all password
Script ini berarti :
Allow any user on the local system to connect to any database under
any user name using Unix-domain sockets (the default for local
connections).

host all all 127.0.0.1 255.255.255.255 password
Script ini berarti :
The same using local loopback TCP/IP connections.

host all all 192.168.1.0 255.255.255.0 password
Script ini berarti :
Allow any user from any host with IP address 192.168.1.x to connect
to database "template1" as the same user name that ident reports for
the connection (typically the Unix user name).


2.

Edit file /var/lib/pgsql/data/postgresql.conf untuk TCP/IP connection, dengan cukup mengubah bagian berikut
atau tepatnya mengaktifkan property berikut

listen_addreses="localhost"


Setelah Selesai restart service PostgreSQL anda

root]#/etc/rc.d/init.d/postgresql restart

Buat User database PostgreSQL

Untuk membuat user baru pada database PostgreSQL haruslah yang membuat user postgres
Jalankan perintah berikut untuk buat user database PostgreSQL ( anda tidak harus sebagai root )
Misalkan user baru = rosa

]$ createuser rosa -p -U postgres


option -p pada command diatas untuk sekaligus membuat password user baru,
sedangkan option -U postgres berarti hanya user postgres yang berhak membuat user baru
Selanjutnya anda diminta untuk memasukan password user_baru kemudian
apakah user_baru boleh membuat database ? ya
apakah user_baru boleh create user baru ? tentu saja tidak
Setelah itu masukan password dari user postgres pada database PostgreSQL

Enter password for new user:
Enter it again:
Shall the new user be allowed to create databases? (y/n) y
Shall the new user be allowed to create more new users? (y/n) n
Password:
CREATE USER

Membuat database

Berikut perintah user database untuk create database baru

]$ createdb latihan -U rosa

Perintah diatas berarti membuat database latihan dimana pemilik database tersebut adalah user database rosa

Login ke database dengan PostgreSQL

Untuk login ke database PostgreSQL jalankan perintah berikut ini

1.

Login ke database latihan dalam komputer yang sama

]$ psql latihan -U rosa


2.

Login ke database latihan dalam komputer lain / server lain

]$ psql latihan -U rosa -h 192.168.1.193

Masukan Password user rosa dan kemudian akan muncul terminal PostgreSQL yang langsung ke database latihan

Welcome to psql 7.4.1, the PostgreSQL interactive terminal.
Type: \copyright for distribution terms
\h for help with SQL commands
\? for help on internal slash commands
\g or terminate with semicolon to execute query
\q to quit
latihan=>

Dalam terminal PostgreSQL anda bisa menjalan perintah-perintah SQL

Menghapus Database

Berikut perintah user database untuk menghapus/drop database

]$ dropdb latihan -U rosa

Perintah diatas berarti menghapus database latihan. Dimana pemilik database latihan yang bisa menghapus atau super user database (postgres)

2 comments:

Sadewa said...

makasih banyak shob

dendy said...

Sama2 mas sadewa...ku juga blajar..mungkin jago mas sadewa dari pada ku..