Re: How to Restore a Database pg_dump - Help - S.O.S. - Mailing list pgsql-admin

From Tsirkin Evgeny
Subject Re: How to Restore a Database pg_dump - Help - S.O.S.
Date
Msg-id 41A350FF.6000809@mail.jct.ac.il
Whole thread Raw
In response to How to Restore a Database pg_dump - Help - S.O.S.  ("Flavio Borup" <borup@running.com.br>)
List pgsql-admin
Flavio Borup wrote:

>I´m not DBA. I´m a infrastruture professional, please someone help me
>
>In my company we have a PGSQL Linux Red Hat 9 Database
>The relevant portions of my DB Backup Script follows
>I can send too, the whole script with other parts of the code
>
>The backup is beeing made with the ´bva´ parameters
>How can i restore?
>I have to do a su - postgresql?
>
>
no .you already have the instractions in the script you posted:

#  |   a) If the backup is plain text:
#  |
#  |   Firstly gunzip your backup file (if it was gzipped).
#  |
#  |   gunzip backup_file.gz
#  |   psql -U postgres database < backup_file
#  |
#  |   b) If the backup is not plain text:
#  |
#  |   Firstly gunzip your backup file (if it was gzipped).
#  |
#  |   gunzip backup_file
#  |   pg_restore -d database -F {c|t} backup_file
#  |
#  |   Note: {c|t} is the format the database was backed up as.
#  |
#  |   pg_restore -d database -F t backup_file_tar

bva options means - you have the plain text format.

>i have to drop and recrate something?
>
>
>
you should delete all the data from the tables
(not drop tables) .
running the
psql -U postgres database < backup_file
will add the data to database.
if you still have data in tables i suggest running backup befor you try
this(if the data is meaningful).
However please note all this is not so simple: if you have
keys/triggers/sequences the data have to be loaded
in some order ,so this maybe tricky .if you don't know what you are
doing ,better don't do it.
And follow the link in the script!
http://www.postgresql.org/idocs/index.php?app-pgrestore.html
Evgeny.

>
>
>
>
>
>============================================================================
>============================================================================
>============================================================================
>#!/bin/sh
>#
>#  +-- Restoration can be performed by using psql or pg_restore.
>#  |   Here are two examples:
>#  |
>#  |   a) If the backup is plain text:
>#  |
>#  |   Firstly gunzip your backup file (if it was gzipped).
>#  |
>#  |   gunzip backup_file.gz
>#  |   psql -U postgres database < backup_file
>#  |
>#  |   b) If the backup is not plain text:
>#  |
>#  |   Firstly gunzip your backup file (if it was gzipped).
>#  |
>#  |   gunzip backup_file
>#  |   pg_restore -d database -F {c|t} backup_file
>#  |
>#  |   Note: {c|t} is the format the database was backed up as.
>#  |
>#  |   pg_restore -d database -F t backup_file_tar
>#  |
>#  +-- Refer to the following url for more pg_restore help:
>#
>#      http://www.postgresql.org/idocs/index.php?app-pgrestore.html
>#
>
>
># Run backup, vacuum and analyze
>run_bva() {
>    for i in $databases; do
>        start_time=`date '+%s'`
>        timeinfo=`date '+%T %x'`
>
>        "$location_binaries/vacuumdb" -z -h $postgresql_hostname -U $postgresql_username $i >/dev/null 2>&1
>        "$location_binaries/pg_dump" $backup_args -h $postgresql_hostname $i > "$location_backup_dir/`date
+%B-%Y`/$date_info/$current_time-postgresql_database-$i-backup"
>        if [ "$backup_gzip" = "yes" ]; then
>            gzip "$location_backup_dir/`date +%B-%Y`/$date_info/$current_time-postgresql_database-$i-backup"
>            chmod $permissions_backup_file "$location_backup_dir/`date
+%B-%Y`/$date_info/$current_time-postgresql_database-$i-backup.gz"
>        else
>            chmod $permissions_backup_file "$location_backup_dir/`date
+%B-%Y`/$date_info/$current_time-postgresql_database-$i-backup"
>        fi
>        finish_time=`date '+%s'`
>        duration=`expr $finish_time - $start_time`
>        echo "Backup, Vacuum and Analyze complete (duration $duration seconds) at $timeinfo for schedule $current_time
ondatabase: $i, format: $backup_type" >> $location_logfile 
>    done
>    exit 1
>}
>
>============================================================================
>============================================================================
>============================================================================
>
>---------------------------(end of broadcast)---------------------------
>TIP 4: Don't 'kill -9' the postmaster
>
>


pgsql-admin by date:

Previous
From: "Flavio Borup"
Date:
Subject: How to Restore a Database pg_dump - Help - S.O.S.
Next
From: "Roderick A. Anderson"
Date:
Subject: joins INNER, OUTER, LEFT, RIGHT, FULL, ...