PostgreSQL adalah sebuah sistem basis data yang disebarluaskan secara bebas menurut Perjanjian lisensi BSD. Piranti lunak ini merupakan salah satu basis data yang paling banyak digunakan saat ini, selain MySQL dan Oracle. PostgreSQL menyediakan fitur yang berguna untuk replikasi basis data. Fitur-fitur yang disediakan PostgreSQL antara lain DB Mirror, PGPool, Slony, PGCluster, dan lain-lain. (source: wikipedia)

Dan pada kesempatan kali ini, saya akan membahas bagaimana cara untuk menginstall PostgreSQL pada PCBSD

 

Install Port

Menginstall PostgreSQL pada PCBSD terbilang cukup mudah, pada tutorial kali ini saya menginstallnya menggunakan port. Namun sebelumnya pastikan bahwa kalian sudah memiliki port untuk PostgreSQL, dan untuk mendapatkannya lakukan seperti dibawah ini dan dilanjutkan dengan tahap instalasi.

[[email protected]] /usr/home/devil# portsnap fetch && portsnap extract 
[[email protected]] /usr/home/devil# cd /usr/ports/databases/postgresql90-server && make install clean && rehash 

 

Konfigurasi

Setelah proses instalasi selesai, sekarang sempatkan waktu kalian untuk melakukan konfigurasi PostgreSQL sampai pada akhirnya dapat digunakan. Hal yang pertama kali di lakukan adalah dimulai dari membuat proses daemon PostgreSQL (dalam artian: membuat proses PostgreSQL berjalan pada saat booting) lalu di lanjutkan dengan yang lainnya.

[[email protected]] /usr/home/devil# echo 'postgresql_enable="YES"' >> /etc/rc.conf 

Perintah dibawah ini akan membuat cluster database awal dalam /usr/local/pgsql/data secara default

[[email protected]] /usr/home/devil# /usr/local/etc/rc.d/postgresql initdb
/usr/local/etc/rc.d/postgresql initdb
The files belonging to this database system will be owned by user "pgsql".
This user must also own the server process.

The database cluster will be initialized with locale C.
The default text search configuration will be set to "english".

fixing permissions on existing directory /usr/local/pgsql/data ... ok
creating subdirectories ... ok
selecting default max_connections ... 40
selecting default shared_buffers ... 28MB
creating configuration files ... ok
creating template1 database in /usr/local/pgsql/data/base/1 ... ok
initializing pg_authid ... ok
initializing dependencies ... ok
creating system views ... ok
loading system objects' descriptions ... ok
creating conversions ... ok
creating dictionaries ... ok
setting privileges on built-in objects ... ok
creating information schema ... ok
vacuuming database template1 ... ok
copying template1 to template0 ... ok
copying template1 to postgres ... ok

WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the -A option the
next time you run initdb.

Success. You can now start the database server using:

    /usr/local/bin/postgres -D /usr/local/pgsql/data
or
    /usr/local/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start

Edit file postgresql.conf yang terdapat pada direktori /usr/local/pgsql/data/ dan untuk mengeditnya kalian bisa menggunakan text editor yang kalian suka. Hilangkan comment ‘#’ pada baris listen_addresses dan mengeditnya menjadi seperti dibawah ini

listen_addresses = '*'

Setelah step yang di atas, lakukan konfigurasi PostgreSQL menggunakan otentikasi hash password untuk semua host dan user dengan cara edit file /usr/local/pgsql/data/pg_hba.conf dan pada baris host tambahkan baris dibawah ini.

NOTE: Pada konfigurasi dibawah ini sesuaikan dengan Network Address kalian

host  all  all  192.168.0.0/24  md5

 

Set User & Password

Setelah step konfigurasi selesai, sekarang kita memulai untuk membuat user baru untuk PostgreSQL seperti yang saya lakukan dibawah ini

[[email protected]] /usr/home/devil# /usr/local/etc/rc.d/postgresql start
[[email protected]] /usr/home/devil# su pgsql
$ createuser -sdrP username
Enter password for new role: masukan password
Enter it again: masukan password kembali
$ exit
[[email protected]] /usr/home/devil#

Semuanya selesai sampai disini, dan PostgreSQL sudah dapat digunakan. Sekian dari saya, apabila ada kesalahan mohon dimaafkan..