Thread: Restore/dump from "/usr/local/pgsql/data" directory

Restore/dump from "/usr/local/pgsql/data" directory

From
kongsgar@stud.ntnu.no
Date:
Hi,
I have a copy of "/usr/local/pgsql/data" from old server. Is it
possible to do a dump of the sql databases in this directory, so that
I can easily migrate them to my current system?

-Håvard Wahl Kongsgård


Re: Restore/dump from "/usr/local/pgsql/data" directory

From
Bruce Momjian
Date:
kongsgar@stud.ntnu.no wrote:
> Hi,
> I have a copy of "/usr/local/pgsql/data" from old server. Is it
> possible to do a dump of the sql databases in this directory, so that
> I can easily migrate them to my current system?

Yes, run pg_dumpall, save it, and load it into the new system.  You
really haven't given us much information on what problem you are having.

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +

Re: Restore/dump from "/usr/local/pgsql/data" directory

From
Alan Hodgson
Date:
On September 23, 2010 01:49:50 pm kongsgar@stud.ntnu.no wrote:
> Hi,
> I have a copy of "/usr/local/pgsql/data" from old server. Is it
> possible to do a dump of the sql databases in this directory, so that
> I can easily migrate them to my current system?
>

You should be able to launch a postmaster against it to do so, yes. It will
need to be the same (major) version as the old server was running.

Re: Restore/dump from "/usr/local/pgsql/data" directory

From
kongsgar@stud.ntnu.no
Date:
To specify: I have a copy of the data in "/usr/local/pgsql/data" from
my old, but I don't have access to the old system anymore so I cannot
simply do a "pg_dumpall" from there.

I believe I could copy the content of "/usr/local/pgsql/data" into
"/usr/local/pgsql/data" on my new system. But is there an alternative?

-Håvard Wahl Kongsgård


> kongsgar@stud.ntnu.no wrote:
>> Hi,
>> I have a copy of "/usr/local/pgsql/data" from old server. Is it
>> possible to do a dump of the sql databases in this directory, so that
>> I can easily migrate them to my current system?
>
> Yes, run pg_dumpall, save it, and load it into the new system.  You
> really haven't given us much information on what problem you are having.
>
> --
>   Bruce Momjian  <bruce@momjian.us>        http://momjian.us
>   EnterpriseDB                             http://enterprisedb.com
>
>   + It's impossible for everything to be true. +
>
>




Re: Restore/dump from "/usr/local/pgsql/data" directory

From
Craig Ringer
Date:
On 24/09/2010 3:24 PM, kongsgar@stud.ntnu.no wrote:
> To specify: I have a copy of the data in "/usr/local/pgsql/data" from my
> old, but I don't have access to the old system anymore so I cannot
> simply do a "pg_dumpall" from there.
>
> I believe I could copy the content of "/usr/local/pgsql/data" into
> "/usr/local/pgsql/data" on my new system.

Maybe. You'd need to make sure that the target /usr/local/pgsql/data was
*empty*, and that you were running the same major version (ie both 8.4
or both 8.3, etc) of PostgreSQL on both the old and new servers. Both
servers need to be the same architecture, ie both must be ix86 (32-bit
x86) or both must be x64 (64-bit intel/amd), etc.

Personally, I'd try to start up postgresql with the old data directory
as a target, and get it running to the point where you can do a
pg_dumpall. Then initdb a proper new cluster and restore to it.

--
Craig Ringer

Tech-related writing at http://soapyfrogs.blogspot.com/

Re: Restore/dump from "/usr/local/pgsql/data" directory

From
kongsgar@stud.ntnu.no
Date:
> What version of PG was it?
The "PG_VERSION" file = 8.3

-Håvard Wahl Kongsgård

Siterer Raymond O'Donnell <rod@iol.ie>:

> On 24/09/2010 08:24, kongsgar@stud.ntnu.no wrote:
>> To specify: I have a copy of the data in "/usr/local/pgsql/data" from my
>> old, but I don't have access to the old system anymore so I cannot
>> simply do a "pg_dumpall" from there.
>>
>> I believe I could copy the content of "/usr/local/pgsql/data" into
>> "/usr/local/pgsql/data" on my new system. But is there an alternative?
>
> You'll still need a copy of the correct version of PostgreSQL to
> read that data, and I think it'll need to be the same architecture
> as well.
>



