Skip to content

Commit dc0da6d

Browse files
committed
Stream dump instead of copy
1 parent 118cf35 commit dc0da6d

File tree

1 file changed

+4
-7
lines changed

1 file changed

+4
-7
lines changed

db/db_transfer.sh

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,10 @@ OLD_DEPLOYMENT=${1}
2323
NEW_DEPLOYMENT=${2}
2424
DUMP_FILE_PATH=/tmp/backup.dump
2525

26-
# Create and copy dump from the old deployment
26+
# Create dump from the old deployment and save locally
2727
OLD_POD=$(oc get po -l deployment=${OLD_DEPLOYMENT} -o name | head -n 1 | sed 's|pod/||')
28-
oc exec -it deployment/${OLD_DEPLOYMENT} -- bash -c "pg_dump -U \${POSTGRES_USER} -d \${POSTGRES_DB} -Fc -f ${DUMP_FILE_PATH} && ls -lh ${DUMP_FILE_PATH}"
29-
oc cp ${OLD_POD}:${DUMP_FILE_PATH} ${DUMP_FILE_PATH}
28+
oc exec -i deployment/${OLD_DEPLOYMENT} -- bash -c "pg_dump -U \${POSTGRES_USER} -d \${POSTGRES_DB} -Fc" > ${DUMP_FILE_PATH}
3029
ls -lh ${DUMP_FILE_PATH}
3130

32-
# Copy and restore dump to the new deployment
33-
NEW_POD=$(oc get po -l deployment=${NEW_DEPLOYMENT} -o name | head -n 1 | sed 's|pod/||')
34-
oc cp ${DUMP_FILE_PATH} ${NEW_POD}:${DUMP_FILE_PATH} -c fom
35-
oc exec -it deployment/${NEW_DEPLOYMENT} -- bash -c "pg_restore -U \${POSTGRES_USER} -d \${POSTGRES_DB} -Fc ${DUMP_FILE_PATH}"
31+
# Stream dump into pg_restore in the new deployment (no file copy needed)
32+
oc exec -i deployment/${NEW_DEPLOYMENT} -- bash -c "pg_restore -U \${POSTGRES_USER} -d \${POSTGRES_DB} -Fc" < ${DUMP_FILE_PATH}

0 commit comments

Comments
 (0)