6060
6161# initialize database if one doesn't already exist
6262# for example, in the case of a data container
63- if [[ ! -d /var/lib/postgresql/main ]]; then
63+ if [[ ! -d /var/lib/postgresql/9.3/ main ]]; then
6464 chown -R postgres:postgres /var/lib/postgresql
65- sudo -u postgres /usr/bin/initdb -D /var/lib/postgresql/main
65+ sudo -u postgres /usr/bin/initdb -D /var/lib/postgresql/9.3/ main
6666fi
6767
6868# ensure WAL log bucket exists
@@ -71,24 +71,24 @@ INIT_ID=$(etcdctl get $ETCD_PATH/initId 2> /dev/null || echo none)
7171echo " database: expecting initialization id: $INIT_ID "
7272
7373initial_backup=0
74- if [[ " $( cat /var/lib/postgresql/main/initialized 2> /dev/null) " != " $INIT_ID " ]]; then
74+ if [[ " $( cat /var/lib/postgresql/9.3/ main/initialized 2> /dev/null) " != " $INIT_ID " ]]; then
7575 echo " database: no existing database found or it is outdated."
7676 # check if there are any backups -- if so, let's restore
7777 # we could probably do better than just testing number of lines -- one line is just a heading, meaning no backups
7878 if [[ ` envdir /etc/wal-e.d/env wal-e --terse backup-list | wc -l` -gt " 1" ]]; then
7979 echo " database: restoring from backup..."
80- rm -rf /var/lib/postgresql/main
81- sudo -u postgres envdir /etc/wal-e.d/env wal-e backup-fetch /var/lib/postgresql/main LATEST
82- chown -R postgres:postgres /var/lib/postgresql/main
83- chmod 0700 /var/lib/postgresql/main
84- echo " restore_command = 'envdir /etc/wal-e.d/env wal-e wal-fetch \" %f\" \" %p\" '" | sudo -u postgres tee /var/lib/postgresql/main/recovery.conf > /dev/null
80+ rm -rf /var/lib/postgresql/9.3/ main
81+ sudo -u postgres envdir /etc/wal-e.d/env wal-e backup-fetch /var/lib/postgresql/9.3/ main LATEST
82+ chown -R postgres:postgres /var/lib/postgresql/9.3/ main
83+ chmod 0700 /var/lib/postgresql/9.3/ main
84+ echo " restore_command = 'envdir /etc/wal-e.d/env wal-e wal-fetch \" %f\" \" %p\" '" | sudo -u postgres tee /var/lib/postgresql/9.3/ main/recovery.conf > /dev/null
8585 else
8686 echo " database: no backups found. Initializing a new database..."
8787 initial_backup=1
8888 fi
8989 # either way, we mark the database as initialized
9090 INIT_ID=$( cat /proc/sys/kernel/random/uuid)
91- echo $INIT_ID > /var/lib/postgresql/main/initialized
91+ echo $INIT_ID > /var/lib/postgresql/9.3/ main/initialized
9292 etcdctl --no-sync -C $ETCD set $ETCD_PATH /initId $INIT_ID > /dev/null
9393else
9494 echo " database: existing data directory found. Starting postgres..."
@@ -122,7 +122,7 @@ sleep 1 && while [[ -z $(netstat -lnt | awk "\$6 == \"LISTEN\" && \$4 ~ \".5432\
122122if [[ " ${initial_backup} " == " 1" ]] ; then
123123 echo " database: performing an initial backup..."
124124 # perform an initial backup
125- sudo -u postgres envdir /etc/wal-e.d/env wal-e backup-push /var/lib/postgresql/main
125+ sudo -u postgres envdir /etc/wal-e.d/env wal-e backup-push /var/lib/postgresql/9.3/ main
126126fi
127127
128128echo " database: postgres is running..."
@@ -148,11 +148,11 @@ if [[ ! -z $EXTERNAL_PORT ]]; then
148148 # we really need cron :(
149149 if [[ " ${count} " -ge " ${BACKUP_FREQUENCY} " ]] ; then
150150 echo " database: performing a backup..."
151- if [[ -f /var/lib/postgresql/main/recovery.conf ]] ; then
151+ if [[ -f /var/lib/postgresql/9.3/ main/recovery.conf ]] ; then
152152 echo " database: database is currently recovering from a backup. Will try again next loop..."
153153 else
154154 # perform a backup
155- sudo -u postgres envdir /etc/wal-e.d/env wal-e backup-push /var/lib/postgresql/main
155+ sudo -u postgres envdir /etc/wal-e.d/env wal-e backup-push /var/lib/postgresql/9.3/ main
156156 # only retain the latest BACKUPS_TO_RETAIN backups
157157 sudo -u postgres envdir /etc/wal-e.d/env wal-e delete --confirm retain ${BACKUPS_TO_RETAIN}
158158 count=0
0 commit comments