Karena AlloyDB Omni kompatibel dengan PostgreSQL, perintah dan teknik pemulihan data yang dijelaskan oleh panduan 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:
Menyiapkan dan mengonfigurasi pgBackRest untuk instance AlloyDB Omni Anda.
Ruang disk yang cukup pada 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 Anda. Misalnya,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 Anda. Misalnya,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_dumpataupg_dumpallyang disertakan PostgreSQL untuk menyalin database Anda di berbagai versi.
Menghentikan container AlloyDB Omni
Untuk menyimulasikan cluster database AlloyDB Omni Anda yang tidak tersedia, hentikan container.
Docker
docker stop CONTAINER_NAMEdocker rm CONTAINER_NAME
Docker
docker stop CONTAINER_NAMEdocker rm CONTAINER_NAME
Podman
podman stop CONTAINER_NAMEpodman rm CONTAINER_NAME
Podman
podman stop CONTAINER_NAMEpodman rm CONTAINER_NAME
Ganti variabel berikut:
CONTAINER_NAME: Nama yang Anda gunakan untuk container Anda. Misalnya,my-omni-1.
Membuat container AlloyDB Omni yang tidak digunakan
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 Anda. Misalnya,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 tempat container harus memublikasikan portnya sendiri5432. Untuk menggunakan port default PostgreSQL di mesin host juga, tentukan5432.
Menghapus direktori data
Untuk menghapus cluster database AlloyDB Omni Anda, 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 Anda. Misalnya,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 Anda. Misalnya,my-omni-1.STANZA_NAME: Nama stanza yang Anda buat. Misalnya,my-stanza.
Memulihkan cadangan
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 Anda. Misalnya,my-omni-1.STANZA_NAME: Nama stanza yang Anda buat. Misalnya,my-stanza.
Menghapus container AlloyDB Omni yang tidak digunakan
Docker
docker kill CONTAINER_NAMEdocker rm CONTAINER_NAME
Docker
docker kill CONTAINER_NAMEdocker rm CONTAINER_NAME
Podman
podman kill CONTAINER_NAMEpodman rm CONTAINER_NAME
Podman
podman kill CONTAINER_NAMEpodman rm CONTAINER_NAME
Ganti variabel berikut:
CONTAINER_NAME: Nama yang Anda gunakan untuk container Anda. Misalnya,my-omni-1.
Membuat container 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 Anda. Misalnya,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 tempat container harus memublikasikan portnya sendiri5432. Untuk menggunakan port default PostgreSQL di mesin host juga, tentukan5432.
Memvalidasi 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 Anda. Misalnya,my-omni-1.
Opsi lain
Perintah restore pgBackRest 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.