Re: move dbs from 8.1 to 8.4

From: Marc Fromm <Marc(dot)Fromm(at)wwu(dot)edu>
To: Steve Crawford <scrawford(at)pinpointresearch(dot)com>
Cc: "pgsql-admin(at)postgresql(dot)org" <pgsql-admin(at)postgresql(dot)org>
Subject: Re: move dbs from 8.1 to 8.4
Date: 2013-10-10 21:51:42
Message-ID: 93361C67E4EE844A80935863A4FF4B6C076EECEE@Exch2010MB-2.univ.dir.wwu.edu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

After the last database is created there is a failed connection attempt to the first database, which never gets created since it is latin1 encoding.
psql:pgdbs:229: ERROR: database "wsasea_db" does not exist
CREATE DATABASE
psql:pgdbs:233: \connect: FATAL: database "awarding_letter_count" does not exist

I wonder if this connect: Fatal message is what stops the population of the tables and data, since on the server running 8.1, after the databases are created the tables and data are then populated.

From: Steve Crawford [mailto:scrawford(at)pinpointresearch(dot)com]
Sent: Thursday, October 10, 2013 1:55 PM
To: Marc Fromm; pgsql-admin(at)postgresql(dot)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

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Marc Fromm 2013-10-10 22:36:44 convert from latin1 to utf8
Previous Message Marc Fromm 2013-10-10 21:07:33 Re: move dbs from 8.1 to 8.4