Senin, 09 Desember 2024

Backup Semua Database PostgreSQL dalam Container

Langkah 1: Identifikasi Container PostgreSQL

Gunakan perintah docker ps untuk menemukan container PostgreSQL:

docker ps

Catat CONTAINER ID atau NAMES dari container PostgreSQL.

Langkah 2: Backup Semua Database

Gunakan docker exec untuk menjalankan pg_dumpall di dalam container:

docker exec -t <CONTAINER_ID_OR_NAME> pg_dumpall -U <username> > backup_all_databases_$(date +%Y%m%d_%H%M%S).sql

Di sini, <CONTAINER_ID_OR_NAME> adalah ID atau nama container PostgreSQL Anda, dan <username> adalah nama pengguna untuk PostgreSQL.

Langkah 3: Menyimpan Backup di Lokasi yang Aman

Simpan backup di lokasi di luar container untuk keamanan, contoh:

docker exec -t <CONTAINER_ID_OR_NAME> pg_dumpall -U <username> > /path/ke/backup/di/host/backup_all_databases_$(date +%Y%m%d_%H%M%S).sql

/path/ke/backup/di/host adalah lokasi di host di mana Anda ingin menyimpan file backup.

Langkah 4: Verifikasi Backup

Setelah backup dibuat, Anda bisa menguji restore-nya dengan membuat container baru atau menggunakan container yang ada untuk restore semua database:

cat backup_all_databases_20241209_080000.sql | docker exec -i <CONTAINER_ID_OR_NAME> psql -U <username> postgres

postgres di sini adalah database default tempat psql akan menjalankan query. Ini akan menginisiasi restore semua database dari file backup.

Catatan: Pastikan pengguna yang Anda gunakan (<username>) memiliki izin yang cukup untuk mengakses semua database yang akan di-backup. Juga, file backup bisa sangat besar jika Anda memiliki banyak database atau data dalam jumlah besar.

Backup Semua Database PostgreSQL dalam Container

Langkah 1: Identifikasi Container PostgreSQL Gunakan perintah docker ps untuk menemukan container PostgreSQL: docker ps Cata...