Lee un archivo de registro [log] de PostgreSQL, extrae las sentencias SQL y las ejecuta en el mismo orden y con la sincronización original en otra instancia de PostgreSQL. No usa los archivos WAL [Write-Ahead Log], sino los logs de texto generados por PostgreSQL.
Añadir o descomentar los siguientes parametros del archivo de configuración:
# nano /etc/postgresql/17/main/postgresql.conf
log_statement = 'all'
log_duration = on
log_timestamp = on
log_min_duration_statement = 0
# systemctl restart postgresql.service
$ cat /var/log/postgresql/postgresql-*.log > carga_produccion.log
$ pgreplay -s 2 -d "dbname=mi_bd user=usuario host=servidor" -f carga_produccion.log
$ pgreplay -d "dbname=mi_bd user=usuario host=servidor" -f carga_produccion.log -j 4 -s 2 -o errores.log