Last active
March 25, 2016 13:45
-
-
Save snnwolf/6531cc521ffb930e9d9e to your computer and use it in GitHub Desktop.
Копирование БД postgres. Взято http://stackoverflow.com/a/14237701
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| if [ 1 -ne $# ] | |
| then | |
| echo "Usage `basename $0` {tar.gz database file}" | |
| exit 65; | |
| fi | |
| if [ -f "$1" ] | |
| then | |
| EXTRACTED=`tar -xzvf $1` | |
| echo "using database archive: $EXTRACTED"; | |
| else | |
| echo "file $1 does not exist" | |
| exit 1 | |
| fi | |
| PGUSER=dbuser | |
| PGPASSWORD=dbpw | |
| export PGUSER PGPASSWORD | |
| datestr=`date +%Y%m%d` | |
| dbname="dbcpy_$datestr" | |
| createdbcmd="CREATE DATABASE $dbname WITH OWNER = postgres ENCODING = 'UTF8' TABLESPACE = pg_default LC_COLLATE = 'en_US.UTF-8' LC_CTYPE = 'en_US.UTF-8' CONNECTION LIMIT = -1;" | |
| dropdbcmp="DROP DATABASE $dbname" | |
| echo "creating database $dbname" | |
| psql -c "$createdbcmd" | |
| rc=$? | |
| if [[ $rc != 0 ]] ; then | |
| rm -rf "$EXTRACTED" | |
| echo "error occured while creating database $dbname ($rc)" | |
| exit $rc | |
| fi | |
| echo "loading data into database" | |
| psql $dbname < $EXTRACTED > /dev/null | |
| rc=$? | |
| rm -rf "$EXTRACTED" | |
| if [[ $rc != 0 ]] ; then | |
| psql -c "$dropdbcmd" | |
| echo "error occured while loading data to database $dbname ($rc)" | |
| exit $rc | |
| fi | |
| echo "finished OK" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment