Re: BUG #10347: Can't write password to psql or pg_dump
От | Noah Misch |
---|---|
Тема | Re: BUG #10347: Can't write password to psql or pg_dump |
Дата | |
Msg-id | 20140531024227.GA248952@tornado.leadboat.com обсуждение исходный текст |
Ответ на | Re: BUG #10347: Can't write password to psql or pg_dump (Andres Freund <andres@2ndquadrant.com>) |
Список | pgsql-bugs |
On Sun, May 18, 2014 at 12:23:24PM +0200, Andres Freund wrote: > On 2014-05-16 20:34:09 +0000, derek_ealy@rapid7.com wrote: > > On Windows systems the psql or pg_dump process always hangs after sending > > the password to stdin of the process. > > > > I've gotten around this problem by setting an environment variable before > > exec'ing the process. I set OSTYPES=msys. This forces psql to use stdin when > > reading the password. > > I think the important point - and why I asked for a bugreport after > talking about it on irc - is that sprompt.c on windows uses > CONIN$/CONOUT$ for io. Ignoring stdin/stdout except when the OSTYPE is > set to msys. Given that CONIN$/OUT seem to refer to the shell that > started a processtree from a shell that doesn't seem to be optimal. That code is trying to mimic the non-Windows behavior, which is to interact with /dev/tty when available. Unfortunately, CONIN$/CONOUT$ are ~always nominally available, but they may not route to anything visible to the user. The OSTYPE test is a crude attempt to anticipate that problem. IsWindowVisible(GetConsoleWindow()) looked more reliable, but it still didn't cover everything: http://www.postgresql.org/message-id/flat/20121010110555.GA21405@tornado.leadboat.com -- Noah Misch EnterpriseDB http://www.enterprisedb.com
В списке pgsql-bugs по дате отправления: