Thread: How to get pgsql to echo commands in a command file
I log into pgsql and then type:
\i test.sql
test.sql contains a single SELECT command and when I run that file I see the result of the select command.. The problem is, I also want to see the SELECT command itself.
I've tried
/echo
/qecho
and a lot of other commands, but nothing works.
What do I need to do in order to see the commands in test.sql as well as the output of those commands on my pgsql window?
I'm running on Windows 7 if that matters.
TIA,
Mike
I log into pgsql and then type:\i test.sqltest.sql contains a single SELECT command and when I run that file I see the result of the select command.. The problem is, I also want to see the SELECT command itself.I've tried/echo/qechoand a lot of other commands, but nothing works.What do I need to do in order to see the commands in test.sql as well as the output of those commands on my pgsql window?
\set ECHO all
The \echo and \qecho commands commands only echo their arguments - they do not effect the environment. You have to use "\set" or "\pset" (and some other commands) if you want to affect the environment of subsequent statements.
Or just invoke psql as "psql --echo-all" - optionally specifying the file "psql --echo-all -f test.sql"
The documentation is quite good, if a bit long.
I'm running on Windows 7 if that matters.
That would explain the forward slashes...
David J.
On 04/22/2016 03:50 PM, Michael Moore wrote: > I log into pgsql and then type: > \i test.sql > > test.sql contains a single SELECT command and when I run that file I see > the result of the select command.. The problem is, I also want to see > the SELECT command itself. > > I've tried > /echo > /qecho > and a lot of other commands, but nothing works. http://www.postgresql.org/docs/9.5/interactive/app-psql.html " ECHO If set to all, all nonempty input lines are printed to standard output as they are read. (This does not apply to lines read interactively.) To select this behavior on program start-up, use the switch -a. If set to queries, psql prints each query to standard output as it is sent to the server. The switch for this is -e. If set to errors, then only failed queries are displayed on standard error output. The switch for this is -b. If unset, or if set to none (or any other value than those above) then no queries are displayed. " aklaver@panda:~> cat psql_test.sql select * from a ; aklaver@panda:~> psql -a -d test -U postgres -h localhost psql (9.4.6) SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off) Type "help" for help. test=# \i psql_test.sql select * from a ; id | v1 | v2 | v3 ----+----+----+---- 1 | 2 | 3 | 4 2 | 2 | 3 | 4 (2 rows) > > What do I need to do in order to see the commands in test.sql as well as > the output of those commands on my pgsql window? > > I'm running on Windows 7 if that matters. > > TIA, > Mike -- Adrian Klaver adrian.klaver@aklaver.com
<div dir="ltr">Thanks guys!</div><div class="gmail_extra"><br /><div class="gmail_quote">On Fri, Apr 22, 2016 at 3:58 PM,Adrian Klaver <span dir="ltr"><<a href="mailto:adrian.klaver@aklaver.com" target="_blank">adrian.klaver@aklaver.com</a>></span>wrote:<br /><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px#ccc solid;padding-left:1ex"><span class="">On 04/22/2016 03:50 PM, Michael Moore wrote:<br /><blockquoteclass="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> I log into pgsqland then type:<br /> \i test.sql<br /><br /> test.sql contains a single SELECT command and when I run that file I see<br/> the result of the select command.. The problem is, I also want to see<br /> the SELECT command itself.<br /><br/> I've tried<br /> /echo<br /> /qecho<br /> and a lot of other commands, but nothing works.<br /></blockquote><br /></span><ahref="http://www.postgresql.org/docs/9.5/interactive/app-psql.html" rel="noreferrer" target="_blank">http://www.postgresql.org/docs/9.5/interactive/app-psql.html</a><br/> "<br /> ECHO<br /><br /> If setto all, all nonempty input lines are printed to standard output as they are read. (This does not apply to lines read interactively.)To select this behavior on program start-up, use the switch -a. If set to queries, psql prints each queryto standard output as it is sent to the server. The switch for this is -e. If set to errors, then only failed queriesare displayed on standard error output. The switch for this is -b. If unset, or if set to none (or any other valuethan those above) then no queries are displayed.<br /> "<br /><br /><br /> aklaver@panda:~> cat psql_test.sql<br/> select * from a ;<br /><br /> aklaver@panda:~> psql -a -d test -U postgres -h localhost<br /> psql(9.4.6)<br /> SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)<br/> Type "help" for help.<br /><br /> test=# \i psql_test.sql<br /> select * from a ;<br /> id | v1 | v2 | v3<br />----+----+----+----<br /> 1 | 2 | 3 | 4<br /> 2 | 2 | 3 | 4<br /> (2 rows)<div class="HOEnZb"><div class="h5"><br/><br /><br /><br /><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br/> What do I need to do in order to see the commands in test.sql as well as<br /> the output ofthose commands on my pgsql window?<br /><br /> I'm running on Windows 7 if that matters.<br /><br /> TIA,<br /> Mike<br/></blockquote><br /><br /></div></div><span class="HOEnZb"><font color="#888888"> -- <br /> Adrian Klaver<br /><ahref="mailto:adrian.klaver@aklaver.com" target="_blank">adrian.klaver@aklaver.com</a><br /></font></span></blockquote></div><br/></div>