Cópia de segurança e recuperação de bases de dados PostgreSQL
Backups seguros do PostgreSQL nos Servidores Dedicados AlexHost
Por que fazer backup do PostgreSQL na AlexHost? A perda de dados pode prejudicar qualquer projeto, mas os servidores dedicadosda AlexHost – comarmazenamento NVMe incrivelmente rápido, acesso total à raiz e proteção DDoS – oferecem uma base sólida para hospedar e proteger bancos de dados PostgreSQL. Quer esteja a executar um site WordPress, uma plataforma de comércio eletrónico ou uma aplicação personalizada, este guia mostra-lhe como fazer cópias de segurança e restaurar bases de dados PostgreSQL usando dumps SQL, formatos personalizados e PITR, tudo optimizado para o ambiente de alto desempenho da AlexHost.
1. Entendendo as opções de backup do PostgreSQL
O PostgreSQL fornece vários métodos para fazer backup de dados, incluindo
- SQL Dump: Este método cria um script SQL em texto simples do banco de dados, que pode ser usado para recriar o banco de dados.
- Custom Format Dump: Este método cria um arquivo binário que pode ser compactado e é adequado para grandes bancos de dados.
- Cópia de segurança ao nível do sistema de ficheiros: Este método envolve tirar um instantâneo dos ficheiros da base de dados no disco, adequado para grandes bases de dados, mas que requer mais conhecimentos.
- Arquivamento contínuo e recuperação pontual (PITR): Este método permite-lhe restaurar a base de dados para um ponto específico no tempo.
2. Preparação da cópia de segurança
Antes de efetuar uma cópia de segurança, certifique-se de que tem os privilégios necessários. Tem de ser um superutilizador ou o proprietário da base de dados da qual pretende efetuar a cópia de segurança
3. Fazendo o backup de um banco de dados PostgreSQL
Método 1: Usando o pg_dump
O utilitário pg_dump permite-lhe criar uma cópia de segurança da sua base de dados
Passo 1: Abra um Terminal
Aceda ao seu servidor via SSH ou diretamente na máquina
Passo 2: Executar o comando pg_dump
Para criar um dump SQL de uma base de dados, utilize o seguinte comando
pg_dump -U username -W -F p database_name > backup_file.sql
- -U username: Especifica o nome de usuário do PostgreSQL.
- -W: Solicita a senha.
- -F p: Especifica o formato (script SQL simples).
- nome_da_base_de_dados: O nome da base de dados da qual pretende efetuar a cópia de segurança.
- arquivo_de_backup.sql: O nome do ficheiro de saída para a cópia de segurança.
Exemplo:
pg_dump -U postgres -W -F p my_database > my_database_backup.sql
Método 2: Usando pg_dumpall
Se você quiser fazer backup de todos os bancos de dados na instância do PostgreSQL, você pode usar o pg_dumpall
pg_dumpall -U username -W > all_databases_backup.sql
4. Fazendo backup usando formato personalizado
Para criar um backup de formato personalizado, use a opção -F c com pg_dump
pg_dump -U username -W -F c database_name > backup_file.dump
Este formato permite uma restauração e compressão mais fáceis
5. Restaurando um Banco de Dados PostgreSQL
Método 1: Restaurando de um Dump SQL
Para restaurar um banco de dados a partir de um dump SQL, use o comando psql
psql -U username -d database_name -f backup_file.sql
- -d nome_da_base_de_dados: O nome da base de dados onde pretende restaurar os dados.
- backup_file.sql: O caminho para o ficheiro de despejo SQL.
Método 2: Restaurar a partir de um formato personalizado
Para um dump de formato personalizado, use o comando pg_restore
pg_restore -U username -d database_name backup_file.dump
- Pode utilizar a opção -C para criar a base de dados antes de a restaurar, caso não exista.
6. Utilizando Arquivamento Contínuo e Recuperação Point-in-Time (PITR)
Para usuários avançados, o PostgreSQL permite o arquivamento contínuo, o que requer a configuração do WAL (Write-Ahead Logging). Este método envolve
- Configurar o arquivamento WAL: Modificar o arquivo postgresql.conf para habilitar o arquivamento WAL#
archive_mode = on archive_command = 'cp %p /path/to/archive/%f'
- Executando Backups Base: Use pg_basebackup para fazer um backup completo do banco de dados.
- Restaurando a partir de arquivos WAL: É possível restaurar o banco de dados para um ponto específico no tempo usando o backup de base e os arquivos WAL arquivados.
Conclusão: Proteja seus dados PostgreSQL com a AlexHost
Proteger seus bancos de dados PostgreSQL não é negociável, e os servidores dedicados da AlexHost facilitam isso com backups rápidos e armazenamento seguro. Use pg_dump para dumps SQL rápidos, formatos personalizados para grandes bancos de dados ou PITR para recuperação precisa. Automatize com o cron, proteja com o UFW e faça cópias de segurança fora do local para ter paz de espírito. Com a velocidade e o suporte NVMe da AlexHost, os seus dados permanecem seguros e as suas aplicações continuam a funcionar – comece hoje mesmo a fazer cópias de segurança!