Обсуждение: error codes when running pg_dumpall from a perl script.

Поиск
Список
Период
Сортировка

error codes when running pg_dumpall from a perl script.

От
"Simon Crute"
Дата:
Hi,
  If this was better posed in a different postgres group, please let me
know.

  I'm having problems when running pg_dumpall from a perl script.

Here's the line that's executing the backup.

`pg_dumpall -o |bzip2 -z -c > $os_bkup_loc/byt_pgdump_full.bz2` or warn
"Error while running probably all OK. $! \n";

During the run the following error is reported

"Error while running probably all OK.. Illegal seek "
i.e. the error code reported by $! is "Illegal seek"

I've ran a backup manually, and there are no error messages.
When running the backup from with a perl script, (but not sending the output
through bzip2) the error still occurs, but diffing the output of that with
the output of pg_dumpall -o when ran from the command line and there's only
two minor differences (which seem to be within some objectIDs. I can post
that diff if anyone thinks it may help.

the environment variables PGUSER and PGPASSWORD are set earlier in the
script.
I've searched the archives of the mail lists, and found no references to
illegal seeks WRT running pg_dump.

Anyone got any clues ?

--
Simon Crute




Re: error codes when running pg_dumpall from a perl

От
Keary Suska
Дата:
backticks return STDOUT, not a status condition. Use system() instead:
    system( "pg_dumpall -o |bzip2 -z -c > $os_bkup_loc/byt_pgdump_full.bz2"
) and warn "Error while running: $! \n";

You must use "and" because system() returns 0 on success, or an error code
on failure. Or you can check $?.

Caveat programmor: an error status would only be returned if the initial
shell returns an error, and broken pipes do not return errors

Keary Suska
Esoteritech, Inc.
"Leveraging Open Source for a better Internet"

> From: "Simon Crute" <simon-news@nospam.geordie.demon.co.uk>
> Date: Thu, 11 Oct 2001 07:30:47 +0100
> To: pgsql-general@postgresql.org
> Subject: [GENERAL] error codes when running pg_dumpall from a perl script.
>
> Hi,
> If this was better posed in a different postgres group, please let me
> know.
>
> I'm having problems when running pg_dumpall from a perl script.
>
> Here's the line that's executing the backup.
>
> `pg_dumpall -o |bzip2 -z -c > $os_bkup_loc/byt_pgdump_full.bz2` or warn
> "Error while running probably all OK. $! \n";
>
> During the run the following error is reported
>
> "Error while running probably all OK.. Illegal seek "
> i.e. the error code reported by $! is "Illegal seek"
>
> I've ran a backup manually, and there are no error messages.
> When running the backup from with a perl script, (but not sending the output
> through bzip2) the error still occurs, but diffing the output of that with
> the output of pg_dumpall -o when ran from the command line and there's only
> two minor differences (which seem to be within some objectIDs. I can post
> that diff if anyone thinks it may help.
>
> the environment variables PGUSER and PGPASSWORD are set earlier in the
> script.
> I've searched the archives of the mail lists, and found no references to
> illegal seeks WRT running pg_dump.
>
> Anyone got any clues ?
>
> --
> Simon Crute
>
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://archives.postgresql.org
>