Thread: pg_dumpall bug & feature request

pg_dumpall bug & feature request

From
Ivan
Date:
Hello,

Perhaps you missed my previous message.
pg_dumpall has not -f command line option
to specify output file - it always send output
to standart output. But there is an issue with
it in Windows (I described it earlier) - function's
line endings are changed from 0D 0A to 0D 0D 0A.

Could you please add -f option to pg_dumpall,
because it's very inconvenient to replace these
character sequences in hex editor all the time.

Thank you for support!

--
Best regards,
 Ivan                          mailto:Ivan-Sun1@mail.ru

Re: pg_dumpall bug & feature request

From
Alvaro Herrera
Date:
Ivan wrote:

Hi,

> Perhaps you missed my previous message.
> pg_dumpall has not -f command line option
> to specify output file - it always send output
> to standart output. But there is an issue with
> it in Windows (I described it earlier) - function's
> line endings are changed from 0D 0A to 0D 0D 0A.

Hmm, what do you need that for?  Why don't you directly restore the
binary dump to a database by using option -d?

--
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

Re: pg_dumpall bug & feature request

From
Ivan
Date:
Hello Alvaro,

Thursday, November 3, 2005, 3:28:41 PM, you wrote:

AH> Ivan wrote:

AH> Hi,

>> Perhaps you missed my previous message.
>> pg_dumpall has not -f command line option
>> to specify output file - it always send output
>> to standart output. But there is an issue with
>> it in Windows (I described it earlier) - function's
>> line endings are changed from 0D 0A to 0D 0D 0A.

AH> Hmm, what do you need that for?  Why don't you directly restore the
AH> binary dump to a database by using option -d?

I don't need to restore binary dump. I need to make a dump of the
whole database cluster to plain sql file (what pg_dumpall does).
So I have to redirect pg_dumpall's output to a file
pg_dump [options] > cluster_dump.sql
When I do it on Windows, it creates cluster_dump.sql file
BUT in that file all sql and plpgsql function bodies are corrupted! -
each line in the body ends with 0D 0D 0A sequence instead of 0D 0A -
therefor functions after restoring looks like:

CREATE OR REPLACE FUNCTION "foo"()
RETURNS bar AS
$$

  select * from "bar"

  where  bla-bla

  order by bla-bla;

$$
  LANGUAGE 'sql' VOLATILE;

instead of

CREATE OR REPLACE FUNCTION "foo"()
RETURNS bar AS
$$
  select * from "bar"
  where  bla-bla
  order by bla-bla;
$$
  LANGUAGE 'sql' VOLATILE;

 - extra blank lines are added.

So it would be great if the output redirection ">" will be workaround
for example the same way like in pg_dump it is done - via -f file
option.

Thank you for support.

--
Best regards,
 Ivan                            mailto:Ivan-Sun1@mail.ru

Re: pg_dumpall bug & feature request

From
Alvaro Herrera
Date:
Ivan wrote:

Hi,

> Thursday, November 3, 2005, 3:28:41 PM, you wrote:

> >> Perhaps you missed my previous message.
> >> pg_dumpall has not -f command line option
> >> to specify output file - it always send output
> >> to standart output. But there is an issue with
> >> it in Windows (I described it earlier) - function's
> >> line endings are changed from 0D 0A to 0D 0D 0A.
>
> AH> Hmm, what do you need that for?  Why don't you directly restore the
> AH> binary dump to a database by using option -d?
>
> I don't need to restore binary dump. I need to make a dump of the
> whole database cluster to plain sql file (what pg_dumpall does).
> So I have to redirect pg_dumpall's output to a file
> pg_dump [options] > cluster_dump.sql

Hum, doh!  I misread your message as thought it referred to pg_restore
rather than pg_dumpall.  Not sure why.  Certainly pg_dumpall needs a
redirecting feature.  I imagine there must be a way to tell the shell
not to do newline translation, but I wouldn't know it.

--
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.