Обсуждение: Moving a database
Hi,
What are the correct steps to move an database and from an server running postgreslq 7.4.2 to another running 8.0.3?
--
Richard Bortolucci
What are the correct steps to move an database and from an server running postgreslq 7.4.2 to another running 8.0.3?
--
Richard Bortolucci
If they are both up and running and reachable, then you likely just want to do something as simple as: pg_dumpall -h <old host> | psql -h <new host> template1 That's assuming you want to move all the DBs on the first server to the second. NOTE: pg_dumpall cannot dump large objects. If you have these, you'll have to use another method of migration. Another good method if you want to limit downtime and have primary keys on all your tables is to setup slony on both nodes, let the subscription get up to date and then change roles and bring down the old server. On Wed, 14 Dec 2005, Richard Bortolucci wrote: > Hi, > > What are the correct steps to move an database and from an server running > postgreslq 7.4.2 to another running 8.0.3? > > -- > Richard Bortolucci > -- Jeff Frost, Owner <jeff@frostconsultingllc.com> Frost Consulting, LLC http://www.frostconsultingllc.com/ Phone: 650-780-7908 FAX: 650-649-1954
> What are the correct steps to move an database and from an server
> running postgreslq 7.4.2 to another running 8.0.3?
I'll assume there are two hosts:
- db7, running 7.4.2, on port 5432, and
- db8, running 8.0.3 on port 5432.
The simplest method would be thus:
- Stop the applications accessing db7
- On db8, run the command:
pg_dumpall -h db7 -p 5432 | psql -h localhost -p 5432 template1
That is likely to provide the most nearly "perfect fidelity" copy of
the database on db8.
You may discover that this takes longer than you want it to.
If that proves to be the case, you can shorten the cutover time by
using a replication system such as Slony-I to copy data from the one
host to the other. That definitely involves more "moving parts" and
more complexity. But it could turn an 8 hour outage into a 2 minute
one...
You should certainly do test runs of whatever approach you try so as
to minimize the number of surprises.
--
output = reverse("moc.liamg" "@" "enworbbc")
http://linuxdatabases.info/info/slony.html
"...Yet terrible as Unix addiction is, there are worse fates. If Unix
is the heroin of operating systems, then VMS is barbiturate addiction,
the Mac is MDMA, and MS-DOS is sniffing glue. (Windows is filling your
sinuses with lucite and letting it set.) You owe the Oracle a
twelve-step program." --The Usenet Oracle