Skip to content

Instantly share code, notes, and snippets.

@brock
Forked from madssj/postgresql_dump_extract.sh
Last active August 29, 2015 14:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save brock/9dcacefc390e8faa8fc8 to your computer and use it in GitHub Desktop.
Save brock/9dcacefc390e8faa8fc8 to your computer and use it in GitHub Desktop.
#!/bin/sh
if [ $# -ne 2 ]
then
echo "Usage: $0 <postgresql sql dump> <db_name>" >&2
exit 1
fi
db_file=$1
db_name=$2
if [ ! -f $db_file -o ! -r $db_file ]
then
echo "error: $db_file not found or not readable" >&2
exit 2
fi
grep -b "^\connect" $db_file | grep -m 1 -A 1 "$db_name$" | while read line
do
bytes=`echo $line | cut -d: -f1`
if [ -z "$start_point" ]
then
start_point=$bytes
else
end_point=$bytes
fi
done
if [ -z "$start_point" -o -z "$end_point" ]
then
echo "error: start or end not found" >&2
exit 3
fi
db_length=`expr $end_point - $start_point`
tail -c +$start_point $db_file | head -c $db_length | tail +3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment