Senin, Januari 13, 2014

Backup dan Restore Database PostgreSQL

Pembuatan backup dan proses retore database PostgreSQL dapat dilakukan dengan membuat makefile dengan isi file sebagai berikut:
db-backup:
    time pg_dumpall -U postgres -l <database-name> -c \
        | 7z a -mx9 -si <database-name>.sql.7z
db-restore:
    time 7z e -so <database-name>.sql.7z \
        | psql -U postgres -d <database-name>

db-backup
Perintah di atas akan membackup database dengan perintah pg_dumpall, option -c ditambahkan untuk menyertakan perintah untuk membuat database. Output dari pg_dumpall akan ditampilkan ke STDOUT. 7z dengan opsi -si (Standard Input) akan memproses output dari pg_dumpall yang akan dikompress dengan tingkat kompresi maximum melalui opsi -mx9. Perintah time memberikan informasi lama waktu yang telah digunakan untuk menyelesaikan rangkaian perintah. Dalam praktek, penyimpanan dalam format 7z pada contoh di atas berhasil mengurangi ukuran file dari 99MB menjadi 5.4MB.

db-restore
Kebalikan dari db-backup. Capek ngetiknya ..

backup dengan informasi waktu di nama file output
Perintah 7z di atas dimodifikasi sebagai berikut:
7z a -mx9 -si <database-name>-`date +%Y%m%d%H%M%S`.sql.7z

bash-completion
Plus, di bash terdapat paket bash-completion yang dapat diinstall dengan perintah:
sudo apt-get install bash-completion
Sehingga di terminal setelah mengetik "make" diikuti dengan spasi kemudian disusul dengan tab, maka bash akan mencoba melengkapi dengan section yang ada pada file makefile.

Tidak ada komentar:

Posting Komentar