>
> Ray.
>
> --
> Raymond O'Donnell :: Galway :: Ireland
> rod@iol.ie




Re: Restore/dump from "/usr/local/pgsql/data" directory

From
Raymond O'Donnell
Date:
On 24/09/2010 13:21, kongsgar@stud.ntnu.no wrote:
>> What version of PG was it?
> The "PG_VERSION" file = 8.3

OK, well at least it's not an ancient version that's not available any
more. :-)

As Craig said, the best thing is to get hold of a copy of 8.3 that
matches the architecture of the old server machine, start it up, and do
a pg_dumpall.

Ray.

--
Raymond O'Donnell :: Galway :: Ireland
rod@iol.ie

Re: Restore/dump from "/usr/local/pgsql/data" directory

From
Craig Ringer
Date:
On 24/09/2010 8:40 PM, Raymond O'Donnell wrote:
> On 24/09/2010 13:21, kongsgar@stud.ntnu.no wrote:
>>> What version of PG was it?
>> The "PG_VERSION" file = 8.3
>
> OK, well at least it's not an ancient version that's not available any
> more. :-)
>
> As Craig said, the best thing is to get hold of a copy of 8.3 that
> matches the architecture of the old server machine

Or compile one, if necessary. You should *certainly* compile one in
preference to trying to hack outdated packages onto your new system by
force, as some people seem to do. *BAD* *IDEA*, do not try it. Just by
way of warning.

If you do compile it, specify a non-default --prefix that's a unique new
subtree, so you can just "rm -rf" it when you're done with it. Think
--prefix=/opt/pgsql8.3 . If you install it directly into /usr/local
you'll have a crufty old libpq and headers hanging around later.

Personally, if I were facing this situation I'd fire up a virtual
machine with the right architecture and give it access to my old data
dir instead. Much less hassle, as I can just drop the VM once I'm done
with it, and my real host's software loadout and configuration are
unaffected. With kvm (+virt-manager if you want) making it so trivial to
create and destroy VMs this is a no-brainer. You can run a 32-bit VM on
a 64-bit (Intel/AMD) host just fine, so if you're transitioning from 32-
to 64-bit you shouldn't have any issues.

You could always install the old Pg locally on the new host, from
packages or by compiling it, but I wouldn't recommend it. Use a VM if
you can, keep things clean.

--
Craig Ringer

Tech-related writing at http://soapyfrogs.blogspot.com/

Re: Restore/dump from "/usr/local/pgsql/data" directory

From
Yaroslav Tykhiy
Date:
On 25/09/2010, at 1:11 AM, Craig Ringer wrote:

> On 24/09/2010 8:40 PM, Raymond O'Donnell wrote:
>> On 24/09/2010 13:21, kongsgar@stud.ntnu.no wrote:
>>>> What version of PG was it?
>>> The "PG_VERSION" file = 8.3
>>
>> OK, well at least it's not an ancient version that's not available
>> any
>> more. :-)
>>
>> As Craig said, the best thing is to get hold of a copy of 8.3 that
>> matches the architecture of the old server machine
>
> Or compile one, if necessary. You should *certainly* compile one in
> preference to trying to hack outdated packages onto your new system
> by force, as some people seem to do. *BAD* *IDEA*, do not try it.
> Just by way of warning.
>
> If you do compile it, specify a non-default --prefix that's a unique
> new subtree, so you can just "rm -rf" it when you're done with it.
> Think --prefix=/opt/pgsql8.3 . If you install it directly into /usr/
> local you'll have a crufty old libpq and headers hanging around later.

I'd like to just add a few words of encouragement here.  Postgresql's
build system is absolutely marvellous in that it can produce a totally
self-contained installation under --prefix that can be copied across
compatible systems etc.  You even can build several variants and
install them at different prefixes if unsure which is going to match
the database.  So your only worry is to make sure you are playing
around with a copy of the database copy, not with the master copy
itself. :-)

A virtual machine can be useful for experiments, as usual, but a
Postgresql installation to a custom prefix will not litter the base
system so it's pretty safe to try it out on a live machine of suitable
architecture rather than in a "sandbox", which can save some time.

Yar