Vous pouvez protéger vos données AlloyDB Omni à l'aide de n'importe quelle technologie de sauvegarde de base de données compatible avec PostgreSQL. Par exemple, vous pouvez configurer AlloyDB Omni pour autoriser les connexions à partir d'un serveur Barman que vous contrôlez. Cela permet au serveur Barman d'effectuer des sauvegardes continues des données stockées sur votre serveur AlloyDB Omni.
Une fois que vous avez configuré vos serveurs Barman et AlloyDB Omni pour qu'ils fonctionnent ensemble, vous pouvez exécuter des commandes Barman pour effectuer diverses tâches de protection des données et de reprise après sinistre, y compris les suivantes :
Créez une sauvegarde à la demande de vos données.
Configurez le streaming WAL synchrone de vos modifications de données vers votre serveur de sauvegarde.
Restaurez-le à partir d'une sauvegarde spécifique.
Effectuez une restauration à un moment précis.
Pour en savoir plus sur le fonctionnement de Barman, consultez le manuel Barman.
Avant de commencer
Avant de configurer AlloyDB Omni pour qu'il fonctionne avec Barman, vous devez disposer des éléments suivants :
Barman installé sur un serveur distinct. Le serveur sur lequel vous avez installé Barman doit pouvoir communiquer avec le serveur AlloyDB Omni via TCP.
Configurer AlloyDB Omni pour qu'il fonctionne avec Barman
Pour préparer votre serveur AlloyDB Omni à fonctionner avec Barman, exécutez les commandes suivantes sur le serveur sur lequel vous avez installé AlloyDB Omni.
Créez l'utilisateur de base de données barman avec les droits appropriés :
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;"
Remplacez CONTAINER_NAME par le nom que vous avez attribué au conteneur AlloyDB Omni lors de son installation.
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;"
Remplacez CONTAINER_NAME par le nom que vous avez attribué au conteneur AlloyDB Omni lors de son installation.
Ajoutez les lignes suivantes dans le fichier DATA_DIR/pg_hba.confavant la ligne host all all all scram-sha-256 qui existe dans le fichier :
host all barman BARMAN_IP/32 AUTHN_METHOD
host replication streaming_barman BARMAN_IP/32 AUTHN_METHOD
Remplacez les éléments suivants :
DATA_DIR : chemin d'accès au système de fichiers utilisé pour le répertoire de données AlloyDB Omni.
BARMAN_IP : adresse IP du serveur Barman.
AUTHN_METHOD : méthode d'authentification PostgreSQL attendue par votre serveur AlloyDB pour PostgreSQL du serveur Barman.
Nous vous recommandons d'utiliser l'une des valeurs suivantes :
Pour permettre au serveur Barman de s'authentifier sans mot de passe, utilisez trust.
Pour exiger un mot de passe du serveur Barman, utilisez scram-sha-256.
Ajoutez les lignes suivantes au fichier DATA_DIR/postgresql.conf :
Remplacez CONTAINER_NAME par le nom que vous avez attribué au conteneur AlloyDB Omni lors de son installation.
Vérifiez que tous les paramètres nécessaires sont correctement définis en exécutant la commande suivante :
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;"
Voici le résultat :
name | setting
------------------|-----------
archive_command | /bin/true
archive_mode | on
listen_addresses | *
wal_level | replica
(4 rows)
Configurer le serveur de sauvegarde Barman
Pour configurer Barman afin qu'il fonctionne avec votre serveur AlloyDB Omni, exécutez les commandes suivantes sur votre serveur Barman.
Vérifiez que la connexion de réplication en flux continu fonctionne :
[CONFIGURATION_TAG]
description = "Backup settings for my AlloyDB Omni server"
conninfo = host=DATABASE_IP user=barman dbname=postgres
streaming_conninfo = host=DATABASE_IP user=streaming_barman
backup_method = postgres
streaming_archiver = on
slot_name = barman
Remplacez les éléments suivants :
CONFIGURATION_TAG : tag court permettant d'identifier cette configuration de serveur lors de l'exécution des commandes barman (par exemple, omni).
DATABASE_IP : adresse IP de votre serveur AlloyDB Omni.
Passez à l'utilisateur barman.
sudosu-barman
Utilisez la commande barman receive-wal pour créer un emplacement de réplication, puis commencez à recevoir un flux WAL du serveur de base de données :
Remplacez CONFIGURATION_TAG par la balise de configuration que vous avez choisie à l'étape précédente.
Barman est désormais configuré pour fonctionner avec votre serveur AlloyDB Omni.
Pour vérifier l'état de la réplication, créer des sauvegardes manuelles et effectuer d'autres tâches, consultez Commandes générales.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/04 (UTC)."],[[["\u003cp\u003eThis guide outlines the steps to configure AlloyDB Omni to work with Barman, an open-source database backup server, for data protection.\u003c/p\u003e\n"],["\u003cp\u003eThe process involves creating specific database users (\u003ccode\u003ebarman\u003c/code\u003e, \u003ccode\u003estreaming_barman\u003c/code\u003e) within AlloyDB Omni and granting them necessary privileges.\u003c/p\u003e\n"],["\u003cp\u003eConfiguration of the \u003ccode\u003epg_hba.conf\u003c/code\u003e and \u003ccode\u003epostgresql.conf\u003c/code\u003e files within the AlloyDB Omni data directory is required to enable connections from the Barman server and set up data archiving.\u003c/p\u003e\n"],["\u003cp\u003eThe setup also requires verification of the connection between the Barman server and the AlloyDB Omni server using \u003ccode\u003epsql\u003c/code\u003e, and the configuration of \u003ccode\u003econninfo\u003c/code\u003e and \u003ccode\u003estreaming_conninfo\u003c/code\u003e within the Barman configuration files.\u003c/p\u003e\n"],["\u003cp\u003eAfter initial setup, the \u003ccode\u003ebarman receive-wal\u003c/code\u003e command is used to create a replication slot and begin streaming data from the AlloyDB Omni server to the Barman backup server, allowing subsequent use of the \u003ccode\u003ebarman backup\u003c/code\u003e and other similar commands.\u003c/p\u003e\n"]]],[],null,["# Set up Barman for AlloyDB Omni\n\nSelect a documentation version: Current (16.8.0)keyboard_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/current/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\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\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.\n\n ### Podman\n\n podman 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\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.\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\n\n docker restart \u003cvar translate=\"no\"\u003eCONTAINER_NAME\u003c/var\u003e\n\n ### Podman\n\n podman 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\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 ### Podman\n\n podman 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 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/current/docs/clone-omni-barman)"]]