Re: stdin/stdout mismatch for COPY and \copy
От | Bruce Momjian |
---|---|
Тема | Re: stdin/stdout mismatch for COPY and \copy |
Дата | |
Msg-id | 200404091811.i39IBK105518@candle.pha.pa.us обсуждение исходный текст |
Ответ на | Re: stdin/stdout mismatch for COPY and \copy (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: stdin/stdout mismatch for COPY and \copy
|
Список | pgsql-hackers |
Tom Lane wrote: > Bruce Momjian <pgman@candle.pha.pa.us> writes: > > I think the biggest problem is that stdin/stdout in COPY is different > > from \copy. I propose we make stdin/stdout consistent for COPY and > > \copy, where stdin always reads from command input, and stdout always > > writes to command output. This does break backward compatibility of > > \copy for stdin/stdout; this change would have to be mentioned in the > > release notes. COPY is unaffected. > > > I propose we add 'pstdin', and 'pstdout' to read from psql's stdin and > > stdout. I think that will greatly simplify our documentation, and > > clarify the stdin/stdout usage in all cases. > > What is "command output" and how does that differ from stdout? > > I see the need to distinguish command input from psql stdin, since psql > may be reading the command from a file, but I don't see where there's > a stdout difference. > > "pstdin" seems a bit contrived; I'm just as happy with using "-" as > the existing patch did. I'm fine with swapping the meanings to bring > \copy into line with COPY, though. pstdout can be illustrated by this:$ sql -f /tmp/x testDROP TABLECREATE TABLEINSERT 17225 11$ sql -f /tmp/x -o /tmp/y test1 where /tmp/x is:DROP TABLE test;CREATE TABLE test (x int);INSERT INTO test VALUES (1);\copy test to stdout In this case, stdout is going to psql's stdout, not to the command stdout. The reason I didn't like '-' is that it is used mostly in Unix as synonym for stdin, and in this case it isn't a synonym --- it actually has different behavior. Using '-' which is a synonym for stdin causes confusion. I thought pstdin/pstdout were very clear in helping folks remember how it is different from stdin/stdout. Certainly it is contrived. Do you like appstdin and appstdout better, or psqlstdin and psqlstdout? -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania19073
В списке pgsql-hackers по дате отправления: