Re: failed to setup barman backup when Posgres is running in Podman Container

From: Romas Kontrimas <r(dot)kontrimas(at)gmail(dot)com>
To: duc hiep ha <haduchiep(at)googlemail(dot)com>
Cc: pgsql-admin(at)lists(dot)postgresql(dot)org
Subject: Re: failed to setup barman backup when Posgres is running in Podman Container
Date: 2024-01-16 08:54:31
Message-ID: CA+zAW4_p3rbeWhz8K-Li4ZPads3p=JJxyh8PfO74goGjSmgOXg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Hi,

If I understand correctly, you already have WAL streaming setup and it's in
OK state (setting in in conf streaming_archiver = on). Barman will
continuously receive and archive transaction logs. Why would you still need
standard archive_command?
https://docs.pgbarman.org/release/3.9.0/#wal-streaming

On Thu, 11 Jan 2024 at 11:13, duc hiep ha <haduchiep(at)googlemail(dot)com> wrote:

>
> Dear All,
>
>
> I am trying to use Barman to back up PostgreSQL, which is running in a
> Podman container. However, I encounter the error "WAL archive: FAILED," as
> shown below:
>
> #barman check testdb
> Server testdb:
> WAL archive: FAILED (please make sure WAL shipping is set up)
> PostgreSQL: OK
> superuser: OK
> PostgreSQL streaming: OK
> wal_level: OK
> replication slot: OK
> directories: OK
> retention policy settings: OK
> backup maximum age: OK (no last_backup_maximum_age provided)
> compression settings: OK
> failed backups: OK (there are 0 failed backups)
> minimum redundancy requirements: OK (have 0 backups, expected at least 0)
> pg_basebackup: OK
> pg_basebackup compatible: OK
> pg_basebackup supports tablespaces mapping: OK
> pg_receivexlog: OK
> pg_receivexlog compatible: OK
> receive-wal running: OK
> archiver errors: OK
>
> I have identified that normally, when the PostgreSQL database is installed
> on a regular VM (not in a container), the archive_command parameter under
> postgresql.conf looks like this:
>
> archive_command = 'rsync -a %p barman(at)barman-backup-server-ip
> :/data/barman/main-db-server/incoming/%f'
>
> However, when PostgreSQL is installed on a Podman container, I cannot use
> the above archive_command because within the PostgreSQL container, it
> doesn't understand rsync, ssh, and the barman user. That's why I have to
> use a normal copy command like:
>
> archive_command = 'cp -i %p /srv/archive/%f'
>
> I then mounted this wal-files folder on
> '/data/barman/main-db-server/incoming/%f'. As a result, all these wal_files
> have the PostgreSQL ownership and not the barman ownership. The barman user
> has no privileges to change these wal-files, which is why the WAL archive
> is marked as FAILED.
>
> Do you know how to solve this issue? do I have to install Barman and
> PostgreSQL in the same Pod container in order to backup PostgreSQL
> container? Or is there another solution to this problem?
>
> Thank you for your support in advance.
>
> Best,
> Ha
>
>

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Holger Jakobs 2024-01-16 11:43:34 Re: failed to setup barman backup when Posgres is running in Podman Container
Previous Message Guillaume Lelarge 2024-01-16 08:38:53 Re: "traditional" replication - selected databases ?