#!/bin/sh
# Этот скрипт копирует БД mycooldb на локальный хост разработчика.
#------------------------------------
# определяем IP машины, с которой подключился пользователь "cooluser"
vmhost=`netstat -tapen | grep "sshd: cooluser" | head -n1 | awk '{split($5, a, ":"); print a[1]}'`
savebase="/home/cooluser"
dumpname="temp_postgres.dump"
savepath=$savebase"/"$dumpname
#------------------------------------
# Сохраняем полный дамп базы "mycooldb".
sudo -u postgres pg_dump -Fc -C -c mycooldb > $savepath
# Восстанавливаем базу на локальном хосте разработчика.
# Если база уже существует, удаляем её целиком. Иначе могут быть проблемы с восстановлением.
if psql -U postgres -h $vmhost -lqt | cut -d \| -f 1 | grep -w 'mycooldb'; then
dropdb -U postgres -h $vmhost mycooldb
fi
# Создаём пустую базу.
createdb -U postgres -h $vmhost mycooldb
# Заполняем её.
pg_restore -U postgres -h $vmhost --single-transaction --disable-triggers -Fc -d mycooldb $dumpname
# Удаляем временный файл.
rm $savepath