Eu tenho uma instância do PostgreSQL com n bancos de dados nele.
É possível restaurar apenas um único banco de dados usando PITR?
# restore
tar xvfz /var/lib/postgresql/db_file_backup.tar.gz -C /var/lib/postgresql/10/main/
# add recovery.conf
nano /var/lib/postgresql/10/main/recovery.conf
restore_command = 'cp /var/lib/postgresql/pg_log_archive/%f %p'
recovery_target_time = '2018-02-22 15:20:00 EST'
# start DB
sudo systemctl start postgresql@10-main
Eu vejo que pg_restore
contém dbname
parâmetro. Mas é lógico. Eu preciso restaurar para um Point-In-Time específico.
pg_restore --help pg_restore restores a PostgreSQL database from an archive created by pg_dump. Usage: pg_restore [OPTION]... [FILE] General options: -d, --dbname=NAME connect to database name
Você não pode ter isso.
O PITR requer backup e recuperação no nível do sistema de arquivos e ambos abrangem todo o cluster. Não estou dizendo que é teoricamente impossível, mas essa funcionalidade não existe.