Re: Using native win32 psql.exe using alternative cygwin terminal

From: "Bill Bartlett" <bbartlett(at)meridianemr(dot)com>
To: <pgsql-general(at)postgresql(dot)org>
Subject: Re: Using native win32 psql.exe using alternative cygwin terminal
Date: 2005-11-04 20:42:20
Message-ID: 037401c5e180$42583e30$1e00a8c0@bartletthome.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I hit this exact same problem, and my initial reaction was the same as
yours -- psql was "hanging". After much head-banging, I discovered that
it is not in fact hanging, but is instead getting confused by being run
from inside Putty, Cygwin, xterm, rxvt terminal, etc. Because psql is
not being run from a native Win32 console window, it puts itself into
non-interactive mode, so it shows no prompts, allows no line editing,
shows no command history, etc. But it is actually running. (And I
couldn't find any combination of TERM settings, security settings or any
other settings that would get around this.)

Unfortunately, at the moment there is no command-line flag to force psql
into "interactive" mode. I have the code (courtesy of Bruce Momjian) to
add a flag such as this, but I haven't had time to set up the
environment to actually recompile psql.

Alternatively, you can run Cygwin's version of psql against the native
Win32 PostgreSQL 8 database, assuming you install the base Cygwin
environment. This does work fine, and gives you the added benefit of
including "readline" support (something compiled out of the native Win32
version of psql), so tab-completion works even in the Windows
environment. Two caveats, however:

1) You can't install _just_ psql from the Cygwin setup -- you'll have to
install the complete PostgreSQL environment (database and all), then
copy just the psql-related files (psql.exe and pq.dll) to your
workstation. (So be sure to NOT install this on your main PostgreSQL
server -- no telling what will happen when the Cygwin version of the
PostgreSQL server tries to run at the same time as the native Win32
version already on there.)

2) The latest "release" version of PostgreSQL for Cygwin is v7.4.5.
There is v8.x code available in CVS, but you'll have to compile it
yourself. I'm also planning on doing this too, but I haven't had the
time.

- Bill

Bill Bartlett
meridianEMR, Inc.
http://www.meridianemr.com/

> -----Original Message-----
> From: pgsql-general-owner(at)postgresql(dot)org
> [mailto:pgsql-general-owner(at)postgresql(dot)org] On Behalf Of
> Richard van den Berg
> Sent: Friday, November 04, 2005 5:51 AM
> To: pgsql-general(at)postgresql(dot)org
> Subject: [GENERAL] Using native win32 psql.exe using
> alternative cygwin terminal
>
>
> I just installed postgresql 8.1-rc1 on a Windows 2003
> machine. Since I like psql a lot, and hate the cmd.exe
> terminal, I use puttycyg instead.
>
> When I tried using psql.exe in a puttycyg terminal, after
> entering my password for the database, the screen just
> "hangs". When I do the same from a cygwin cmd.exe terminal,
> everything works. Another detail: the password using cmd.exe
> is hidden, using puttycyg it is shown.
>
> The exact same behaviour is shown when using the OpenSSH daemon (under
> cygwin) and logging in to it from remote (putty client or
> OpenSSH client).
>
> It looks like there is a problem with the interactive mode.
> When I run:
>
> psql -d postgres -c 'select * from pg_tables limit 1;'
>
> the output is shown just fine. I tried different TERM
> settings, but they made no difference.
>
> Is there something I can do to make this combination work?
> I'd gladly do more tests..
>
> Sincerely,
>
> --
> Richard van den Berg, CISSP
> -------------------------------------------
> Trust Factory B.V. | www.dna-portal.net
> Bazarstraat 44a | www.trust-factory.com
> 2518AK The Hague | Phone: +31 70 3620684
> The Netherlands | Fax : +31 70 3603009
> -------------------------------------------
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 1: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo(at)postgresql(dot)org
> so that your
> message can get through to the mailing list cleanly
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Marc Boucher 2005-11-04 21:49:38 Re: Changing ids conflicting with serial values?
Previous Message David Gagnon 2005-11-04 20:07:43 Re: pl/pgsql list as parameter.