Hi,
I use a script like the example below to generate a list of the WAL files
that have to be saved by the backup job. I take the the names of the first
and last WAL files from the backup HISTORYFILE generated by
pg_start_backup() and pg_stop_backup(). The names of the WAL files between
the first and the last I calculate the following way:
HISTORYFILE=`find ${ARCHIVEPATH} -name "*.backup" -exec
grep -l "backup-${DATABASE}-${NOW}" {} \;`
FIRSTWALFILE=`grep "START WAL LOCATION" ${HISTORYFILE} |
awk '{print $6} ' | sed -e 's/)$//g'`
LASTWALFILE=`grep "STOP WAL LOCATION" ${HISTORYFILE} |
awk '{print $6} ' | sed -e 's/)$//g'`
echo FIRSTWALFILE=$FIRSTWALFILE
echo LASTWALFILE=$LASTWALFILE
FILE_PREFIX=`echo $FIRSTWALFILE | cut -c 1-15`
FIRST_SUFFIX=`echo $FIRSTWALFILE | cut -c 16-`
LAST_SUFFIX=`echo $LASTWALFILE | cut -c 16-`
CNTA=`echo "obase=10;ibase=16; $FIRST_SUFFIX" | bc`
CNTE=`echo "obase=10;ibase=16; $LAST_SUFFIX" | bc`
echo $CNTA $CNTE
while [ $CNTA -le $CNTE ];do
echo ${FILE_PREFIX}${FIRST_SUFFIX} # >> outfile
FIRST_SUFFIX=`echo "obase=16;ibase=16; ${FIRST_SUFFIX} + 1" | bc`
CNTA=$(($CNTA+1))
done
The WAL files have names like this:
00000001000000010000003C
I am wonder what the meaning of the two 1 in the filename is? Are the WAL
file names counted up to FFFFFFFFFFFFFFFFFFFFFFFFF ?
Then I'll run into problems anyways as these int number are too large to be
handled by bash.
any insight is highly appreciated.
kind regards
Sebastian