Extract Data From Postgres Using Shell
Extract Data From Postgres Using Shell
/bin/bash
# Define parameters
dbname="$1"
schema_name=$2
srvname="$3"
dbuser="$4"
dbpass="$5"
basepath=$6
export PGPASSWORD="$dbpass"
# Metadata - Rowcount extraction
echo -e "\033[1;42mCREATING METADATA SQL FILE FROM GENERATOR FILE & INITIATING
METADATA EXTRACTION\033[0m"
sleep 1
psql -h $srvname -d $dbname -U $dbuser -v schema_name="$schema_name" -v
base_path="$basepath" -f $basepath/Postgres/Input/metadata_sql_gen.sql -t -q -X -o
$basepath/Postgres/Input/metadata_sql.sql
sleep 1
echo "Checking whether the input files are created or not!"
sleep 1
# File path to check
metadata_PATH="$basepath/Postgres/Input/metadata_sql.sql"
# Check if the file exists and is not empty
if [ -f "$metadata_PATH" ] && [ -s "$metadata_PATH" ]; then
echo "Files are created in input folder. Executing metadata extract SQL
Statements..."
sleep 2
psql -h $srvname -d $dbname -U $dbuser -f
$basepath/Postgres/Input/metadata_sql.sql
else
echo "Error: $metadata_PATH is not created, check the script!"
fi
echo "Exiting..."