Banyak permintaan dan saran yang masuk kepada kami untuk memberikan contoh backup dan restore database pada PostgreSQL. Walaupun kelihatan mudah dengan adanya menu tersebut pada PGAdmin, namun banyak sekali yang mengalami kesulitan.
Untuk mengakomodir permintaan tersebut, artikel kami ini kami buat dengan pendekatan praktis dengan pasangan command pg_dump & pg_restore. Opsi yang diberikan adalah yang umumnya berhasil.
Backup Database dengan "pg_dump"
Untuk melakukan backup database kita gunakan utilitas pg_dump yang telah disertakan pada distribusi standard PostgreSQL. Utilitas ini memiliki banyak opsi, tapi contoh yang praktis adalah sebagai berikut :
-h alamat_ip : host tujuan yang dikenali dengan alamat ip.
-U postgres : nama user, dan contoh yang digunakan adalah postgres.
--no-owner : tidak menggunakan owner yang ada pada file backup, tapi ownerya adalah user yang digunakan pada saat restore.
-C : create, membuat database sebelum melakukan restore.
-v : verbose, artinya terdapat output untuk tiap proses yang sedang dilakukan.
-i : ignore version, tidak mempedulikan versi database yang digunakan.
-d nama_database : nama restore database tujuan yang kita inginkan.
nama_file_backup : lokasi nama file backup hasil dari pg_dump.
Catatan Penting
User / role owner dari database backup harus dibuat juga pada server tujuan. Selain itu user tersebut perlu memiliki hak membuat database (create database) jika opsi -C digunakan seperti pada contoh syntax di atas.