Thomas Munro <thomas.mu...@enterprisedb.com> writes: > On Wed, May 17, 2017 at 2:39 PM, Tom Lane <t...@sss.pgh.pa.us> wrote: >> Thanks for checking. So that's two major platforms where it works "as >> expected" already.
> Ah... the reason this is happening is that BSD-derived fread() > implementations return immediately if the EOF flag is set[1], but > others do not. Hah, good detective work. I tried this on the lone SysV-derived box I have (ancient HPUX), and did not see the problem, so that seems to confirm the comment you found that says this is a SysV-tradition vs BSD-tradition thing. >> If we're going >> to go out of our way to make it work, should we mention it in psql-ref? > I went looking for the place to put that and found that it already says: > For <literal>\copy ... from stdin</>, data rows are read from the same > source that issued the command, continuing until <literal>\.</literal> > is read or the stream reaches <acronym>EOF</>. Yeah, it seems like that's clear enough already; I don't feel a need to complicate it. Another thing that would be nice is a regression test, but I don't see any way to do that in our standard test environments. I could imagine building a test rig that fires up psql through a PTY, but making it portable is a daunting prospect, and probably not worth the trouble. > Here's a version incorporating your other suggestions and a comment to > explain. I editorialized on the comment a bit and pushed it. Thanks for the report and patch! regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers