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 template1Sekarang 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=# \qMasih 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
-
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).
- 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"
root]#/etc/rc.d/init.d/postgresql restart
Buat User database PostgreSQL
Untuk membuat user baru pada database PostgreSQL haruslah yang membuat user postgresJalankan 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 rosaPerintah 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
- Login ke database latihan dalam komputer yang sama
]$ psql latihan -U rosa
- Login ke database latihan dalam komputer lain / server lain
]$ psql latihan -U rosa -h 192.168.1.193
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 rosaPerintah diatas berarti menghapus database latihan. Dimana pemilik database latihan yang bisa menghapus atau super user database (postgres)