awips2/tools/devAutoDeploy/new/dump-ihfs.sh
Steve Harris 0c25458510 12.4.1-10 baseline
Former-commit-id: 4bfbdad17d [formerly 9f8cb727a5] [formerly 4bfbdad17d [formerly 9f8cb727a5] [formerly 8485b90ff8 [formerly bf53d06834caa780226121334ac1bcf0534c3f16]]]
Former-commit-id: 8485b90ff8
Former-commit-id: 33a67cdd82 [formerly a28d70b5c5]
Former-commit-id: e5543a0e86
2012-05-01 18:06:13 -05:00

62 lines
2.2 KiB
Bash

#!/bin/sh
# dumps selected tables in the IHFS data base.
# created for ticket 1575 -- mwf
#
# usage:
# dump-ihfs.sh awips hd_ob83oax ihfs-data.sql 5433 awips-devdb
# arguments
# $1 = user
# $2 = database name
# $3 = output file
# $4 = port
# $5 = host
USER=$1
DATABASE=$2
OUT_FILE=$3
PORT=$4
HOST=$5
if [ -z $PORT ]; then
PORT=5432
fi
if [ -f $OUT_FILE ]; then
rm -f $OUT_FILE
fi
TABLES_TO_DUMP='adjustfactor agricultural alertalarmval arealfcst arealobs commentvalue '\
'contingencyvalue dailypp dhradapt dhrradar discharge dpaadapt dparadar dspadapt '\
'dspradar evaporation fcstdischarge fcstheight fcstother fcstprecip fcstptdeterm '\
'fcstptesp fcstptwatsup fcsttemperature fishcount fpprevprod fpprevprodpractice '\
'gatedam ground height hourlypc hourlypp ice lake lightning locimage lwstmt moisture '\
'monthlyvalues officenotes ofsdatatrans ofsstntrans pairedvalue perflog power pressure '\
'procvalue productlink pseudogageval radiation ratingshift rawpc rawpother rawpp rejecteddata '\
'rescap rwbiasdyn rwradarresult rwresult s3postanalprefs sacsmaparams sacsmastate snow '\
'temperature unkstn unkstnvalue vtecpractice waterquality weather wind yunique'
TEMP_FILE=/tmp/temp.sql
# get the location of the postgres bin directory -- assumes postgres is running...
POSTMASTER_STR=`ps ax -o user,args | grep postmaster | grep -v grep`
PG_DAEMON=`echo ${POSTMASTER_STR} | cut -d ' ' -f 2`
PG_BIN_DIR=`dirname ${PG_DAEMON}`
echo "using PostgreSQL in ${PG_BIN_DIR}"
PG_BASE_DIR=`dirname ${PG_BIN_DIR}`
DB_BASE_DIR=`dirname ${PG_BASE_DIR}`
echo "setting LD_LIBRARY_PATH = ${PG_BASE_DIR}/lib:${DB_BASE_DIR}/psql/lib"
export LD_LIBRARY_PATH="${PG_BASE_DIR}/lib:${DB_BASE_DIR}/psql/lib"
for table in ${TABLES_TO_DUMP}; do
echo exporting DDL for $table
if [ -z $HOST ]; then
${PG_BIN_DIR}/pg_dump -a -U $USER -D $DATABASE -p $PORT -t $table > $TEMP_FILE
else
${PG_BIN_DIR}/pg_dump -a -U $USER -D $DATABASE -h $HOST -p $PORT -t $table > $TEMP_FILE
fi
COUNT=`grep -c INSERT $TEMP_FILE`
if [ $COUNT -eq 0 ]; then
echo " no data exported from '${table}'"
else
echo " exported ${COUNT} rows from '${table}'"
cat $TEMP_FILE >> $OUT_FILE
fi
done