Обсуждение: small pg_dump RFE: new --no-prompt (password) option

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

small pg_dump RFE: new --no-prompt (password) option

От
Dave Cramer
Дата:
>
I'm forwarding this on behalf of Marc Hebert
>
> Hi there,
>
>  As discussed recently on the jdbc mailing-list in this "Backup in  
> Java" thread
>
> <http://thread.gmane.org/gmane.comp.db.postgresql.jdbc/12441/ 
> focus=12441>
>
> there is a significant interest in doing backups in an
> non-interactive, programmatic way. Reminder: AFAIK pg_dump is
> currently the very unique reliable way to perform a backup. There  
> is no
> documented API or protocol to do this. Any program in any language is
> stuck with "scripting" pg_dump.
>
> When we implemented this scripting in Java we faced one major issue:
> pg_dump may prompt for a password in a unpredictable way (depending on
> the user misconfiguration). Taking care of this is surprisingly
> complex.  The suggested --no-prompt would make scripting pg_dump
> infinitely easier.  In case a password is needed, this option would
> simply fail and return immediatly with an appropriate error message.
> Or even better, with a well-defined return status.
>
> Thanks in advance for considering this new feature!
>
> Sincerely,
>
> Marc.
>
>



Re: small pg_dump RFE: new --no-prompt (password) option

От
Martijn van Oosterhout
Дата:
On Fri, Dec 01, 2006 at 07:46:59AM -0500, Dave Cramer wrote:
> >
> I'm forwarding this on behalf of Marc Hebert

I saw it the first time.

> >When we implemented this scripting in Java we faced one major issue:
> >pg_dump may prompt for a password in a unpredictable way (depending on
> >the user misconfiguration). Taking care of this is surprisingly
> >complex.  The suggested --no-prompt would make scripting pg_dump
> >infinitely easier.  In case a password is needed, this option would
> >simply fail and return immediatly with an appropriate error message.
> >Or even better, with a well-defined return status.

Seems to me that you could just do this by setting stdin to be
/dev/null?

Have a nice day,
--
Martijn van Oosterhout   <kleptog@svana.org>   http://svana.org/kleptog/
> From each according to his ability. To each according to his ability to litigate.

Re: small pg_dump RFE: new --no-prompt (password) option

От
Dave Cramer
Дата:
On 1-Dec-06, at 8:13 AM, Martijn van Oosterhout wrote:

> On Fri, Dec 01, 2006 at 07:46:59AM -0500, Dave Cramer wrote:
>>>
>> I'm forwarding this on behalf of Marc Hebert
>
> I saw it the first time.
Sorry about the double posting


>
>>> When we implemented this scripting in Java we faced one major issue:
>>> pg_dump may prompt for a password in a unpredictable way  
>>> (depending on
>>> the user misconfiguration). Taking care of this is surprisingly
>>> complex.  The suggested --no-prompt would make scripting pg_dump
>>> infinitely easier.  In case a password is needed, this option would
>>> simply fail and return immediatly with an appropriate error message.
>>> Or even better, with a well-defined return status.
>
> Seems to me that you could just do this by setting stdin to be
> /dev/null?
I think a well defined error message makes sense.
>
> Have a nice day,
> -- 
> Martijn van Oosterhout   <kleptog@svana.org>   http://svana.org/ 
> kleptog/
>> From each according to his ability. To each according to his  
>> ability to litigate.



Re: small pg_dump RFE: new --no-prompt (password) option

От
Csaba Nagy
Дата:
> > Seems to me that you could just do this by setting stdin to be
> > /dev/null?
> I think a well defined error message makes sense.

I would think the OP doesn't care that much about the message itself but
about the fact that the thing is left hanging and never returns. In the
presence of such a flag pg_dump should never try to prompt for a
password but fail immediately and exit.

Cheers,
Csaba.




Re: small pg_dump RFE: new --no-prompt (password) option

От
Tom Lane
Дата:
Martijn van Oosterhout <kleptog@svana.org> writes:
> Seems to me that you could just do this by setting stdin to be
> /dev/null?

No, because the simple_prompt code makes a point of reading from
/dev/tty.
        regards, tom lane


Re: small pg_dump RFE: new --no-prompt (password) option

От
Martijn van Oosterhout
Дата:
On Fri, Dec 01, 2006 at 10:37:07AM -0500, Tom Lane wrote:
> Martijn van Oosterhout <kleptog@svana.org> writes:
> > Seems to me that you could just do this by setting stdin to be
> > /dev/null?
>
> No, because the simple_prompt code makes a point of reading from
> /dev/tty.

Sure, but that would fail for any process which has detached from the
terminal. The backup is stdin, which you can also setup.

Admittedly, the OP may not be in a position to setup the environment in
such a way as to make it work, which means that such an option may be
worthwhile...

If it's going to be an option, I'd suggest something like --daemon-mode
since it's entirely possible other issues tmay come up later that might
need this kind of attention.

Have a nice day,
--
Martijn van Oosterhout   <kleptog@svana.org>   http://svana.org/kleptog/
> From each according to his ability. To each according to his ability to litigate.

Re: small pg_dump RFE: new --no-prompt (password) option

От
Alvaro Herrera
Дата:
Martijn van Oosterhout wrote:
> On Fri, Dec 01, 2006 at 10:37:07AM -0500, Tom Lane wrote:
> > Martijn van Oosterhout <kleptog@svana.org> writes:
> > > Seems to me that you could just do this by setting stdin to be
> > > /dev/null?
> > 
> > No, because the simple_prompt code makes a point of reading from
> > /dev/tty.
> 
> Sure, but that would fail for any process which has detached from the
> terminal. The backup is stdin, which you can also setup.
> 
> Admittedly, the OP may not be in a position to setup the environment in
> such a way as to make it work, which means that such an option may be
> worthwhile...
> 
> If it's going to be an option, I'd suggest something like --daemon-mode
> since it's entirely possible other issues tmay come up later that might
> need this kind of attention.

So did we get anywhere with this?  I'd propose something like
--non-interactive rather than --daemon-mode.  Was there a patch
submitted?

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


Re: small pg_dump RFE: new --no-prompt (password) option

От
Peter Eisentraut
Дата:
Alvaro Herrera wrote:
> So did we get anywhere with this?  I'd propose something like
> --non-interactive rather than --daemon-mode.  Was there a patch
> submitted?

With the enhanced connection string management, wouldn't it suffice to 
pass a (fake/empty) password to pg_dump on the command line?

-- 
Peter Eisentraut
http://developer.postgresql.org/~petere/