Skip to main content

CWDB Dev Server Refresh Scripts

The instructions below have been turned into two scripts. The refresh calls sync.

cwdb-sync.sh
cwdb-refresh.sh

CWDB Dev Server Refresh Instructions

# on the dev server
# ssh root@cwdb-dev

# sync
rsync -avz archive@cwdb-archive.mlc-wels.edu:cwdb/data/`date +"%y-%m-%d"`/ /var/lib/pgsql/data_new
rsync -avz archive@cwdb-archive.mlc-wels.edu:cwdb/wal/ /var/lib/pgsql/archive

# refresh
rcpostgresql stop

rm -r /var/lib/pgsql/data/pg_xlog
rsync -av /var/lib/pgsql/data_new/ /var/lib/pgsql/data

mkdir -m 700 /var/lib/pgsql/data/pg_xlog
mv /var/lib/pgsql/data/postgresql.conf /var/lib/pgsql/data/postgresql.conf.prod
mv /var/lib/pgsql/data/postgresql.conf.dev /var/lib/pgsql/data/postgresql.conf
mv /var/lib/pgsql/data/recovery.conf.dev /var/lib/pgsql/data/recovery.conf

cp /var/lib/pgsql/data/SuSEfirewall2-custom /root/bin/SuSEfirewall2-custom
SuSEfirewall2

chown -R postgres:postgres /var/lib/pgsql/archive
chown -R postgres:postgres /var/lib/pgsql/data

rcpostgresql start

rm /var/lib/pgsql/data/recovery.done

Old Instructions

  • install PostgreSQL server packages for your OS
    • zypper in postgresql-server postgresql-contrib
  • start up PostgreSQL on OS (to create default directories)
    • rcpostgresql start
  • you'll need to move the full data backup from cwdb-archive to cwdb-dev and replace all of the contents of the /var/lib/pgsql/data directory (we keep a number of days back)
  • copy over wal directory from cwdb-archive to cwdb-dev and place it in the /var/lib/pgsql/data directory
  • create pg_xlog directory
    • mkdir /var/lib/pgsql/data/pg_xlog
  • make sure that everything in the data directory is owned by postgres:postgres with 700 permissions
    • chown postgres:postgres
  • make certain to open the PostgreSQL Server ports in the firewall