Anda dapat melindungi data AlloyDB Omni menggunakan teknologi pencadangan database apa pun yang kompatibel dengan PostgreSQL. Misalnya, Anda dapat mengonfigurasi AlloyDB Omni untuk mengizinkan
koneksi dari server Barman yang Anda kontrol. Hal ini memungkinkan server Barman melakukan pencadangan berkelanjutan dari data yang disimpan di server AlloyDB Omni Anda.
Setelah mengonfigurasi server Barman dan AlloyDB Omni agar dapat bekerja sama, Anda dapat menjalankan perintah Barman untuk menyelesaikan berbagai tugas pemulihan dari bencana dan perlindungan data, termasuk yang berikut:
Buat cadangan data sesuai permintaan.
Siapkan streaming WAL sinkron perubahan data Anda ke server cadangan.
Memulihkan dari cadangan tertentu.
Lakukan pemulihan point-in-time.
Untuk mengetahui informasi selengkapnya tentang pengoperasian Barman, lihat manual Barman.
Sebelum memulai
Sebelum mengonfigurasi AlloyDB Omni agar berfungsi dengan Barman, Anda memerlukan hal berikut:
Barman diinstal di server terpisah. Server tempat Anda menginstal Barman harus dapat berkomunikasi dengan server AlloyDB Omni melalui TCP.
Mengonfigurasi AlloyDB Omni agar berfungsi dengan Barman
Untuk menyiapkan server AlloyDB Omni agar dapat digunakan dengan Barman, jalankan perintah berikut di server tempat Anda telah menginstal AlloyDB Omni.
Buat pengguna database barman, dengan hak istimewa yang sesuai:
Docker
dockerexecCONTAINER_NAMEpsql-hlocalhost-Upostgres-c"CREATE USER barman;GRANT EXECUTE ON FUNCTION pg_backup_start(text, boolean) to barman;GRANT EXECUTE ON FUNCTION pg_backup_stop(boolean) to barman;GRANT EXECUTE ON FUNCTION pg_switch_wal() to barman;GRANT EXECUTE ON FUNCTION pg_create_restore_point(text) to barman;GRANT pg_read_all_settings TO barman;GRANT pg_read_all_stats TO barman;CREATE USER streaming_barman WITH REPLICATION;"
Ganti CONTAINER_NAME dengan nama yang Anda tetapkan ke container AlloyDB Omni saat Anda menginstalnya.
Podman
podmanexecCONTAINER_NAMEpsql-hlocalhost-Upostgres-c"CREATE USER barman;GRANT EXECUTE ON FUNCTION pg_backup_start(text, boolean) to barman;GRANT EXECUTE ON FUNCTION pg_backup_stop(boolean) to barman;GRANT EXECUTE ON FUNCTION pg_switch_wal() to barman;GRANT EXECUTE ON FUNCTION pg_create_restore_point(text) to barman;GRANT pg_read_all_settings TO barman;GRANT pg_read_all_stats TO barman;CREATE USER streaming_barman WITH REPLICATION;"
Ganti CONTAINER_NAME dengan nama yang Anda tetapkan ke container AlloyDB Omni saat Anda menginstalnya.
Tambahkan baris berikut dalam file DATA_DIR/pg_hba.confsebelum baris host all all all scram-sha-256 yang ada dalam file:
host all barman BARMAN_IP/32 AUTHN_METHOD
host replication streaming_barman BARMAN_IP/32 AUTHN_METHOD
Ganti kode berikut:
DATA_DIR: jalur sistem file yang digunakan untuk direktori data AlloyDB Omni.
BARMAN_IP: alamat IP server Barman.
AUTHN_METHOD: metode autentikasi PostgreSQL
yang diharapkan server AlloyDB untuk PostgreSQL dari server Barman.
Sebaiknya gunakan salah satu nilai berikut:
Untuk mengizinkan server Barman melakukan autentikasi tanpa sandi, gunakan trust.
Untuk mewajibkan sandi dari server Barman, gunakan scram-sha-256.
Tambahkan baris berikut ke file DATA_DIR/postgresql.conf:
Ganti CONTAINER_NAME dengan nama yang Anda tetapkan ke container AlloyDB Omni saat Anda menginstalnya.
Konfirmasi bahwa semua parameter yang diperlukan telah ditetapkan dengan tepat dengan menjalankan
perintah berikut:
Docker
dockerexecCONTAINER_NAMEpsql-hlocalhost-Upostgres-c"SELECT name, setting FROM pg_catalog.pg_settings WHERE name IN ('archive_command', 'archive_mode', 'listen_addresses', 'wal_level') ORDER BY name;"
Podman
podmanexecCONTAINER_NAMEpsql-hlocalhost-Upostgres-c"SELECT name, setting FROM pg_catalog.pg_settings WHERE name IN ('archive_command', 'archive_mode', 'listen_addresses', 'wal_level') ORDER BY name;"
Outputnya adalah sebagai berikut:
name | setting
------------------|-----------
archive_command | /bin/true
archive_mode | on
listen_addresses | *
wal_level | replica
(4 rows)
Menyiapkan server cadangan Barman
Untuk menyiapkan dan mengonfigurasi Barman agar berfungsi dengan server AlloyDB Omni Anda, jalankan perintah berikut di server Barman Anda.
Ganti CONFIGURATION_TAG dengan tag konfigurasi yang Anda pilih di langkah sebelumnya.
Barman kini dikonfigurasi untuk bekerja dengan server AlloyDB Omni Anda.
Untuk memeriksa status replikasi, membuat cadangan manual, dan melakukan tugas lainnya,
lihat Perintah umum.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-09-04 UTC."],[[["\u003cp\u003eThis guide outlines how to configure AlloyDB Omni to work with Barman, an open-source backup server, for data protection and disaster recovery, specifically for single-server deployments.\u003c/p\u003e\n"],["\u003cp\u003eAlloyDB Omni must be set up to allow connections from a Barman server, enabling continuous backups via specific database user creation and configuration adjustments.\u003c/p\u003e\n"],["\u003cp\u003eConfiguring AlloyDB Omni to work with Barman involves creating \u003ccode\u003ebarman\u003c/code\u003e and \u003ccode\u003estreaming_barman\u003c/code\u003e database users with specific privileges, and modifying the \u003ccode\u003epg_hba.conf\u003c/code\u003e and \u003ccode\u003epostgresql.conf\u003c/code\u003e files to allow server communication.\u003c/p\u003e\n"],["\u003cp\u003eThe Barman server needs to be configured to connect to AlloyDB Omni using the created users and configured connection settings, which include \u003ccode\u003econninfo\u003c/code\u003e and \u003ccode\u003estreaming_conninfo\u003c/code\u003e, to facilitate backup and streaming processes.\u003c/p\u003e\n"],["\u003cp\u003eOnce configured, Barman can perform various data-protection tasks, such as on-demand backups, WAL streaming, and data restoration, and all can be run using barman commands.\u003c/p\u003e\n"]]],[],null,["# Set up Barman for AlloyDB Omni\n\nSelect a documentation version: 15.5.4keyboard_arrow_down\n\n- [Current (16.8.0)](/alloydb/omni/current/docs/install-configure-barman)\n- [16.8.0](/alloydb/omni/16.8.0/docs/install-configure-barman)\n- [16.3.0](/alloydb/omni/16.3.0/docs/install-configure-barman)\n- [15.12.0](/alloydb/omni/15.12.0/docs/install-configure-barman)\n- [15.7.1](/alloydb/omni/15.7.1/docs/install-configure-barman)\n- [15.7.0](/alloydb/omni/15.7.0/docs/install-configure-barman)\n- [15.5.5](/alloydb/omni/15.5.5/docs/install-configure-barman)\n- [15.5.4](/alloydb/omni/15.5.4/docs/install-configure-barman)\n- [15.5.2](/alloydb/omni/15.5.2/docs/install-configure-barman)\n\n\u003cbr /\u003e\n\nThis page shows you how to protect your data by configuring AlloyDB Omni to work with [Barman](https://pgbarman.org/), an open-source database backup server.\n\n\u003cbr /\u003e\n\n\n| The information on this page applies only to AlloyDB Omni for containers. It does not apply to AlloyDB Omni for Kubernetes.\n\n\u003cbr /\u003e\n\nYou can protect your AlloyDB Omni data using any database backup technology that works with PostgreSQL. For example, you can configure AlloyDB Omni to allow\nconnections from a Barman server that you control. This enables the Barman server to perform continuous backups of the data stored in your AlloyDB Omni server.\n\nAfter you configure your Barman and AlloyDB Omni servers to work together, you can subsequently [run Barman commands](https://docs.pgbarman.org/release/latest/#general-commands) to accomplish a variety of data-protection and disaster-recovery tasks, including the following:\n\n- Create an on-demand backup of your data.\n- Set up synchronous WAL streaming of your data changes to your backup server.\n- Restore from a specific backup.\n- Perform a point-in-time restoration.\n\nFor more information about the operation of Barman, see [the Barman manual](https://docs.pgbarman.org/release/latest/).\n\nBefore you begin\n----------------\n\nBefore configuring AlloyDB Omni to work with Barman, you need the following:\n\n- [AlloyDB Omni installed and running](/alloydb/omni/15.5.4/docs/install) on a server that you control.\n\n- [Barman installed](https://docs.pgbarman.org/release/latest/#installation) on a separate server. The server that you installed Barman on must be able to communicate with the AlloyDB Omni server over TCP.\n\nConfigure AlloyDB Omni to work with Barman\n------------------------------------------\n\nTo prepare your AlloyDB Omni server to work with Barman, run the following commands on the server where you have\ninstalled AlloyDB Omni.\n\n1. Create the `barman` database user, with the appropriate privileges:\n\n docker exec \u003cvar translate=\"no\"\u003eCONTAINER_NAME\u003c/var\u003e psql -h localhost -U postgres -c \"\n CREATE USER barman;\n GRANT EXECUTE ON FUNCTION pg_backup_start(text, boolean) to barman;\n GRANT EXECUTE ON FUNCTION pg_backup_stop(boolean) to barman;\n GRANT EXECUTE ON FUNCTION pg_switch_wal() to barman;\n GRANT EXECUTE ON FUNCTION pg_create_restore_point(text) to barman;\n GRANT pg_read_all_settings TO barman;\n GRANT pg_read_all_stats TO barman;\n CREATE USER streaming_barman WITH REPLICATION;\n \"\n\n2. Add the following lines in the \u003cvar translate=\"no\"\u003eDATA_DIR\u003c/var\u003e`/pg_hba.conf` file **before** the `host all all all scram-sha-256` line that exists in the file:\n\n host all barman \u003cvar translate=\"no\"\u003eBARMAN_IP\u003c/var\u003e/32 \u003cvar translate=\"no\"\u003eAUTHN_METHOD\u003c/var\u003e\n host replication streaming_barman \u003cvar translate=\"no\"\u003eBARMAN_IP\u003c/var\u003e/32 \u003cvar translate=\"no\"\u003eAUTHN_METHOD\u003c/var\u003e\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eDATA_DIR\u003c/var\u003e: the file system path used for the AlloyDB Omni data directory.\n\n - \u003cvar translate=\"no\"\u003eBARMAN_IP\u003c/var\u003e: the IP address of the Barman server.\n\n - \u003cvar translate=\"no\"\u003eAUTHN_METHOD\u003c/var\u003e: the PostgreSQL authentication method\n that your AlloyDB for PostgreSQL server expects from the Barman server.\n We recommend one of the following values:\n\n - To allow the Barman server to authenticate without a password, use `trust`.\n\n - To require a password from the Barman server, use `scram-sha-256`.\n\n3. Add the following lines to the \u003cvar translate=\"no\"\u003eDATA_DIR\u003c/var\u003e`/postgresql.conf` file:\n\n archive_command='/bin/true'\n archive_mode=on\n listen_addresses='*'\n wal_level='replica'\n\n4. Restart the AlloyDB Omni service:\n\n docker restart \u003cvar translate=\"no\"\u003eCONTAINER_NAME\u003c/var\u003e\n\n Replace \u003cvar translate=\"no\"\u003eCONTAINER_NAME\u003c/var\u003e with the name that you assigned to the AlloyDB Omni container when you installed it.\n5. Confirm the necessary parameters are all set appropriately by running\n the following command:\n\n docker exec \u003cvar translate=\"no\"\u003eCONTAINER_NAME\u003c/var\u003e psql -h localhost -U postgres -c \"\n SELECT name, setting\n FROM pg_catalog.pg_settings\n WHERE name IN ('archive_command',\n 'archive_mode',\n 'listen_addresses',\n 'wal_level')\n ORDER BY name;\n \"\n\n The output is as follows: \n\n name | setting\n ------------------|-----------\n archive_command | /bin/true\n archive_mode | on\n listen_addresses | *\n wal_level | replica\n (4 rows)\n\nSet up the Barman backup server\n-------------------------------\n\nTo set up and configure Barman to work with your AlloyDB Omni server,\nrun the following commands on your Barman server.\n\n1. Verify that the streaming replication connection works:\n\n psql -h \u003cvar translate=\"no\"\u003eDATABASE_IP\u003c/var\u003e -U streaming_barman -c \"IDENTIFY_SYSTEM\" replication=1\n\n The output is similar to the following: \n\n systemid | timeline | xlogpos | dbname\n ---------------------+----------+------------+--------\n 7265722823667040273 | 1 | 0/1F0AFCD0 |\n (1 row)\n\n2. Ensure that Barman can connect to the AlloyDB Omni server as the `barman` database user.\n\n psql -t -h \u003cvar translate=\"no\"\u003eDATABASE_IP\u003c/var\u003e -U barman -d postgres -c \"SELECT 'Connected as: '||current_user\"\n\n Replace \u003cvar translate=\"no\"\u003eDATABASE_IP\u003c/var\u003e with the IP address of your AlloyDB Omni server.\n\n The output is similar to the following: \n\n Connected as: barman\n\n3. [Configure the Barman backup server](https://docs.pgbarman.org/release/latest/#setup-of-a-new-server-in-barman) according to your needs and preferences.\n\n Your configuration must include the following settings:\n - Set `conninfo` to connect to the AlloyDB Omni `postgres` database as the `barman` user.\n - Set `streaming_conninfo` to use the `streaming_barman` user.\n - Configure other directives required to enable WAL streaming, as directed by the Barman documentation.\n\n The following minimal but complete example modifies [a streaming-configuration example from the Barman documentation](https://docs.pgbarman.org/release/latest#examples-of-configuration): \n\n [\u003cvar translate=\"no\"\u003eCONFIGURATION_TAG\u003c/var\u003e]\n description = \"Backup settings for my AlloyDB Omni server\"\n conninfo = host=\u003cvar translate=\"no\"\u003eDATABASE_IP\u003c/var\u003e user=barman dbname=postgres\n streaming_conninfo = host=\u003cvar translate=\"no\"\u003eDATABASE_IP\u003c/var\u003e user=streaming_barman\n backup_method = postgres\n streaming_archiver = on\n slot_name = barman\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eCONFIGURATION_TAG\u003c/var\u003e: a short tag to identify this server configuration when running `barman` commands---for example, `omni`.\n\n - \u003cvar translate=\"no\"\u003eDATABASE_IP\u003c/var\u003e: the IP address of your AlloyDB Omni server.\n\n4. Switch to the `barman` user.\n\n sudo su - barman\n\n5. Use [the `barman receive-wal` command](https://docs.pgbarman.org/release/3.10.0/#receive-wal) to create a replication slot, and then\n begin receiving a WAL stream from the database server:\n\n barman receive-wal --create-slot \u003cvar translate=\"no\"\u003eCONFIGURATION_TAG\u003c/var\u003e\n barman receive-wal \u003cvar translate=\"no\"\u003eCONFIGURATION_TAG\u003c/var\u003e &\n\n Replace \u003cvar translate=\"no\"\u003eCONFIGURATION_TAG\u003c/var\u003e with the configuration tag that you chose in the previous step.\n\nBarman is now configured to work with your AlloyDB Omni server.\nTo check the replication status, create manual backups, and perform other tasks,\nsee [General commands](https://docs.pgbarman.org/release/latest/#general-commands).\n\nFor example, to create a manual backup, run [the `barman backup` command](https://docs.pgbarman.org/release/latest/#backup).\n\nWhat's next\n-----------\n\n- [Restore an AlloyDB Omni cluster using Barman](/alloydb/omni/15.5.4/docs/clone-omni-barman)"]]