Halo Sobat Wawa, kali ini saya ingin menshare pengalaman tentang cara melakukan Backup dan Restore Database yang menggunakan PostgrSQL. Pada kesempatan kali ini kita akan melakukan Backup dan Restore Database menggunakan CLI (Command Line Interface). Tujuan dari Backup dan Restore sendiri salah satunya untuk menghindari kehilangan data.
Pada kesempatan kali ini abangwawa akan melakukan backup dan restore database odoo versi 16 dengan 2 tujuan :
- Menghindari Kehilangan Data
- Untuk Proses Testing atau Development pada aplikasi (misal : odoo 16)
Di sini abangwawa akan menggunakan tools dari PostgreSQL sendiri yang bisa dijalankan lewat console (CLI), dimana ada 2 file yang dibutuhkan yaitu pg_dump dan psql. Kedua file ini otomatis tersedia ketika kita melakukan instalasi database PostreSQL baik di Linux, Windows atau Mac. Berikut adalah masing-masing fungsi 2 file tersebut :
- pg_dump : Digunakan untuk mengenerate backup file berupa SQL statement
- psql : Digunakan untuk me-restore file berupdate SQL statement ke Database Tujuan yang Baru atau Lama (Existing)
Yuk, kita ikuti langkah-langkah berikut untuk mempraktekan Cara Backup dan Restore untuk Database PostreSQL
Cara Mengecek Database PostgreSQL dengan psql
Pada praktek kali ini saya menggunakan PostgreSQL versi 14 di Windows 11 dan akan membackup existing database yang sudah ada di Komputer saya (database aplikasi odoo 16). untuk masuk ke Database kita akan menggunakan perintah seperti di bawah
psql -U -h localhost openpg -d wms-core
Parameter :
-U username database yang sudah dibuat
-d tujuan database yang akan digunakan
-h lokasi server (jika login ke localhost atau di komputer yang sama tidak perlu menggunakan parameter ini)
Untuk melihat semua parameter psql dan penjelasannya bisa dilihat di sini https://www.postgresql.org/docs/14/app-pgdump.html. setelah perintah di atas dijalankan maka system akan menanyakan password database dan jika sukses kita akan melihat tampilan seperti di bawah
Langkah selanjutnya adalah kita akan melihat list database dan memilih database yang akan kita backup
SELECT datname FROM pg_catalog.pg_database;
Cara Backup Database PostgreSQL dengan pg_dump
Setelah Kita mengecek database yang ada di server kita, langkah selanjutnya adalah melakukan backup datbase wms-core. Selanjutnya adalah kita akan menjalankan perintah untuk membackup database dengan file pg_dump.
pg_dump -U openpg -h localhost -p 5432 -d wms-core -F p -f c:\works\backup_file.sql
Parameter :
-U username database
-d tujuan database yang akan digunakan
-p port database yang digunakan secara default menggunakan port 5432, parameter ini bisa diabakan jika port yang digunakan adalah default (5432)
-d database yang akan di backup
-F p format file backup secara default akan menggunakan format SQL (p plain text)
-f file tujuan backup
Untuk melihat semua parameter pg_dump dan detail penjelasannya bisa dicek di link ini https://www.postgresql.org/docs/14/app-psql.html. Jika perintah tersebut sukses dijalankan maka kita akan melihat tampilan seperti di bawah
Untuk melihat isi dari file backup kita bisa ketikkan perintah
type c:\works\backup_wms-core_demo.sql
Cara Restore Database PostgreSQL dengan psql
Langkah selanjutnya adalah melakukan restore database PostgreSQL ke database yang baru dan ke database lama
Restore Database PostgreSQL ke Datbase yang Baru. Perintah ini tidak perlu dijalankan jika kita ingin merestore ke database lama (sudah ada)
psql -U openpg -h localhost -p 5432 -d wms-core -c “CREATE DATABASE wms_restore”
Parameter :
-c intruksi SQL statement untuk membuat database yang baru dengan nama wms_restore
Berikut adalah tampilan ketika perintah di atas sukses dijalankan
Setelah itu kita akan menjalankan perintah untuk merestore ke Database server menggunakan perintah yang ada di bawah. Pastikan nama database tujuan restore sudah ada, jika tidak makan perintah di bawah tidak bisa dijalankan (perhatikan parameter -d).
psql -U openpg -h localhost -p 5432 -d wms_restore -f c:\works\backup_wms-core_demo.sql
Parameter :
-d tujuan restore database yang sudah ada atau kita buat
Jika sukses kita bisa melihat tampilan kurang lebih seperti di bawah
Tampilan database yang sukses direstore di aplikasi odoo 16
Kesimpulan Backup dan Restore Database postgreSQL menggunakan pg_dump dan psql
Dari artikel ini kita bisa menarik kesimpulan bahwa penggunakan tools file pg_dump dan psql ini bersita flexible dikarenakan bisa dijalankan melalui CLI (Command Line Interface). Kedua file tools ini bisa dijalankan lewat Linux, Windows dan Mac.
Salah satu kelebihan dari CLI adalah kita bisa membuat script otomatis yang bisa diintegrasikan dengan aplikasi lain karena sifatnya berupa shell script dan bisa diintegrasikan dengan Job Scheduler yang ada di masing-masing Operating System (CronJob, Windows Scheduler dll).
Sampai di sini dulu ya untuk share pengalaman Cara Backup dan Restore untuk Database PostreSQL. Jika ada masukan atau pertanyaan dari artikel ini bisa tinggalkan komen di bawah. Salam sehat selalu dan sampai jumpa di artikel berikutnya