Resep SQL‎ > ‎PostgreSQL‎ > ‎

Contoh Backup dan Restore Database pada PostgreSQL

posted May 18, 2012, 2:00 AM by Webmaster BelajarSQL.com   [ updated May 18, 2012, 6:43 AM ]

Pendahuluan

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 :

    pg_dump -h alamat_ip -U postgres -v -i -F c -f nama_file_backup nama_database

Keterangan Opsi
  • -h alamat_ip : host tujuan yang dikenali dengan alamat ip. 
  • -U postgres : nama user, dan contoh yang digunakan adalah postgres.
  • -v : verbose, artinya terdapat output untuk tiap proses yang sedang dilakukan.
  • -i : ignore version, tidak mempedulikan versi database yang digunakan.
  • -F c : format data, pada contoh ini format data adalah custom yang bisa dikenali oleh aplikasi pg_restore.
  • -f nama_file_backup : nama file tujuan backup. 
  • nama_database : nama database yang ingin kita backup.

Restore Database dengan "pg_restore"

Untuk melakukan restore dari file backup yang kita hasilkan dari contoh di atas kita gunakan pg_restore, berikut adalah contoh syntax penggunaannya.

Pertama, syntax berikut dilakukan jika Anda membuat database tujuan sebelum melakukan restore :

    pg_restore -h alamat_ip -U postgres -v -i -d nama_database nama_file_backup

atau jika ingin membuat database tersebut pada saat restore lakukan dengan syntax berikut :

    pg_restore -h alamat_ip -U postgres -C -v -i -d nama_database nama_file_backup

atau

    pg_restore -h alamat_ip -U postgres -C -v -i -d template1 nama_file_backup

Keterangan Opsi
  • -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.

Sumber Referensi

Comments