
{"id":3809,"date":"2023-03-29T11:46:41","date_gmt":"2023-03-29T11:46:41","guid":{"rendered":"https:\/\/test.opensource-db.in\/wp1\/?p=3809"},"modified":"2023-03-31T11:07:27","modified_gmt":"2023-03-31T11:07:27","slug":"setting-up-and-configuring-pgbarman","status":"publish","type":"post","link":"https:\/\/test.opensource-db.in\/wp1\/setting-up-and-configuring-pgbarman\/","title":{"rendered":"Setting up and Configuring pgBarman"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">As discussed on the <a href=\"https:\/\/test.opensource-db.in\/wp1\/unveiling-the-mystery-of-postgres-backups-for-my-peeps\/\" target=\"_blank\" rel=\"noreferrer noopener\">Postgres Backup for Peeps blog<\/a>, here are the basic steps to install and configure Barman for backing up a production PostgreSQL server:<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td>S.No<\/td><td>Hostname<\/td><td>IP<\/td><td>Role<\/td><\/tr><tr><td>1<\/td><td>Node1<\/td><td>192.168.113.155<\/td><td>Barman Server (Backup Server)<\/td><\/tr><tr><td>2<\/td><td>Node2<\/td><td>192.168.113.156<\/td><td>PostgreSQL Database Server<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Steps to be performed in Node1:<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>&nbsp;Install Barman:<\/strong> Use OS command<code> yum install barman<\/code> to install Barman package in Backup Server.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>&nbsp;[root@localhost ~]# yum install barman<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Verify barman package installation: <code>yum install barman<\/code> will create Barman account in Server. <br>Use the command <code>barman \u2013-version<\/code> to verify installed Barman version in Backup Server.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>[root@localhost ~]# barman --version<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Set Password for OS Account barman:<\/strong> Use the OS command passwd barman to reset the Barman OS account in Backup Server.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>[root@localhost tmp]# passwd barman<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Changing password for <code>user barman<\/code>.<br>New password:<br>Retype new password:<br>passwd: all authentication tokens updated successfully.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Configure Passwordless Authentication in Barman Server:<\/strong> Use OS command <code>ssh-keygen<\/code> to generate public and private keys. Once keys are generated, use OS command <code>ssh-copy-id<\/code> to transfer the public key to PostgreSQL Database Server.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@localhost ~]# su - barman\n-bash-4.2$ ssh-keygen -t rsa\n-bash-4.2$ ls -ltr .ssh\n-bash-4.2$ ssh-copy-id -i ~\/.ssh\/id_rsa.pub postgres@node1\n-bash-4.2$ ssh 'postgres@node1'\n-bash-4.2$ exit<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Configure Global Configuration File in Barman Server<\/strong>: The main configuration file (set to <code>\/etc\/barman.conf<\/code> by default) contains general options such as main directory, system user, log file, and so on. Edit <code>\/etc\/barman.conf<\/code> to set global parameters. Set the below parameters and save the file.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@localhost ~]# cd \/etc\/barman.conf \n&#91;root@localhost ~]# cp \/etc\/barman.conf \/etc\/barman_bkp.conf\n&#91;root@localhost ~]# vi \/etc\/barman.conf\nbarman_user = barman\nconfiguration_files_directory = \/etc\/barman.d\nbarman_home = \/var\/lib\/barman\nlog_file = \/var\/log\/barman\/barman.log\nlog_level = INFO\ncompression = gzip (make sure that gzip utility is installed on both servers)\nbasebackup_retry_sleep = 30\nbasebackup_retry_times = 3\nminimum_redundancy =3\nretention_policy = RECOVERY WINDOW OF 4 WEEKS\npath_prefix = \/usr\/pgsql-15\/bin\/<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Create the configuration file for the server in barman.d directory like below:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@localhost ~]# cd \/etc\/barman.d\n&#91;root@localhost ~]#cp streaming-server.conf-template streaming-pg.conf\n&#91;root@localhost barman.d]$ vi streaming-pg.conf\n&#91;streaming-pg]\ndescription =  \"Example of PostgreSQL Database (Streaming-Only)\"\nconninfo = host=192.168.113.156 user=barman dbname=postgres password=postgres\nstreaming_conninfo = host=192.168.113.156 user=streaming_barman password=postgres\nbackup_method = postgres\nstreaming_archiver = on\nslot_name = barman\nbackup_directory = \/var\/lib\/barman\/backups\n;backup_options = concurrent_backup\nretention_policy = RECOVERY WINDOW OF 7 DAYS\nwal_retention_policy = main\nretention_policy_mode = auto\nminimum_redundancy=2<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Steps to be followed<\/strong> on<strong> Node2 (PostgreSQL DB Server):<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Configure Passwordless Authentication in PostgreSQL Database Server:<\/strong> Use OS command <code>ssh-keygen<\/code> to generate public and private keys. Once keys are generated using the OS command <code>ssh-copy-id<\/code> to transfer the public key to Barman Server.&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@localhost ~]# su - postgres\n-bash-4.2$ ssh-keygen -t rsa\n-bash-4.2$ ls -ltr .ssh\n-bash-4.2$ ssh-copy-id -i ~\/.ssh\/id_rsa.pub barman@node1\n-bash-4.2$ ssh 'barman@node1'\n-bash-4.2$ exit<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Create two users like below:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>barman<\/li><\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><code>[root@localhost ~]# adduser barman<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>[root@localhost ~]# passwd barman<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2. streaming_barman<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>[root@localhost ~]# adduser streaming_barman<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>[root@localhost ~]# passwd streaming_barman<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>set parameters in postgresql.conf file:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@localhost ~]# su \u2013 postgres\n&#91;postgres@localhost ~]$ cd \/var\/lib\/pgsql\/15\/data\/\n&#91;postgres@localhost data]$ vi postgresql.conf\nlisten_addresses = '*'\nwal_level=replica\nmax_wal_senders=10\nmax_replication_slots=10\narchive_mode = on  \narchive_command = 'cp %p \/var\/lib\/pgsql\/15\/archivedir\/%f'\nhot_standby = on\nsynchronous_standby_names = 'barman_receive_wal'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Set parameters in pg_hba.conf.conf file:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;postgres@localhost ~]$ cd \/var\/lib\/pgsql\/15\/data\/\n&#91;postgres@localhost data]$ vi pg_hba.conf\n#ip4\nhost all all 0.0.0.0\/0 md5\n#replication privilege\nhost  replication  streaming_barman  192.168.113.156  md5<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>systemctl restart postgresql-15.service<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Perform backups using Barman :<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Verify Server setup in Barman Server: Use the command <code>barman list-server<\/code> to Server list configured in barman. Command <code>barman show-server streaming-pg<\/code> to get server configuration setting  &amp; command <code>barman check streaming-pg<\/code> to validate the setup.<br><code>[root@localhost ~]# su \u2013 barman<\/code><br><code>-bash-4.2$ <strong>barman list-server<\/strong><\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/Ii45u3BmrMX5M81UGTxH7nV1v3JUwjwujX5PyQRfBB_JZ5YrIqkrmC1NACy2nZEWfH5xMYHuYKgG8RIrGeowxURKx3aNv7BkiX_g9uuz-VopePhDF-TGt4kMhEc4a7-su_D49GG_S0w9PCgUnJYoGcQ\" width=\"602\" height=\"45\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>[barman@localhost~]$<strong>barman switch-xlog --force --archive streaming-pg<\/strong><\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/yW5zAGPLVcu8-YlkCDXE6bfcdc3w2EIxQQBPflnJco8EmGgcDMy1vxqq4i8wF7GTX0TTgMMfU32eafAdN5mDBx4FEHXqGsO9IxZaN8-jqYCh3Shd7qIdVPiJKNWbgUx8i3GNZ1_6ZAVc5rnCdWQI8FY\" width=\"602\" height=\"117\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>[barman@localhost ~]$ <strong>barman check streaming-pg<\/strong><\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/9JIFM6EaM7Kt4n5VWt_kYVCICgcFOWeXylSn_oixmcOm2Rb4UNKU_RXK03ddVSv1hHLfMxrUryp3wjB_Cuki_1CWGgk_B-pPx7057dBDAsBTtbLv3hLmU4rB8b5kb-5wkyxnfHJbTicq7KOlDcQZAfI\" width=\"602\" height=\"365\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>[barman@localhost ~]$ <strong>barman backup streaming-pg --wait<\/strong><\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/GW_1EGKzOY3FFi53VHS7b6STpoQnEJKW86fsLXEB3eqbzyIVi9L_5zBmbRtsW8ZCh_zT2Edrwf4bz0N1PZZcfjm4l_UKX3Kq7q4CsZvhiHricN5bOlyQ6k8mnEoYsMEJpPfHC1TdzcaCBu7RyR7dfws\" width=\"602\" height=\"216\"><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>[barman@localhost ~]$ <strong>barman list-backups streaming-pg<\/strong><\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/3sdjCy92ugiEROzdYKz7P1sGiup1ZtvQS_RlSsF3tNtGjvMphQwCUthCmV0PSO7mOJxuMlBpnrcqKnzq-3tDckCCoBpOhTX_6l2zpjoWB1J7m0aU256sXJsA7SrcLxOQ6DSetVHHjiuXc4fgyWFjo1k\" width=\"602\" height=\"120\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Point-in-time recovery (PITR)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Let us now perform a recovery up to the restore point we have created.<br>**Note:** we need to have at least a backup completed before the creation of the restart point.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On the <code>backup<\/code> server as the <code>barman<\/code> user:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1. Check the existence of at least a backup for the <code>pgprimary<\/code> server<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>barman@backup:~$ barman list-backup pgprimary\npgprimary 20230329T100114 - Wed Mar 29 10:01:14 2023 - Size: 31.5 MiB - WAL Size: 30.2 KiB<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">1. Perform the recovery<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>barman@backup:~$ barman recover \\\n                  --remote-ssh-command=\"ssh postgres@pgrecovery\" \\\n                  pgprimary \\\n                  20230329T100114 \\\n                  \/opt\/postgres\/data \\\n                  --target-name restore_point \\\n                  --target-action pause\n  Starting remote restore for server pgprimary using backup 20230329T100114\n  Destination directory: \/opt\/postgres\/data\n  Doing PITR. Recovery target name: 'restore_point'\n  Copying the base backup.\n  Generating recovery.conf\n  \n  Recovery completed (start time: Wed Mar 29 12:01:00 2023, elapsed time: 3 seconds)\n  \n  Your PostgreSQL server has been successfully prepared for recovery!\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Analyzing the above command:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><code>--remote-ssh-command<\/code> specifies the command through which Barman connects to pgrecovery<\/li><li><code>pgprimary<\/code> specifies the name of the server we want to recover<\/li><li><code>20230329T100114<\/code> specifies the id of the backup we want to recover<\/li><li><code>\/opt\/postgres\/data<\/code> specifies the destination directory on pgrecovery<\/li><li><code>--target-name<\/code> specifies the restore point previously created on <code>pgprimary<\/code><\/li><li><code>--target-action<\/code> option, accepting the following values:<ul><li><code>shutdown<\/code>: once the recovery target is reached, PostgreSQL is shut down<\/li><li><code>pause<\/code>: once the recovery target is reached, PostgreSQL is started in a pause state, allowing users to inspect the instance<\/li><li><code>promote<\/code>: once the recovery target is reached, PostgreSQL will exit recovery and is promoted as a master<\/li><\/ul><\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">See the PostgreSQL <a href=\"https:\/\/www.postgresql.org\/docs\/current\/runtime-config-wal.html#GUC-RECOVERY-TARGET-ACTION\" target=\"_blank\" rel=\"noreferrer noopener\">documentation<\/a> for further details on target action.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">**NOTE**: the recovery command used in this example will copy all WAL files needed to reach the target. In some cases, when the amount of WAL files is considerably big, it can be better to use the option `&#8211;get-wal`.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On <code>pgrecovery<\/code> you can now check that only the `test` table exists:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1. Start PostgreSQL service: PostgreSQL will replay the WAL files until a consistent point is reached. Watch PostgreSQL logs and wait for that situation to happen before continuing with the next step.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2. connect to the <code>test<\/code> database and check the existing tables<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>test=# \\d\n                 List of relations\n   Schema |        Name        | Type  |  Owner\n  --------+--------------------+-------+----------\n   public | test               | table | postgres\n  (1 row)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">We can see that we have restored the instance at the exact point in which we had created the restore point on <code>pgprimary<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3. we have performed the recovery process using <code>--target-action pause<\/code> so PostgreSQL is now in the pause state.&nbsp;&nbsp;&nbsp;&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To terminate the recovery and promote the server to master execute:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>test=# SELECT pg_wal_replay_resume();<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>As discussed on the Postgres Backup for Peeps blog, here are the basic steps to install and configure Barman for [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[23,42],"tags":[],"class_list":["post-3809","post","type-post","status-publish","format-standard","hentry","category-postgresql-14","category-postgresql-15"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Setting up and Configuring pgBarman - OpenSource DB<\/title>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Setting up and Configuring pgBarman - OpenSource DB\" \/>\n<meta property=\"og:description\" content=\"As discussed on the Postgres Backup for Peeps blog, here are the basic steps to install and configure Barman for [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/test.opensource-db.in\/wp1\/setting-up-and-configuring-pgbarman\/\" \/>\n<meta property=\"og:site_name\" content=\"OpenSource DB\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/people\/OpenSource-DB\/100072970755470\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-03-29T11:46:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-03-31T11:07:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/lh5.googleusercontent.com\/Ii45u3BmrMX5M81UGTxH7nV1v3JUwjwujX5PyQRfBB_JZ5YrIqkrmC1NACy2nZEWfH5xMYHuYKgG8RIrGeowxURKx3aNv7BkiX_g9uuz-VopePhDF-TGt4kMhEc4a7-su_D49GG_S0w9PCgUnJYoGcQ\" \/>\n<meta name=\"author\" content=\"Taraka Vuyyuru\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@opensource_db\" \/>\n<meta name=\"twitter:site\" content=\"@opensource_db\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Taraka Vuyyuru\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/setting-up-and-configuring-pgbarman\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/setting-up-and-configuring-pgbarman\/\"},\"author\":{\"name\":\"Taraka Vuyyuru\",\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/#\/schema\/person\/55546e9ca9552218b9376d4ecc8447a5\"},\"headline\":\"Setting up and Configuring pgBarman\",\"datePublished\":\"2023-03-29T11:46:41+00:00\",\"dateModified\":\"2023-03-31T11:07:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/setting-up-and-configuring-pgbarman\/\"},\"wordCount\":603,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/#organization\"},\"image\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/setting-up-and-configuring-pgbarman\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/lh5.googleusercontent.com\/Ii45u3BmrMX5M81UGTxH7nV1v3JUwjwujX5PyQRfBB_JZ5YrIqkrmC1NACy2nZEWfH5xMYHuYKgG8RIrGeowxURKx3aNv7BkiX_g9uuz-VopePhDF-TGt4kMhEc4a7-su_D49GG_S0w9PCgUnJYoGcQ\",\"articleSection\":[\"PostgreSQL 14\",\"PostgreSQL 15\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/test.opensource-db.in\/wp1\/setting-up-and-configuring-pgbarman\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/setting-up-and-configuring-pgbarman\/\",\"url\":\"https:\/\/test.opensource-db.in\/wp1\/setting-up-and-configuring-pgbarman\/\",\"name\":\"Setting up and Configuring pgBarman - OpenSource DB\",\"isPartOf\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/setting-up-and-configuring-pgbarman\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/setting-up-and-configuring-pgbarman\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/lh5.googleusercontent.com\/Ii45u3BmrMX5M81UGTxH7nV1v3JUwjwujX5PyQRfBB_JZ5YrIqkrmC1NACy2nZEWfH5xMYHuYKgG8RIrGeowxURKx3aNv7BkiX_g9uuz-VopePhDF-TGt4kMhEc4a7-su_D49GG_S0w9PCgUnJYoGcQ\",\"datePublished\":\"2023-03-29T11:46:41+00:00\",\"dateModified\":\"2023-03-31T11:07:27+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/setting-up-and-configuring-pgbarman\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/test.opensource-db.in\/wp1\/setting-up-and-configuring-pgbarman\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/setting-up-and-configuring-pgbarman\/#primaryimage\",\"url\":\"https:\/\/lh5.googleusercontent.com\/Ii45u3BmrMX5M81UGTxH7nV1v3JUwjwujX5PyQRfBB_JZ5YrIqkrmC1NACy2nZEWfH5xMYHuYKgG8RIrGeowxURKx3aNv7BkiX_g9uuz-VopePhDF-TGt4kMhEc4a7-su_D49GG_S0w9PCgUnJYoGcQ\",\"contentUrl\":\"https:\/\/lh5.googleusercontent.com\/Ii45u3BmrMX5M81UGTxH7nV1v3JUwjwujX5PyQRfBB_JZ5YrIqkrmC1NACy2nZEWfH5xMYHuYKgG8RIrGeowxURKx3aNv7BkiX_g9uuz-VopePhDF-TGt4kMhEc4a7-su_D49GG_S0w9PCgUnJYoGcQ\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/setting-up-and-configuring-pgbarman\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/test.opensource-db.in\/wp1\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Setting up and Configuring pgBarman\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/#website\",\"url\":\"https:\/\/test.opensource-db.in\/wp1\/\",\"name\":\"OpenSource DB\",\"description\":\"Your Trusted OpenSource Databases partner\",\"publisher\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/test.opensource-db.in\/wp1\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/#organization\",\"name\":\"OPENSOURCE DB PRIVATE LIMITED\",\"url\":\"https:\/\/test.opensource-db.in\/wp1\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2021\/10\/osdb-logo-tm-2.png\",\"contentUrl\":\"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2021\/10\/osdb-logo-tm-2.png\",\"width\":368,\"height\":120,\"caption\":\"OPENSOURCE DB PRIVATE LIMITED\"},\"image\":{\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/people\/OpenSource-DB\/100072970755470\/\",\"https:\/\/x.com\/opensource_db\",\"https:\/\/www.youtube.com\/channel\/UCmTI5h\",\"https:\/\/www.linkedin.com\/company\/opensource-db\",\"https:\/\/www.instagram.com\/opensource_db\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/#\/schema\/person\/55546e9ca9552218b9376d4ecc8447a5\",\"name\":\"Taraka Vuyyuru\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/test.opensource-db.in\/wp1\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/54256c344d6c1f7dbb87fa257d6e318d1ddcd0a29320b642116bfa20e693616b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/54256c344d6c1f7dbb87fa257d6e318d1ddcd0a29320b642116bfa20e693616b?s=96&d=mm&r=g\",\"caption\":\"Taraka Vuyyuru\"},\"url\":\"https:\/\/test.opensource-db.in\/wp1\/author\/taraka\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Setting up and Configuring pgBarman - OpenSource DB","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"en_US","og_type":"article","og_title":"Setting up and Configuring pgBarman - OpenSource DB","og_description":"As discussed on the Postgres Backup for Peeps blog, here are the basic steps to install and configure Barman for [&hellip;]","og_url":"https:\/\/test.opensource-db.in\/wp1\/setting-up-and-configuring-pgbarman\/","og_site_name":"OpenSource DB","article_publisher":"https:\/\/www.facebook.com\/people\/OpenSource-DB\/100072970755470\/","article_published_time":"2023-03-29T11:46:41+00:00","article_modified_time":"2023-03-31T11:07:27+00:00","og_image":[{"url":"https:\/\/lh5.googleusercontent.com\/Ii45u3BmrMX5M81UGTxH7nV1v3JUwjwujX5PyQRfBB_JZ5YrIqkrmC1NACy2nZEWfH5xMYHuYKgG8RIrGeowxURKx3aNv7BkiX_g9uuz-VopePhDF-TGt4kMhEc4a7-su_D49GG_S0w9PCgUnJYoGcQ","type":"","width":"","height":""}],"author":"Taraka Vuyyuru","twitter_card":"summary_large_image","twitter_creator":"@opensource_db","twitter_site":"@opensource_db","twitter_misc":{"Written by":"Taraka Vuyyuru","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/test.opensource-db.in\/wp1\/setting-up-and-configuring-pgbarman\/#article","isPartOf":{"@id":"https:\/\/test.opensource-db.in\/wp1\/setting-up-and-configuring-pgbarman\/"},"author":{"name":"Taraka Vuyyuru","@id":"https:\/\/test.opensource-db.in\/wp1\/#\/schema\/person\/55546e9ca9552218b9376d4ecc8447a5"},"headline":"Setting up and Configuring pgBarman","datePublished":"2023-03-29T11:46:41+00:00","dateModified":"2023-03-31T11:07:27+00:00","mainEntityOfPage":{"@id":"https:\/\/test.opensource-db.in\/wp1\/setting-up-and-configuring-pgbarman\/"},"wordCount":603,"commentCount":0,"publisher":{"@id":"https:\/\/test.opensource-db.in\/wp1\/#organization"},"image":{"@id":"https:\/\/test.opensource-db.in\/wp1\/setting-up-and-configuring-pgbarman\/#primaryimage"},"thumbnailUrl":"https:\/\/lh5.googleusercontent.com\/Ii45u3BmrMX5M81UGTxH7nV1v3JUwjwujX5PyQRfBB_JZ5YrIqkrmC1NACy2nZEWfH5xMYHuYKgG8RIrGeowxURKx3aNv7BkiX_g9uuz-VopePhDF-TGt4kMhEc4a7-su_D49GG_S0w9PCgUnJYoGcQ","articleSection":["PostgreSQL 14","PostgreSQL 15"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/test.opensource-db.in\/wp1\/setting-up-and-configuring-pgbarman\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/test.opensource-db.in\/wp1\/setting-up-and-configuring-pgbarman\/","url":"https:\/\/test.opensource-db.in\/wp1\/setting-up-and-configuring-pgbarman\/","name":"Setting up and Configuring pgBarman - OpenSource DB","isPartOf":{"@id":"https:\/\/test.opensource-db.in\/wp1\/#website"},"primaryImageOfPage":{"@id":"https:\/\/test.opensource-db.in\/wp1\/setting-up-and-configuring-pgbarman\/#primaryimage"},"image":{"@id":"https:\/\/test.opensource-db.in\/wp1\/setting-up-and-configuring-pgbarman\/#primaryimage"},"thumbnailUrl":"https:\/\/lh5.googleusercontent.com\/Ii45u3BmrMX5M81UGTxH7nV1v3JUwjwujX5PyQRfBB_JZ5YrIqkrmC1NACy2nZEWfH5xMYHuYKgG8RIrGeowxURKx3aNv7BkiX_g9uuz-VopePhDF-TGt4kMhEc4a7-su_D49GG_S0w9PCgUnJYoGcQ","datePublished":"2023-03-29T11:46:41+00:00","dateModified":"2023-03-31T11:07:27+00:00","breadcrumb":{"@id":"https:\/\/test.opensource-db.in\/wp1\/setting-up-and-configuring-pgbarman\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/test.opensource-db.in\/wp1\/setting-up-and-configuring-pgbarman\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/test.opensource-db.in\/wp1\/setting-up-and-configuring-pgbarman\/#primaryimage","url":"https:\/\/lh5.googleusercontent.com\/Ii45u3BmrMX5M81UGTxH7nV1v3JUwjwujX5PyQRfBB_JZ5YrIqkrmC1NACy2nZEWfH5xMYHuYKgG8RIrGeowxURKx3aNv7BkiX_g9uuz-VopePhDF-TGt4kMhEc4a7-su_D49GG_S0w9PCgUnJYoGcQ","contentUrl":"https:\/\/lh5.googleusercontent.com\/Ii45u3BmrMX5M81UGTxH7nV1v3JUwjwujX5PyQRfBB_JZ5YrIqkrmC1NACy2nZEWfH5xMYHuYKgG8RIrGeowxURKx3aNv7BkiX_g9uuz-VopePhDF-TGt4kMhEc4a7-su_D49GG_S0w9PCgUnJYoGcQ"},{"@type":"BreadcrumbList","@id":"https:\/\/test.opensource-db.in\/wp1\/setting-up-and-configuring-pgbarman\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/test.opensource-db.in\/wp1\/"},{"@type":"ListItem","position":2,"name":"Setting up and Configuring pgBarman"}]},{"@type":"WebSite","@id":"https:\/\/test.opensource-db.in\/wp1\/#website","url":"https:\/\/test.opensource-db.in\/wp1\/","name":"OpenSource DB","description":"Your Trusted OpenSource Databases partner","publisher":{"@id":"https:\/\/test.opensource-db.in\/wp1\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/test.opensource-db.in\/wp1\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/test.opensource-db.in\/wp1\/#organization","name":"OPENSOURCE DB PRIVATE LIMITED","url":"https:\/\/test.opensource-db.in\/wp1\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/test.opensource-db.in\/wp1\/#\/schema\/logo\/image\/","url":"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2021\/10\/osdb-logo-tm-2.png","contentUrl":"https:\/\/test.opensource-db.in\/wp1\/wp-content\/uploads\/2021\/10\/osdb-logo-tm-2.png","width":368,"height":120,"caption":"OPENSOURCE DB PRIVATE LIMITED"},"image":{"@id":"https:\/\/test.opensource-db.in\/wp1\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/people\/OpenSource-DB\/100072970755470\/","https:\/\/x.com\/opensource_db","https:\/\/www.youtube.com\/channel\/UCmTI5h","https:\/\/www.linkedin.com\/company\/opensource-db","https:\/\/www.instagram.com\/opensource_db\/"]},{"@type":"Person","@id":"https:\/\/test.opensource-db.in\/wp1\/#\/schema\/person\/55546e9ca9552218b9376d4ecc8447a5","name":"Taraka Vuyyuru","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/test.opensource-db.in\/wp1\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/54256c344d6c1f7dbb87fa257d6e318d1ddcd0a29320b642116bfa20e693616b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/54256c344d6c1f7dbb87fa257d6e318d1ddcd0a29320b642116bfa20e693616b?s=96&d=mm&r=g","caption":"Taraka Vuyyuru"},"url":"https:\/\/test.opensource-db.in\/wp1\/author\/taraka\/"}]}},"rttpg_featured_image_url":null,"rttpg_author":{"display_name":"Taraka Vuyyuru","author_link":"https:\/\/test.opensource-db.in\/wp1\/author\/taraka\/"},"rttpg_comment":0,"rttpg_category":"<a href=\"https:\/\/test.opensource-db.in\/wp1\/category\/postgres\/postgresql-14\/\" rel=\"category tag\">PostgreSQL 14<\/a> <a href=\"https:\/\/test.opensource-db.in\/wp1\/category\/postgres\/postgresql-15\/\" rel=\"category tag\">PostgreSQL 15<\/a>","rttpg_excerpt":"As discussed on the Postgres Backup for Peeps blog, here are the basic steps to install and configure Barman for [&hellip;]","_links":{"self":[{"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/posts\/3809","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/comments?post=3809"}],"version-history":[{"count":29,"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/posts\/3809\/revisions"}],"predecessor-version":[{"id":3862,"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/posts\/3809\/revisions\/3862"}],"wp:attachment":[{"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/media?parent=3809"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/categories?post=3809"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/test.opensource-db.in\/wp1\/wp-json\/wp\/v2\/tags?post=3809"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}