Como fazer backup Bancos de dados PostgreSQL em um VPS Ubuntu.docx
-
Upload
miguel-barros -
Category
Documents
-
view
220 -
download
0
Transcript of Como fazer backup Bancos de dados PostgreSQL em um VPS Ubuntu.docx
7/23/2019 Como fazer backup Bancos de dados PostgreSQL em um VPS Ubuntu.docx
http://slidepdf.com/reader/full/como-fazer-backup-bancos-de-dados-postgresql-em-um-vps-ubuntudocx 1/5
Como fazer backup Bancos dedados PostgreSQL em um VPS
UbuntuO que é PostgreSQL?
PostgreSQL é um sistema de gerenciamento de banco de dados moderno. É
freqentemente usado para armazenar e manipu!ar informa"#es re!acionadas a
sites e ap!ica"#es.
Como acontece com qua!quer tipo de dados $a!iosos% é importante imp!ementar
um esquema de backup para proteger contra a perda de dados. &ste guia ir'
cobrir a!gumas maneiras pr'ticas que $oc( pode fazer backup de seus dados
PostgreSQL.
)*s estaremos usando um Ubuntu +,.- com VPS PostgreSQL /.+. 0 maioria
das distribui"#es modernas e recentes $ers#es do PostgreSQL $ai operar de
uma forma simi!ar.
Como fazer backup de um banco de dadosPostgreSQL Usando pg1dump
PostgreSQL inc!ui um uti!it'rio c2amado 3 pg_dump 3que pode ser usado para
despe4ar as informa"#es de banco de dados em um arqui$o para fins de
backup.
5 uti!it'rio pg1dump é e6ecutado a partir da !in2a de comando do Linu6. 0
sinta6e b'sica do comando é7
pg_dump name_of_database > name_of_backup_file
5 comando de$e ser e6ecutado por um usu'rio com pri$i!égios de !er todas as
informa"#es do banco de dados% de modo que e!e é e6ecutado como
superusu'rio a maior parte do tempo.
7/23/2019 Como fazer backup Bancos de dados PostgreSQL em um VPS Ubuntu.docx
http://slidepdf.com/reader/full/como-fazer-backup-bancos-de-dados-postgresql-em-um-vps-ubuntudocx 2/5
Para um e6emp!o do mundo rea!% podemos entrar no usu'rio 3postgres3 e
e6ecutar o comando no banco de dados padr8o% também c2amados de
3postgres37
sudo su - postgres
postgres pg_dump> postgres_db.bak
&ste comando é na $erdade um programa c!iente PostgreSQL% para que possa
ser e6ecutado a partir de um sistema remoto% enquanto que o sistema tem
acesso ao banco de dados.
Se $oc( dese4a fazer o backup de um sistema remoto% $oc( pode passar a
bandeira 3923 para especificar o 2ost remoto% eo 39p3 bandeira para dar a porta
remota7
pg_dump -h remote_host -p remote_portname_of_database > name_of_backup_file
Voc( também pode especificar um usu'rio diferente usando a op"8o 39U3% se
necess'rio. 0 sinta6e seria7
pg_dump -U user_name -h remote_host -premote_port name_of_database >
name_of_backup_file
:en2a em mente que os mesmos requisitos de autentica"8o e6istem para
pg1dump como para qua!quer outro programa c!iente. ;sso significa que $oc(
de$e garantir que seu !og em credenciais s8o $'!idas para os sistemas que
$oc( est' tentando fazer backup.
Como restaurar dados <umps de pg1dumpcom PostgreSQL
Para restaurar um backup criado pe!o pg1dump% $oc( pode redirecionar o
arqui$o em psql entrada padr8o7
psql empty_database < backup_file
7/23/2019 Como fazer backup Bancos de dados PostgreSQL em um VPS Ubuntu.docx
http://slidepdf.com/reader/full/como-fazer-backup-bancos-de-dados-postgresql-em-um-vps-ubuntudocx 3/5
Nota: esta operação de redirecionamento não cria o banco de dados em
questão. sto de!e ser "eito num passo separado# antes da e$ecução do
comando.
Por e6emp!o% podemos criar um no$o banco de dados c2amado
3restored1database3 e% em seguida% redirecionar um despe4o c2amado
3database.bak3 emitindo os seguintes comandos7
createdb -T template0 restored_database
psql restored_database <database.bak
5 banco de dados $azio de$e ser criado uti!izando 3temp!ate-3 como a base.
5utro passo que de$e ser rea!izada% a fim de restaurar corretamente é recriar
todos os usu'rios que possuem ou t(m conceder permiss#es em ob4etos
dentro do banco de dados.
Por e6emp!o% se o seu banco de dados tin2a uma tabe!a de propriedade do
usu'rio 3test1user3% $oc( ter' que cri'9!o no sistema de restaura"8o antes de
importar7
createuser test_user
psql restored_database <database.bak
Lidar com %rros &estauração
Por padr8o% o PostgreSQL tentar' continuar a restaura"8o de um banco de
dados% mesmo quando e!e encontra um erro ao !ongo do camin2o.
&m muitos casos% isto é indese4'$e! por raz#es *b$ias. Pode ser do!oroso para
tentar reso!$er o que opera"#es s8o necess'rias para restaurar o banco de
dados para seu estado adequado.
Podemos dizer PostgreSQL para parar em qua!quer erro% digitando7
7/23/2019 Como fazer backup Bancos de dados PostgreSQL em um VPS Ubuntu.docx
http://slidepdf.com/reader/full/como-fazer-backup-bancos-de-dados-postgresql-em-um-vps-ubuntudocx 4/5
psql --set O_!""O"_#TO$ % on restored_database< backup_file
;sso far' com que um PostgreSQL opera"8o de restaura"8o para que
suspendam imediatamente quando for encontrado um erro.
;sso ainda $ai dei6ar $oc( com um banco de dados a!ei4ado que n8o foi
tota!mente restaurado% mas agora $oc( pode !idar com erros como e!es $(m
para cima em $ez de !idar com uma !ista de erros no fina!.
0 me!2or op"8o em muitas situa"#es pode ser a 39+3 =o n>mero um? ou
3transa"8o 99sing!e3 op"8o7
psql -& restored_database < backup_file
&sta op"8o e6ecuta todos os deta!2es da restaura"8o em uma >nica transa"8o.
0 diferen"a entre esta op"8o e a defini"8o 35)1&@@5@1S:5P3 é que isso $ai
ter sucesso ou comp!etamente ou n8o importar nada.
;sso pode ser um caro trade9off para grandes restaura"#es% mas em muitos
casos% o benefAcio de n8o dei6ando9o com um banco de dados parcia!mente
restaurado fortemente supera esse custo.
Como fazer backup e restaurar todos osbancos de dados em PostgreSQL
Para economizar tempo% se $oc( gostaria de fazer backup de todos os bancos
de dados em seu sistema% e6iste um uti!it'rio c2amado 3 pg_dumpall 3.
&!es sinta6e do comando é muito seme!2ante ao comando pg1dump regu!ares%
mas n8o especifica o banco de dados. &m $ez disso% o comando faz o backup
de todos os dados disponA$eis7
pg_dumpall> backup_file
7/23/2019 Como fazer backup Bancos de dados PostgreSQL em um VPS Ubuntu.docx
http://slidepdf.com/reader/full/como-fazer-backup-bancos-de-dados-postgresql-em-um-vps-ubuntudocx 5/5
Voc( pode restaurar os bancos de dados% passando o arqui$o para psq!% com o
banco de dados padr8o7
psql -f backup_file postgres
Conc!us8o
Backups s8o um componente essencia! em qua!quer tipo de p!ano de
armazenamento de dados.e!izmente% PostgreSQL d'9!2e os uti!it'rios
necess'rios para efeti$amente backup de suas informa"#es importantes.
Como acontece com qua!quer tipo de c*pia de seguran"a% é importante para
testar seus backups regu!armente para garantir que as c*pias que s8o criados
podem ser restaurados corretamente. 5s backups criados s* s8o >teis se e!es
rea!mente pode ser usado para recuperar o sistema.