Karena AlloyDB Omni kompatibel dengan PostgreSQL, perintah dan teknik pemulihan data yang dijelaskan dalam manual pgBackRest juga berlaku untuk AlloyDB Omni. Halaman ini menunjukkan pilihan tugas pemulihan umum, dengan contoh perintah yang relevan.
Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi pgBackRest agar berfungsi dengan AlloyDB Omni, lihat Menyiapkan pgBackRest untuk AlloyDB Omni.
Untuk informasi berbasis Kubernetes, lihat Mencadangkan dan memulihkan di Kubernetes.
Sebelum memulai
Sebelum memulihkan cluster AlloyDB Omni, pastikan Anda memiliki hal berikut:
Siapkan dan konfigurasi pgBackRest untuk instance AlloyDB Omni Anda.
Ruang disk yang cukup di sistem file tujuan untuk menyimpan cluster database AlloyDB Omni yang dipulihkan.
Versi utama AlloyDB Omni yang sama digunakan untuk container pemulihan seperti container sumber asli.
Untuk memeriksa versi PostgreSQL Anda, jalankan perintah berikut:
Docker
docker exec -u postgres CONTAINER_NAME psql -c "SELECT version();"
Docker
docker exec -u postgres CONTAINER_NAME psql -c "SELECT version();"
Podman
podman exec -u postgres CONTAINER_NAME psql -c "SELECT version();"
Podman
podman exec -u postgres CONTAINER_NAME psql -c "SELECT version();"
Ganti variabel berikut:
CONTAINER_NAME
: Nama yang Anda gunakan untuk container. Contoh,my-omni-1
.
Untuk memeriksa versi pgBackRest Anda, jalankan perintah berikut:
Docker
docker exec -u postgres CONTAINER_NAME pgbackrest version
Docker
docker exec -u postgres CONTAINER_NAME pgbackrest version
Podman
podman exec -u postgres CONTAINER_NAME pgbackrest version
Podman
podman exec -u postgres CONTAINER_NAME pgbackrest version
Ganti variabel berikut:
CONTAINER_NAME
: Nama yang Anda gunakan untuk container. Contoh,my-omni-1
.
Jika container target Anda memiliki versi PostgreSQL, pgBackRest, atau keduanya yang berbeda, Anda harus membuat container target baru dengan versi yang cocok. Jika hal ini tidak memungkinkan, Anda harus menggunakan metode alternatif, seperti utilitas
pg_dump
ataupg_dumpall
yang disertakan PostgreSQL untuk menyalin database Anda di berbagai versi.
Hentikan penampung AlloyDB Omni
Untuk menyimulasikan cluster database AlloyDB Omni Anda yang tidak tersedia, hentikan container.
Docker
docker stop CONTAINER_NAME
docker rm CONTAINER_NAME
Docker
docker stop CONTAINER_NAME
docker rm CONTAINER_NAME
Podman
podman stop CONTAINER_NAME
podman rm CONTAINER_NAME
Podman
podman stop CONTAINER_NAME
podman rm CONTAINER_NAME
Ganti variabel berikut:
CONTAINER_NAME
: Nama yang Anda gunakan untuk container. Contoh,my-omni-1
.
Membuat penampung AlloyDB Omni dalam kondisi tidak ada aktivitas
Docker
docker run -d --name CONTAINER_NAME \ -v DATA_DIR:/var/lib/postgresql/data \ -v BACKUP_DIR:/var/lib/postgresql/backups \ -p HOST_PORT:5432 \ --restart=always \ google/alloydbomni:latest sleep infinity
Docker
docker run -d --name CONTAINER_NAME \ -v DATA_DIR:/var/lib/postgresql/data \ -v BACKUP_DIR:/var/lib/postgresql/backups \ -p HOST_PORT:5432 \ --restart=always \ google/alloydbomni:latest sleep infinity
Podman
podman run -d --name CONTAINER_NAME \ -v DATA_DIR:/var/lib/postgresql/data \ -v BACKUP_DIR:/var/lib/postgresql/backups \ -p HOST_PORT:5432 \ --restart=always \ docker.io/google/alloydbomni:latest sleep infinity
Podman
podman run -d --name CONTAINER_NAME \ -v DATA_DIR:/var/lib/postgresql/data \ -v BACKUP_DIR:/var/lib/postgresql/backups \ -p HOST_PORT:5432 \ --restart=always \ docker.io/google/alloydbomni:latest sleep infinity
Ganti variabel berikut:
CONTAINER_NAME
: Nama yang Anda gunakan untuk container. Contoh,my-omni-1
.DATA_DIR
: Jalur direktori host tempat data Anda disimpan.BACKUP_DIR
: Jalur direktori eksternal tempat cadangan Anda disimpan.HOST_PORT
: Port TCP di mesin host yang harus digunakan container untuk memublikasikan port5432
-nya sendiri. Untuk menggunakan port default PostgreSQL di mesin host juga, tentukan5432
.
Menghapus direktori data Anda
Untuk menghapus cluster database AlloyDB Omni, hapus direktori data.
Docker
docker exec CONTAINER_NAME sh -c "rm -rf /var/lib/postgresql/data/*"
Docker
docker exec CONTAINER_NAME sh -c "rm -rf /var/lib/postgresql/data/*"
Podman
podman exec CONTAINER_NAME sh -c "rm -rf /var/lib/postgresql/data/*"
Podman
podman exec CONTAINER_NAME sh -c "rm -rf /var/lib/postgresql/data/*"
Ganti variabel berikut:
CONTAINER_NAME
: Nama yang Anda gunakan untuk container. Contoh,my-omni-1
.
Memvalidasi bahwa cadangan Anda terlihat
Docker
docker exec -u postgres CONTAINER_NAME pgbackrest \ --config-path=/var/lib/postgresql/backups \ --stanza=STANZA_NAME \ info
Docker
docker exec -u postgres CONTAINER_NAME pgbackrest \ --config-path=/var/lib/postgresql/backups \ --stanza=STANZA_NAME \ info
Podman
podman exec -u postgres CONTAINER_NAME pgbackrest \ --config-path=/var/lib/postgresql/backups \ --stanza=STANZA_NAME \ info
Podman
podman exec -u postgres CONTAINER_NAME pgbackrest \ --config-path=/var/lib/postgresql/backups \ --stanza=STANZA_NAME \ info
Ganti variabel berikut:
CONTAINER_NAME
: Nama yang Anda gunakan untuk container. Contoh,my-omni-1
.STANZA_NAME
: Nama stanza yang Anda buat. Contoh,my-stanza
.
Memulihkan cadangan Anda
Docker
docker exec -u postgres CONTAINER_NAME pgbackrest \ --config-path=/var/lib/postgresql/backups \ --stanza=STANZA_NAME \ restore
Docker
docker exec -u postgres CONTAINER_NAME pgbackrest \ --config-path=/var/lib/postgresql/backups \ --stanza=STANZA_NAME \ restore
Podman
podman exec -u postgres CONTAINER_NAME pgbackrest \ --config-path=/var/lib/postgresql/backups \ --stanza=STANZA_NAME \ restore
Podman
podman exec -u postgres CONTAINER_NAME pgbackrest \ --config-path=/var/lib/postgresql/backups \ --stanza=STANZA_NAME \ restore
Ganti variabel berikut:
CONTAINER_NAME
: Nama yang Anda gunakan untuk container. Contoh,my-omni-1
.STANZA_NAME
: Nama stanza yang Anda buat. Contoh,my-stanza
.
Menghapus penampung AlloyDB Omni yang tidak aktif
Docker
docker kill CONTAINER_NAME
docker rm CONTAINER_NAME
Docker
docker kill CONTAINER_NAME
docker rm CONTAINER_NAME
Podman
podman kill CONTAINER_NAME
podman rm CONTAINER_NAME
Podman
podman kill CONTAINER_NAME
podman rm CONTAINER_NAME
Ganti variabel berikut:
CONTAINER_NAME
: Nama yang Anda gunakan untuk container. Contoh,my-omni-1
.
Buat penampung AlloyDB Omni
Docker
docker run -d --name CONTAINER_NAME \ -v DATA_DIR:/var/lib/postgresql/data \ -v BACKUP_DIR:/var/lib/postgresql/backups \ -p HOST_PORT:5432 \ --restart=always \ google/alloydbomni:latest
Docker
docker run -d --name CONTAINER_NAME \ -v DATA_DIR:/var/lib/postgresql/data \ -v BACKUP_DIR:/var/lib/postgresql/backups \ -p HOST_PORT:5432 \ --restart=always \ google/alloydbomni:latest
Podman
podman run -d --name CONTAINER_NAME \ -v DATA_DIR:/var/lib/postgresql/data \ -v BACKUP_DIR:/var/lib/postgresql/backups \ -p HOST_PORT:5432 \ --restart=always \ docker.io/google/alloydbomni:latest
Podman
podman run -d --name CONTAINER_NAME \ -v DATA_DIR:/var/lib/postgresql/data \ -v BACKUP_DIR:/var/lib/postgresql/backups \ -p HOST_PORT:5432 \ --restart=always \ docker.io/google/alloydbomni:latest
Ganti variabel berikut:
CONTAINER_NAME
: Nama yang Anda gunakan untuk container. Contoh,my-omni-1
.DATA_DIR
: Jalur direktori host tempat data Anda disimpan.BACKUP_DIR
: Jalur direktori eksternal tempat cadangan Anda disimpan.HOST_PORT
: Port TCP di mesin host yang harus digunakan container untuk memublikasikan port5432
-nya sendiri. Untuk menggunakan port default PostgreSQL di mesin host juga, tentukan5432
.
Memastikan bahwa AlloyDB Omni telah dimulai
Docker
docker logs -f CONTAINER_NAME
Docker
docker logs -f CONTAINER_NAME
Podman
podman logs -f CONTAINER_NAME
Podman
podman logs -f CONTAINER_NAME
Ganti variabel berikut:
CONTAINER_NAME
: Nama yang Anda gunakan untuk container. Contoh,my-omni-1
.
Opsi lain
Perintah pgBackRest restore
sangat fleksibel, dengan berbagai opsi dan
fitur yang dapat Anda kontrol dengan meneruskan opsi command line yang berbeda.
Untuk panduan lengkap tentang cara melakukan pemulihan, lihat
Memulihkan.