@@ -35,25 +35,26 @@ cloudStorageOps() {
35
35
}
36
36
37
37
backupDB () {
38
- local LOCAL_BACKUP_FILE=${BACKUP_CLOUD_FILE} .sql.gz
39
- local CLOUD_BACKUP_FILE=" ${BACKUP_CLOUD_FOLDER} /${BACKUP_CLOUD_FILE} .sql.gz "
38
+ local LOCAL_BACKUP_FILE=${BACKUP_CLOUD_FILE} .dump
39
+ local CLOUD_BACKUP_FILE=" ${BACKUP_CLOUD_FOLDER} /${BACKUP_CLOUD_FILE} .dump "
40
40
if [ " $SET_DATE_AT_NAME " == " true" ]; then
41
41
local CURRENT_DATE=$( date ' +%Y%m%d-%H%M' )
42
- LOCAL_BACKUP_FILE=" ${BACKUP_CLOUD_FILE} -${CURRENT_DATE} .sql.gz "
43
- CLOUD_BACKUP_FILE=" ${BACKUP_CLOUD_FOLDER} /${BACKUP_CLOUD_FILE} -${CURRENT_DATE} .sql.gz "
42
+ LOCAL_BACKUP_FILE=" ${BACKUP_CLOUD_FILE} -${CURRENT_DATE} .dump "
43
+ CLOUD_BACKUP_FILE=" ${BACKUP_CLOUD_FOLDER} /${BACKUP_CLOUD_FILE} -${CURRENT_DATE} .dump "
44
44
fi
45
45
46
46
# Backup database with max compression
47
47
echo " Backing up DB ${POSTGRES_DB} into ${LOCAL_BACKUP_FILE} "
48
- pg_dump -h ${POSTGRES_HOST} -U ${POSTGRES_USER} ${POSTGRES_DB} | gzip -9 > ${LOCAL_BACKUP_FILE}
48
+ # pg_dump -h ${POSTGRES_HOST} -U ${POSTGRES_USER} ${POSTGRES_DB} | gzip -9 >${LOCAL_BACKUP_FILE}
49
+ pg_dump -h ${POSTGRES_HOST} -U ${POSTGRES_USER} -Fc -f ${LOCAL_BACKUP_FILE} ${POSTGRES_DB}
49
50
50
51
# Handle cloud storage based on the provider
51
52
cloudStorageOps " ${LOCAL_BACKUP_FILE} " " ${CLOUD_BACKUP_FILE} "
52
53
}
53
54
54
55
restoreDB () {
55
56
local CURRENT_DATE=$( date ' +%Y%m%d-%H%M' )
56
- local RESTORE_FILE=" backup.sql.gz "
57
+ local RESTORE_FILE=" backup.dump "
57
58
local LOG_RESULT_FILE=" restore_results-${CURRENT_DATE} .log"
58
59
local flag=true
59
60
@@ -62,7 +63,7 @@ restoreDB() {
62
63
flag=false
63
64
wget -O ${RESTORE_FILE} ${RESTORE_URL_FILE}
64
65
echo " Restoring ${RESTORE_URL_FILE} in ${POSTGRES_DB} "
65
- gunzip -c < ${RESTORE_FILE} | psql - h ${POSTGRES_HOST} -U ${POSTGRES_USER} -d ${POSTGRES_DB} | tee ${LOG_RESULT_FILE}
66
+ pg_restore - h ${POSTGRES_HOST} -U ${POSTGRES_USER} -d ${POSTGRES_DB} --create --no-owner ${RESTORE_FILE } | tee ${LOG_RESULT_FILE}
66
67
# aws s3 cp ${LOG_RESULT_FILE} s3://${AWS_S3_BUCKET}/${LOG_RESULT_FILE}
67
68
echo " Import data to ${POSTGRES_DB} has finished ..."
68
69
done
0 commit comments