Beruflich Dokumente
Kultur Dokumente
6-PITR
Esse guia vai apresentar um procedimento para a realizao dos backups para
permitir o uso do PITR. Alm disso, o procedimento ir apresentar como realizar os
backupsemoutrodiscoqueencontra-semontadonoservidordoPostgreSQL.
Paraverificaroespaoemdisco,iremosutilizarocomando:
df -h
Entoiremoscriaraseguinteestruturadepastas:
postgresql_backups
base_backup
temp
wal
wal_archive
Emcadapastaseroarmazenadosarquivosespecficos:
base_backup-Arquivosbsicosdobackup(datafiles)
temp-Somenteparaarquivostemporrios
wal - Arquivos do Write Ahead Log. Esses so os arquivos que permitiro
nsrealizarmosumPITR.
wal_archive - Arquivos de backups que sero movidos do base para ele, no
processodebackup.Soarquivos"antigos".
Asequnciadecomandosparaacriaodessaestrutura:
mkdir /postgresql_backups
mkdir /postgresql_backups/base_backup
mkdir /postgresql_backups/temp
mkdir /postgresql_backups/wal
mkdir /postgresql_backups/wal_archive
Ao final, devemos alterar o owner dessas pastas (como estamos fazendo isso no
servidor Ubuntu que j tem um PostgreSQL instalado, vamos usar o usurio
postgres,masnoseuambiente,podeseroutrousurio).
Vamosdefinirtambmaspermissescorretas:
pg_basebackup
Antesdeiniciarmosobackup,precisamosalteraralgunsparmetrosde
configuraodoPostgreSQL.
max_wal_senders=2
wal_level=hot_standby
archive_mode=on
archive_command='cp%p/mnt/postgresql_backups/wal/%f'
vim /var/lib/pgsql/9.6/data/postgresql.conf
Faltaaindafazermosoutroajuste,emoutroarquivodeconfigurao,pg_hba.conf.
su - postgres
--xlogindicaqueseroincludosnoarquivodebackup,osarquivosde
transactionlog(WAL)
--format=tindicaqueoformatodoarquivodebackupgeradoserum
arquivodotipotar
`date+%Y%m%d`-vaicriarumapastacomadatadodia,noformatoAno
MsDia
Vamosolharapastadedestinodobackup:
Issofinalizaoprocedimentodebackup.
OperaesentreoBackupeoRestore
Alm disso tambm iremos apagar uma tabela e iremos restaurar at o momento
anterioraodropdatabela.
Pastapg_xlog(apsobackupeapsacriaodas2primeirastabelastabelas)
Criaodaterceiratabela:
ProcedimentodeRestore
AcabamosdemataroprocessodoPostgreSQLparasimularodesastre.
Vamosdescompactarobackupento:
Seolharmosocontedodapastadata,vemosquetodososarquivosvoltaram:
Essearquivooproprietriodeledeverserousuriopostgres.
su - postgres
vim /var/lib/pgsql/9.6/data/recovery.conf
Se voc tiver essa mensagem de erro abaixo, porque est faltando mudar as
permissesnapastaquevocdescompactou:
Agorainiciamosnovamenteoservio:
tail -f /var/lib/pgsql/9.6/data/pg_log/postgresql-Mon.log
Seformosolharastabelasquecriamos,estfaltandoumadelas:
Extreme Learning - PostgreSQL 9.x DBA - 23
Atabelatestepitr3noaparecenodatabase.
Lembre-se de apagar todo o contedo do diretrio onde est a instncia (no nosso
exemploem/var/lib/pgsql/9.6/data)
Agoradescompactenovamenteoarquivodebackup:
Descompactaoconcluda:
Seolharmosapastapg_xlogquefoirestauradadobackup:
cp /tmp/postgresql_data/pg_xlog/0* /var/lib/pgsql/9.6/data/pg_xlog
Se voc executou a cpia como root, no esquea de mudar o owner dos arquivos
paraousuriopostgres.
Vamosmontarnovamenteoarquivorecovery.conf
vim /var/lib/pgsql/9.6/data/recovery.conf
SalvamosoarquivoevamosiniciarnovamenteoserviodoPostgreSQL
Seacompanharmosoprocessoderecovery,noarquivodelog:
Seformosolharastabelas,vamosverqueelasestol:
Vamosreverentooshorrios:
Para fazermos esse restore, temos que iniciar todo o processo novamente, desde o
comeodedescompactarosarquivosapartirdobackupbase.
Apsterminardedescompactar,vamoscopiartodososarquivosdapasta
temporria/tmp/postgresql_data/pg_xlogparaapastarestaurada
/var/lib/pgsql/9.6/data/pg_xlog
cp /tmp/postgresql_data/pg_xlog/0* /var/lib/pgsql/9.6/data/pg_xlog
Se voc executou a cpia como root, no esquea de mudar o owner dos arquivos
paraousuriopostgres.
vim /var/lib/pgsql/9.6/data/recovery.conf
Acompanhandoologenquantoorecoveryexecutado:
Seformosolharnossastabelas,apsorestore:
Temosnossas3tabelas.