Pada tutorial kali ini saya mencoba instalasi PostgreSQL di slackware 12.2 dan mengunakan file yang berbentuk tar.gz bukan file (.tgz). Tapi tak apalah yang paling terpenting database potgresql-nya berjalan mulus. Sebelumnya Anda dapat mengunduh software PostgreSQL versi terbaru disini
Lakukan proses kompilasi pada file tersebut:

Tentukan penempatan kompilasinya, buat terlebih dahulu direktori pg80:
root@tundra:/# ./configure –prefix=/usr/local/pg80

Lakukan instalasi:
root@tundra:/# make && make install

Buat user dengan nama postgres:
root@tundra:/# adduser postgres

Buat direktori data:
root@tundra:/# mkdir /usr/local/pg80/data

Memberi hak akses bagi direktori data:
root@tundra:/# chown postgres /usr/local/pg80/data

Berpindah ke user postgres:
root@tundra:/# su – postgres

Inisialisasi direktori data:
postgres@tundra:~$ /usr/local/pg80/bin/initdb -D /usr/local/pg80/data/

Sekarang sudah berhasil:
Success. You can now start the database server using:

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

postgres@tundra:~$/usr/local/pg80/bin/postmaster -i -D /usr/local/pg80/data > logfile 2>&1 &
postgres@tundra:~$/usr/local/pg80/bin psql -U postgres -W

atau dengan meng-edit profile:

vim /etc/profile

tambahkan PS2=’> ‘
export PATH DISPLAY LESS TERM PS1 PS2

#Tambahkan PATH ini untuk lebih mudah mengakses psql tanpa harus menuliskan /usr/local/pg80/bin$ psql
export PATH=/usr/local/pg80/bin:$PATH
Jadi cukup menjalankan:

postgres@tundra:~$psql -U postgres -W

Password sesuai dengan nama usernya dan passwordnya:
Password for user postgres:
Welcome to psql 8.3.5, the PostgreSQL interactive terminal.

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

postgres=#

Sekarang coba Anda buat database:
postgres=# create database coba;
CREATE DATABASE
postgres=# c coba
Password for user postgres:
You are now connected to database “coba”.
coba=#
Nah sekarang Anda sudah masuk ke dalam database coba.

Jika Database PostgreSQL Anda mau berjalan secara otomatis ketika komputer Anda boot, maka Anda harus membuat bash-script. Saya mengambil contoh bash-script dari sini, namun script tersebut kita edit kembali sesuai dengan proses instalasi yang kita lakukan di atas, sehingga scrip itu seperti dibawah ini:

#!/bin/bash
# PostgreSQL startup script for Slackware Linux
# Copyright 2007 Adis Nezirovic <adis _at_ linux.org.ba>
# Licensed under GNU GPL v2

# Do not source this script (since it contains exit() calls)

# Before you can run postgresql you’ll need to create the
# database files in /var/lib/pgsql. The following should do
# the trick.
#
#   $ su postgres -c “initdb -D /var/lib/pgsql/data”

LOGFILE=/home/postgres/logfile
DATADIR=/usr/local/pg80/data
POSTGRES=/usr/local/pg80/bin/postgres
PIDFILE=/usr/local/pg80/data/postmaster.pid

# Return values (according to LSB):
# 0 – success
# 1 – generic or unspecified error
# 2 – invalid or excess argument(s)
# 3 – unimplemented feature (e.g. “reload”)
# 4 – insufficient privilege
# 5 – program is not installed
# 6 – program is not configured
# 7 – program is not running

pg_ctl()
{
CMD=”/usr/local/pg80/bin/pg_ctl $@”
su – postgres -c “$CMD”
}

if [ ! -f $POSTGRES ]; then
echo “Could not find ‘postgres’ binary. Maybe PostgreSQL is not installed properly?”
exit 5
fi

case “$1” in

“start”)
echo “Starting PostgreSQL”
touch $LOGFILE
chown postgres:wheel $LOGFILE
chmod 0640 $LOGFILE

if [ ! -e $DATADIR/PG_VERSION ]; then
echo “You should initialize the PostgreSQL database at location $DATADIR”
exit 6
fi

if [ $(pgrep -f $POSTGRES) ]; then

echo “PostgreSQL daemon already running”
if [ ! -f $DATADIR/$PIDFILE ]; then
echo “Warning: Missing pid file $DATADIR/$PIDFILE”
fi
exit 1

else # remove old socket, if it exists and no daemon is running.

if [ ! -f $DATADIR/$PIDFILE ]; then
rm -f /tmp/.s.PGSQL.5432
rm -f /tmp/.s.PGSQL.5432.lock
pg_ctl start -w -l $LOGFILE -D $DATADIR
exit 0
else
echo “PostgreSQL daemon was not properly shut down”
echo “Please remove stale pid file $DATADIR/$PIDFILE”
exit 7
fi

fi
;;

“stop”)
echo “Shutting down PostgreSQL…”
pg_ctl stop -l $LOGFILE -D $DATADIR -m smart
;;

“restart”)
echo “Restarting PostgreSQL…”
pg_ctl restart -l $LOGFILE -D $DATADIR -m smart
;;

“reload”)
echo “Reloading configuration for PostgreSQL…”
pg_ctl reload -l $LOGFILE -D $DATADIR -m smart
;;

“status”)
if [ $(pgrep -f $POSTGRES) ]; then
echo “PostgreSQL is running”

if [ ! -e $DATADIR/$PIDFILE ]; then
echo “Warning: Missing pid file $DATADIR/$PIDFILE”
fi

exit 0
else
echo “PostgreSQL is stopped”

if [ -e $DATADIR/$PIDFILE ]; then
echo “Detected stale pid file $DATADIR/$PIDFILE”
fi

exit 0
fi
;;

*)
echo “Usage: $0 {start|stop|status|restart|reload}”
exit 1
;;
esac

Simpanlah bash-script itu dengan nama psql.sh letakkan dalam direktori /usr/local/pg80/ lalu tambahkan baris script di rc.local dengan perintah dibawah ini:

if [ -x /usr/local/pg80/ ]; then
/usr/local/pg80/psql.sh start
fi

Anda bisa langsung mencobanya apakah script itu berfungsi untuk mengaktifkan database PostgreSQL Anda. Lakukanlah dengan perintah ini:

root@tundra:/# /etc/rc.d/rc.local start

Starting PostgreSQL
waiting for server to start…. done
server started

.: SELAMAT POSTGRESQL ANDA BERJALAN :.

Kita akan mengelola Database PostgreSQL kedalam webmin, jika Anda belum menginstal webmin pada sistem Slackware, Anda dapat membaca dan mempraktekannya pada tutorial ini. Setelah itu ikutilah langkah-langkah seperti pada Gambar dibawah ini.

*Command to start PostgreSQL : /etc/rc.d/rc.local restart

*Jangan lupa di SAVE hasil konfigursi yang kita lakukan

Dengan adanya webmin kita dapat mengelola database postgreSQL dengan mudah dan berbasis Web Base, ini lah tampilan control panel pada webmin dalam mengelola database postgreSQL:

Selamat Mencoba 🙂

Kalau ada salah tolong dikoreksi

Advertisements