On the old system running 8.1 I am executing the pg_dumpall command as shown in 
the script. I then copy the file to the new server running 8.4 and run this 
command "psql -U postgres -f postgresql-all-10-10-2013_04-07-databases postgres"

The log is reporting
database name_of_database does not exist
create database name_of_database

There is an error reporting for latin1 encoded databases :
psql:pgdbs:167: ERROR:  encoding LATIN1 does not match locale en_US.UTF-8
DETAIL:  The chosen LC_CTYPE setting requires encoding UTF8.

Any latin1 encoded databases do not get created.

Thanks

I am using 8.4 just because it's what gets installed with CentOS6.4.
From: Steve Crawford [mailto:scrawf...@pinpointresearch.com]
Sent: Thursday, October 10, 2013 1:55 PM
To: Marc Fromm; pgsql-admin@postgresql.org
Subject: Re: [ADMIN] move dbs from 8.1 to 8.4

On 10/10/2013 01:17 PM, Marc Fromm wrote:
I built a new server running centos 6.4 and postgresql 8.4. I backed up all the 
databases from the old server running fedora and postgresql 8.1 using this 
script.
#!/bin/bash
# Backup all Postgresql databases

# Location of the backup logfile.
logfile="/var/lib/pgsql/backups/logs/pg_back.log"

# Location to place backups.
backup_dir="/var/lib/pgsql/backups"
touch $logfile
timeslot=`date +%m-%d-%Y_%H-%M`
timeinfo=`date '+%T-%F'`

/usr/bin/vacuumdb -azh 127.0.0.1 -U postgres
/usr/bin/pg_dumpall -ch 127.0.0.1 -U postgres | gzip > 
"$backup_dir/postgresql-all-$timeslot-databases.gz"
echo "Backup of all databses complete at $timeinfo for time slot 
$timeslot--pg_dumpall." >> $logfile

The new server is running postgresql 8.4.
When I restore the databases, with the commands below, only the databases are 
created, no tables and no data is restored.

     *   gunzip postgresql-all-10-10-2013_04-07-databases.gz
     *   psql -U postgres -f postgresql-all-10-10-2013_04-07-databases postgres

The above works between two different servers that both run 8.1.

What am I missing to restore all my databases with tables and data from 8.1 to 
the new 8.4?

Thanks

It would be helpful to see any error messages from the client or the log. But 
lacking that info, my first suggestion is to be sure that you are using 
pg_dumpall from the *new* version of PostgreSQL and *not* trying to restore a 
dump taken with an old version into the new version of the database. It's not 
clear which versions of the clients you are using from your message but I'm 
guessing this may be part of your issue.

The second suggestion is to upgrade to a recent version of PostgreSQL. If you 
are going to the effort of an upgrade it seems like a bit of a waste of time to 
go to 8.4 which is only supported for a few more months when you could move to 
9.3 and have a version supported for nearly five more years plus all the 
feature and performance improvements that have been made in the several years 
since 8.4 was released.

Cheers,
Steve

Reply via email to