Aidan Van Dyk wrote: > I've had to use: > while (true); do cat pipe; done | psql > > The trick is that pipes "EOF"s everytime the cleint closes it. (Not > strictly true, but it appears that way to basic read()ers).
Ah! Yeah, I knew that and forgot :-) It's easier than that actually -- you just need to keep the pipe open in another process. So I can do this: first open a terminal with $ psql -f foo And then, in another terminal, $ cat > foo & [1] 29155 [1]+ Stopped cat >foo $ echo "begin;" > foo $ echo "create table a (a int);" > foo $ echo "insert into a values (1);" > foo $ echo "insert into a values (2);" > foo $ echo "insert into a values (3);" > foo $ echo "commit;" > foo $ echo "select * from a;" > foo $ kill %1 -bash: echo: write error: Appel système interrompu [1]+ Complété cat >foo And while this is going on, the other terminal shows the output being produced by psql. Thanks for the reminder :-) -- Alvaro Herrera http://www.CommandPrompt.com/ The PostgreSQL Company - Command Prompt, Inc. -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers