Обсуждение: Writing output to a file
I am coming from Oracle & mySQL. In Oracle I can use
spool foo.txt
<SQL>
spool off
After this the file foo.txt shows everything the screen showed. If I had echo on it will show the command and results. If I turn on timing it shows there too.
With mySQL similarly I can use tee foo.txt and notee;
I have used \o foo.txt and it seems to write significantly less than what I see on the screen. Has anyone had experience with this?
--
The Gordons
TheGordonEmail@gmail.com
chrisgordon@truman.edu
spool foo.txt
<SQL>
spool off
After this the file foo.txt shows everything the screen showed. If I had echo on it will show the command and results. If I turn on timing it shows there too.
With mySQL similarly I can use tee foo.txt and notee;
I have used \o foo.txt and it seems to write significantly less than what I see on the screen. Has anyone had experience with this?
--
The Gordons
TheGordonEmail@gmail.com
chrisgordon@truman.edu
Chris Gordon wrote: > I have used \o foo.txt and it seems to write significantly less than what I > see on the screen. Has anyone had experience with this? That's by design - it just shows results by default. I think you want to capture STDOUT/ERR rather like this: $ psql --echo-all -Urichardh richardh < test.sql > res.sql 2>&1 $ cat test.sql \qecho hello world \timing SELECT * FROM nametest; \d nametest $ cat res.sql \qecho hello world hello world \timing Timing is on. SELECT * FROM nametest; first | last | extra -------+------+------- (0 rows) Time: 5.526 ms \d nametest Table "public.nametest" Column | Type | Modifiers --------+-----------------------+----------- first | character varying(32) | last | character varying(32) | extra | character varying(32) | That any help? -- Richard Huxton Archonet Ltd