PG dump and restore

Started by Dennis Calmost 16 years ago9 messagesgeneral
Jump to latest
#1Dennis C
dcswest@gmail.com

Greetings;

As I've been doing for quite some time, backed up my database as
such: /opt/local/lib/postgresql84/bin/pg_dump -c -f ./Trading-Access -Z 5
Trading-Access

But then when I tried restoring it my usual way as
such: /opt/local/lib/postgresql84/bin/pg_restore -d Trading-Access
./Trading-Access
it causes the error: pg_restore: [archiver] input file does not appear to be
a valid archive

So in trying: /opt/local/lib/postgresql84/bin/psql Trading-Access <
./Trading-Access
it causes the error: invalid byte sequence for encoding "UTF8": 0x8b

Thanks,

#2Thom Brown
thombrown@gmail.com
In reply to: Dennis C (#1)
Re: PG dump and restore

On 25 June 2010 16:28, Dennis C <dcswest@gmail.com> wrote:

Greetings;
As I've been doing for quite some time, backed up my database as
such: /opt/local/lib/postgresql84/bin/pg_dump -c -f ./Trading-Access -Z 5
Trading-Access
But then when I tried restoring it my usual way as
such: /opt/local/lib/postgresql84/bin/pg_restore -d Trading-Access
./Trading-Access
it causes the error: pg_restore: [archiver] input file does not appear to be
a valid archive
So in trying: /opt/local/lib/postgresql84/bin/psql Trading-Access <
./Trading-Access
it causes the error: invalid byte sequence for encoding "UTF8": 0x8b
Thanks,

If the output file is in custom format, that last step shouldn't work
since custom format isn't parsable by psql. That would only work if
it was dumped in plain format.

Your original dump specifies a compression level, but you didn't
specify "-F c" for custom format, which would use the compression
level.

Is your file human readable? Try running "file Trading-Access" on the
file. What does it say?

Thom

#3Joshua D. Drake
jd@commandprompt.com
In reply to: Dennis C (#1)
Re: PG dump and restore

On Fri, 2010-06-25 at 08:28 -0700, Dennis C wrote:

Greetings;

As I've been doing for quite some time, backed up my database as
such: /opt/local/lib/postgresql84/bin/pg_dump -c -f ./Trading-Access
-Z 5 Trading-Access

But then when I tried restoring it my usual way as
such: /opt/local/lib/postgresql84/bin/pg_restore -d
Trading-Access ./Trading-Access
it causes the error: pg_restore: [archiver] input file does not appear
to be a valid archive

You don't use pg_restore for plain text dumps which is what you are
doing above. You use psql.

So in trying: /opt/local/lib/postgresql84/bin/psql Trading-Access
< ./Trading-Access
it causes the error: invalid byte sequence for encoding "UTF8": 0x8b

It means the database you has characters in it that are not UTF8
compliant. You can use iconv to clean it up.

Joshua D. Drake

Thanks,

--
PostgreSQL.org Major Contributor
Command Prompt, Inc: http://www.commandprompt.com/ - 509.416.6579
Consulting, Training, Support, Custom Development, Engineering

#4Dennis C
dcswest@gmail.com
In reply to: Thom Brown (#2)
Re: PG dump and restore

It says "Trading-Access: gzip compressed data, from Unix"

About the idea of not using pg_restore for these dumps, what I'm still
missing is how it's worked for all these years before. Are there now more
stringent standards being enforced?

On Fri, Jun 25, 2010 at 8:37 AM, Thom Brown <thombrown@gmail.com> wrote:

Show quoted text

On 25 June 2010 16:28, Dennis C <dcswest@gmail.com> wrote:

Greetings;
As I've been doing for quite some time, backed up my database as
such: /opt/local/lib/postgresql84/bin/pg_dump -c -f ./Trading-Access -Z 5
Trading-Access
But then when I tried restoring it my usual way as
such: /opt/local/lib/postgresql84/bin/pg_restore -d Trading-Access
./Trading-Access
it causes the error: pg_restore: [archiver] input file does not appear to

be

a valid archive
So in trying: /opt/local/lib/postgresql84/bin/psql Trading-Access <
./Trading-Access
it causes the error: invalid byte sequence for encoding "UTF8": 0x8b
Thanks,

If the output file is in custom format, that last step shouldn't work
since custom format isn't parsable by psql. That would only work if
it was dumped in plain format.

Your original dump specifies a compression level, but you didn't
specify "-F c" for custom format, which would use the compression
level.

Is your file human readable? Try running "file Trading-Access" on the
file. What does it say?

Thom

#5Adrian Klaver
adrian.klaver@aklaver.com
In reply to: Dennis C (#4)
Re: PG dump and restore

On 06/25/2010 09:04 AM, Dennis C wrote:

It says "Trading-Access: gzip compressed data, from Unix"

About the idea of not using pg_restore for these dumps, what I'm still
missing is how it's worked for all these years before. Are there now more
stringent standards being enforced?

You have restored from these dumps using pg_restore?

The command below says create a plain text file that has commands to
clean database objects before recreating and store text in file
./Trading-Access using gzip compression at level 5:

/opt/local/lib/postgresql84/bin/pg_dump -c -f ./Trading-Access -Z 5
Trading-Access

To restore I would think you need to gunzip ./Trading-Access and then
feed the file to psql.

--
Adrian Klaver
adrian.klaver@gmail.com

#6Dennis C
dcswest@gmail.com
In reply to: Adrian Klaver (#5)
Re: PG dump and restore

OK well the gunzip seemed to "do the trick," but I don't recall before
having to do anything other than run the pg_restore command. Anyway, thanks
to everyone for all your help!

On Fri, Jun 25, 2010 at 11:29 AM, Adrian Klaver <adrian.klaver@gmail.com>wrote:

Show quoted text

On 06/25/2010 09:04 AM, Dennis C wrote:

It says "Trading-Access: gzip compressed data, from Unix"

About the idea of not using pg_restore for these dumps, what I'm still
missing is how it's worked for all these years before. Are there now more
stringent standards being enforced?

You have restored from these dumps using pg_restore?

The command below says create a plain text file that has commands to clean
database objects before recreating and store text in file ./Trading-Access
using gzip compression at level 5:

/opt/local/lib/postgresql84/bin/pg_dump -c -f ./Trading-Access -Z 5
Trading-Access

To restore I would think you need to gunzip ./Trading-Access and then feed
the file to psql.

--
Adrian Klaver
adrian.klaver@gmail.com

#7Adrian Klaver
adrian.klaver@aklaver.com
In reply to: Dennis C (#6)
Re: PG dump and restore

On Friday 25 June 2010 4:59:17 pm Dennis C wrote:

OK well the gunzip seemed to "do the trick," but I don't recall before
having to do anything other than run the pg_restore command. Anyway,
thanks to everyone for all your help!

My guess is that previously the dump command was actually:

/opt/local/lib/postgresql84/bin/pg_dump -Fc -f ./Trading-Access -Z 5
Trading-Access

--
Adrian Klaver
adrian.klaver@gmail.com

#8Thom Brown
thombrown@gmail.com
In reply to: Dennis C (#6)
Re: PG dump and restore

On 26 June 2010 00:59, Dennis C <dcswest@gmail.com> wrote:

OK well the gunzip seemed to "do the trick," but I don't recall before
having to do anything other than run the pg_restore command.  Anyway, thanks
to everyone for all your help!

On Fri, Jun 25, 2010 at 11:29 AM, Adrian Klaver <adrian.klaver@gmail.com>
wrote:

On 06/25/2010 09:04 AM, Dennis C wrote:

It says "Trading-Access: gzip compressed data, from Unix"

About the idea of not using pg_restore for these dumps, what I'm still
missing is how it's worked for all these years before.  Are there now
more
stringent standards being enforced?

You have restored from these dumps using pg_restore?

The command below says create a plain text file that has commands to clean
database objects before recreating and store text in file ./Trading-Access
using gzip compression at level 5:

/opt/local/lib/postgresql84/bin/pg_dump -c -f ./Trading-Access -Z 5
Trading-Access

To restore I would think you need to gunzip ./Trading-Access and then feed
the file to psql.

It appears that if you don't specify the file format, but you specify
compression, it uses plain format but then gzips it up.

Thom

#9Dennis C
dcswest@gmail.com
In reply to: Adrian Klaver (#7)
Re: PG dump and restore

That was it exactly as I just tested the entire process and it all worked
fine again. For some reason, I inadvertently replaced the "-Fc" part with a
"-c" somewhere along the way. Thanks again!

On Fri, Jun 25, 2010 at 5:18 PM, Adrian Klaver <adrian.klaver@gmail.com>wrote:

Show quoted text

On Friday 25 June 2010 4:59:17 pm Dennis C wrote:

OK well the gunzip seemed to "do the trick," but I don't recall before
having to do anything other than run the pg_restore command. Anyway,
thanks to everyone for all your help!

My guess is that previously the dump command was actually:

/opt/local/lib/postgresql84/bin/pg_dump -Fc -f ./Trading-Access -Z 5
Trading-Access

--
Adrian Klaver
adrian.klaver@gmail.com