Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Image Added 

Informações
titlePré-requisitos

Para utilizar a ferramenta Barman, você precisa ter um ambiente em PostgreSQL. Para ambientes de produção, utilize o PostgreSQL em Linux.

...

Nesta página são demonstrados os passos com duas máquinas diferentes, uma contendo a instalação padrão do PostgreSQL para seu ambiente e outra contendo a configuração do Barman. Note que nos comandos de exemplo, estas são referidas como vm-postgresql01 e vm-barman, respectivamente.

No servidor PostgreSQL

Altere o arquivo /etc/hosts e inclua o servidor do Barman:

...

Após isto, é necessária a criação dos usuários barman e streaming_barman.

Bloco de código
titleCrie os usuários na máquina do PostgreSQL:
createuser -s -P barman
createuser -s -P streaming_barman

...

Também é necessária a alteração no arquivo de controle dos métodos de autenticação (pg_hba.conf).

Bloco de código
titleComando para acesso ao arquivo pg_hba.conf
vim /var/lib/pgsql/12/data/pg_hba.conf

...

Nota
titleObservação
Verifique com a área de segurança de rede , qual o melhor formato de configuração para melhor segurança do ambiente, de acordo com a política de cada empresa.

...

Bloco de código
systemctl restart postgresql-12.service

...

No servidor Barman

Altere o arquivo /etc/hosts e inclua o servidor vmpostgresql:

...

Crie o arquivo de senhas (/var/lib/barman), e de a permissão necessária:

Bloco de código
titleComando para ver o arquivo de senhas
vim .pgpass
Bloco de código

vm-postgresql01:5432:postgres:barman:Barman@123

vm-postgresql01:5432:postgres:streaming_barman:Barman@123

## Permissão no arquivo

chmod 0600 .pgpass

Configurar barman.conf:

Bloco de código
vim /etc/barman.conf 

compression = gzip

Realize a cópia do arquivo: streaming-server.conf-template, para acesso ao servidor do postgresql:

Bloco de código
titleComando para copiar e renomear o arquivo template
cp streaming-server.conf-template vm-postgresql.conf

Altere o arquivo que foi copiado:

Bloco de código
[vm-postgresql]

conninfo = host=vm-postgresql user=barman dbname=postgres

streaming_conninfo = host=vm-postgresql user=streaming_barman

streaming_backup_name = barman_streaming_backup

create_slot = auto

streaming_archiver_name = barman_receive_wal

streaming_archiver_batch_size = 50

path_prefix = "/usr/pgsql-12/bin"

Para realizar um backup no Servidor Barman, utilize o seguinte comando:

Bloco de código
[barman@vmbarman ~]$ barman backup vmpostgresql

Ao realizar o comando, o resultado será apresentado na tela:

WARNING:

...

No

...

backup

...

strategy

...

set

...

for

...

server

...

'vmpostgresql'

...

(using

...

default

...

'exclusive_backup').

...

WARNING:

...

The

...

default

...

backup

...

strategy

...

will

...

change

...

to

...

'concurrent_backup'

...

in

...

the

...

future.

...

Explicitly

...

set

...

'backup_options'

...

to

...

silence

...

this

...

warning.

...

Starting

...

backup

...

using

...

rsync-exclusive

...

method

...

for

...

server

...

vmpostgresql

...

in

...

/var/lib/barman/vmpostgresql/base/20220304T120404

...

Backup

...

start

...

at

...

LSN:

...

0/C000028

...

(00000001000000000000000C,

...

00000028)

...

Starting

...

backup

...

copy

...

via

...

rsync/SSH

...

for

...

20220304T120404

...

Copy

...

done

...

(time:

...

1

...

second)

...

Asking

...

PostgreSQL

...

server

...

to

...

finalize

...

the

...

backup.

...

Backup

...

size:

...

24.5

...

MiB

...

Backup

...

end

...

at

...

LSN:

...

0/C000100

...

(00000001000000000000000C,

...

00000100)

...

Backup

...

completed

...

(start

...

time:

...

2022-03-04

...

12:04:05.098223,

...

elapsed

...

time:

...

2

...

seconds)

...

Processing

...

xlog

...

segments

...

from

...

file

...

archival

...

for

...

vmpostgresql

        00000001000000000000000B

        00000001000000000000000C

        00000001000000000000000C.00000028.backup

Liste o Para listar os backups realizados com , execute o seguinte comando:

Bloco de código
[barman@vmbarman barman.d]$ barman list-backup vmpostgresql

vmpostgresql 20220304T120404 - Fri Mar  4 

O resultado será similar a isto:

vmpostgresql 20220304T120404 - Fri Mar  4 12:04:06

...

2022

...

-

...

Size:

...

24.5

...

MiB

...

-

...

WAL

...

Size:

...

96.5

...

KiB

...

vmpostgresql

...

20220303T210358

...

-

...

Thu Mar  3 21:04:00

...

2022

...

-

...

Size:

...

24.5

...

MiB

...

-

...

WAL

...

Size:

...

32.2

...

KiB

...

vmpostgresql

...

20220303T210310

...

-

...

Thu Mar  3 21:03:11

...

2022

...

-

...

Size:

...

24.5

...

MiB

...

-

...

WAL

...

Size:

...

32.2

...

KiB

...

vmpostgresql

...

20220303T210206

...

-

...

Thu Mar  3 21:02:07

...

2022

...

-

...

Size:

...

24.5

...

MiB

...

-

...

WAL

...

Size:

...

32.2

...

KiB

É possível listar os detalhes de um backup específico com o comando a seguir:

Bloco de código
titleComando para listar detalhes de backup
[barman@vm-barman ~]$ barman show-backup vm-postgresql01 20220607T193746

Backup 20220607T193746:

  Server Name            : vm-postgresql01

  System Id              : 7106500250670266068

  Status                 : DONE        PostgreSQL Version     : 120011

  PGDATA directory       : 

Mais detalhes sobre o backup feito:

Backup 20220607T193746:

  Server Name          : vm-postgresql01

  System Id              : 7106500250670266068

  Status                    : DONE        PostgreSQL Version     : 120011

  PGDATA directory       : /var/lib/pgsql/12/data

...

  Base backup information:

    Disk usage           : 23.6 MiB (23.6

...

MiB

...

with

...

WALs)

...

    Incremental size     : 23.6

...

MiB

...

(-0.00%)

...

    Timeline             : 1

    Begin WAL            : 000000010000000000000009

    End WAL              : 000000010000000000000009

    WAL number           : 1

    WAL compression ratio: 99.90%

    Begin time           : 2022-06-07 19:37:46.705044+00:00

...

    End time             : 2022-06-07

...

19:37:47.295758+00:00

...

    Copy time            : less than one second

    Estimated throughput : 40.6 MiB/s

    Begin Offset         : 40

    End Offset           : 0

    Begin LSN           : 0/9000028

    End LSN             : 0/A000000

  WAL information:

    No of files          : 0

    Disk usage           : 0 B

    Last available       : 000000010000000000000009

  Catalog information:

    Retention Policy     : not enforced

    Previous Backup      : 20220607T193735

    Next Backup          : - (this is the latest base backup)