Re: psql client quits after 1st command

Поиск
Список
Период
Сортировка
От Douglas McNaught
Тема Re: psql client quits after 1st command
Дата
Msg-id 87zm6vochi.fsf@suzuka.mcnaught.org
обсуждение исходный текст
Ответ на psql client quits after 1st command  (Vincenzo Romano <vincenzo.romano@gmail.com>)
Ответы Re: psql client quits after 1st command
Список pgsql-general
Vincenzo Romano <vincenzo.romano@gmail.com> writes:

> Hi all.
>
> Under Linux I'm trying to communicate to an instance of the psql client
> running in the background through a couple of named pipes.
> I'd like to do something like this:
>
> $ mkfifo /tmp/pg_ipipe /tmp/pg_opipe
> $ psql -d testdb -U testuser < /tmp/pg_ipipe > /tmp/pg_opipe &
> ...
> $ echo "\t" > /tmp/pg_ipipe
> $ echo "select count(*) from test_table;" > /tmp/pg_ipipe
> $ read COUNT < /tmp/pg_opipe
>
> The psql client connects to the DB abd waits for the first commad coming from
> the "pg_ipipe" and executes it. Fine.
> The problem is that it quits soon after instead of waiting for the second (and
> any subsequent) command, as we all see in the usual command line usage.
> I've also tried to add a "--file -" with no luck.
> It seems that when the psql is getting the input from a named pipe acts as if
> the "--command" option were active.
>
> I'm sure I'm missing something. But don't know what.
> Is there any hint?

psql gets an EOF on the named pipe when the first shell command
exits.  You need to batch all your commands and send them in one shell
command, so it keeps the pipe open until it's done.

-Doug

В списке pgsql-general по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: pg_dump, serial
Следующее
От: Scott Ribe
Дата:
Сообщение: Re: PostgreSQL primary (sequence) key issue (Ruby/Rails)