#!/bin/bash

#usage: ./dbmaintance dblist [reindex | analyze | vacuum+full+analyze]

PGUSER=postgres
PGPASSWORD=postgres741369

log=/var/log/dbmaintance.log

export PGUSER
export PGPASSWORD


if [[ "$2" == "reindex" ]]; then

 while read dbname
 do
  echo "$(date +"%h %d %y %H:%M:%S") start reindex $dbname database" >> $log
  psql --dbname $dbname   --command "reindex  DATABASE CONCURRENTLY \"$dbname\";" >> $log 
  echo "$(date +"%h %d %y %H:%M:%S") finish reindex $dbname database" >> $log
 done < $1 

elif [[ "$2" == "analyze" ]]; then

 while read dbname
 do
  echo "$(date +"%h %d %y %H:%M:%S") start analyze $dbname database" >> $log
  psql --dbname $dbname   --command "analyze;" >> $log 
  echo "$(date +"%h %d %y %H:%M:%S") finish analyze $dbname database" >> $log
 done < $1

elif [[ "$2" == "vacuum+full+analyze" ]]; then

 while read dbname
 do
  echo "$(date +"%h %d %y %H:%M:%S") start vacuum full analyze $dbname database" >> $log
  psql --dbname $dbname   --command "vacuum full analyze;" >> $log 
  echo "$(date +"%h %d %y %H:%M:%S") finish vacuum full analyze $dbname database" >> $log
 done < $1

fi

unset PGPASSWORD
unset PGUSER

