Re: restoring from dump

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 22 Aug 2008, Tena Sakai wrote:

Hi,

I am in a fix...

I have executed the following command being a user postgres:
zcat /var/postgres/backup/20080812.2.gz | psql postgres > restore.out 2 > restore.err

It asked me a password, which I complied.  It worked silently
for a couple of hours and told me:
 Segmentation fault

As I look at the stdout and stderr redirected files, restore.out
has a bunch of lines like:
 You are now connected to database "postgres".
 SET
 SET
 SET
 ALTER ROLE
 ALTER ROLE
   .
   .
 GRANT ROLE
 GRANT ROLE
   .
   .
 You are now connected to database "canon".
 SET
 SET
   .
   .
 ALTER SCHEMA
 ALTER SCHEMA
   .
   .
 ALTER SEQUENCE
  setval
 ---------
  4398404
 (1 row)

 ALTER TABLE
 ALTER SEQUENCE
  setval
 --------
    1379
 (1 row)
   .
   .
 ALTER TABLE
 ALTER TABLE
 SET

where two dots mean ommision by me.  The stderr output
is way too large (6,899,669 lines), but here's a glimpse of it:

cat restore.err | awk '{print $1}' | sort | uniq
 ^
 CONTEXT:
 ERROR:
 invalid
 LINE
 NOTICE:

I am willing to get rid of the database as exists now
and do "createdb" and run zcat + psql.

Does anybody have a better idea/suggestions?


Tena,

Do the databases you are trying to restore already exist? If so, restoring from a dumpall file won't work out very well for you. What exactly are you trying to restore? Perhaps you only want to restore a few tables? If you want to restore all the databases that were in this postgresql installation at the time of the backup, then the best thing to do is drop all those DBs before attempting the restore. If you just want to get a few tables out of the dumpall file, then you'll need to uncompress it and open it in an editor to pull out the COPY statements you need, then feed those through psql.

I think we need more info about what you're trying to accomplish though.





-----Original Message-----
From: pgsql-admin-owner@xxxxxxxxxxxxxx on behalf of Tena Sakai
Sent: Fri 8/22/2008 3:56 PM
To: Jeff Frost
Cc: pgsql-admin@xxxxxxxxxxxxxx
Subject: Re: [ADMIN] restoring from dump

Many thanks, Jeff.  I appreciate it.  (And I will take
this opportunity to look at the dump file, if nothing
else, to satisfy my curiosity.)

Regards,

Tena Sakai
tsakai@xxxxxxxxxxxxxx


-----Original Message-----
From: Jeff Frost [mailto:jeff@xxxxxxxxxxxxxxxxxxxxxx]
Sent: Fri 8/22/2008 3:54 PM
To: Tena Sakai
Cc: pgsql-admin@xxxxxxxxxxxxxx
Subject: RE: [ADMIN] restoring from dump

On Fri, 22 Aug 2008, Tena Sakai wrote:

Many thanks, Jeff.

I am now clued in as to what "postgres" means in the
context of "psql -f infile postgres".  Also, thanks
for a tip for stdout and stderr redirection.

What I am still a bit shaky is whether or not I should
issue "createdb" prior to restore.  I would appreciate
it if you could elucidate.


No, if you look at the dumpall file, it contains all the 'create database'
commands to recreate the DBs that were dumped.


-----Original Message-----
From: Jeff Frost [mailto:jeff@xxxxxxxxxxxxxxxxxxxxxx]
Sent: Fri 8/22/2008 3:18 PM
To: Tena Sakai
Cc: pgsql-admin@xxxxxxxxxxxxxx
Subject: Re: [ADMIN] restoring from dump

On Fri, 22 Aug 2008, Tena Sakai wrote:

Hi Everybody,

I had a machine crash a couple of days ago, from which
I have recovered (ie., postgres is running now), but I
want to restore from a dump I had made.  The dump is
made by pg_dumpall and I have a gzipped file.

I am a bit unclear as to how to proceed.

(A) I get rid of what I have now and use createdb to
   make a "new" database and use psql.

(B) Don't bother with createdb and let the tables be
   overwritten.

Also the manual tells me (in section 24.1.2):
 psql -f infile postgres
The last parameter: "postgres" is this the database
super-user?  If so, do I need to spell it out if I am
logged in as user postgres?  If not, what is this?

Tena,

If you have a gzipped dumpall file, then you would restore it like so:

zcat dumpall.gz | psql postgres

I generally redirect the stdout and stderr output to files for later review
like this:

zcat dumpall.gz | psql postgres > /tmp/restore.out 2> /tmp/restore.err


In this case 'postgres' is the initial database that you're connecting to with
psql.  This is sometimes called the maintenance database. The dumpall file
will contain all the create database commands necessary for restoring every
database that was dumped.





--
Jeff Frost, Owner 	<jeff@xxxxxxxxxxxxxxxxxxxxxx>
Frost Consulting, LLC 	http://www.frostconsultingllc.com/
Phone: 916-647-6411	FAX: 916-405-4032


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux