Thread: How to get pgsql to echo commands in a command file

How to get pgsql to echo commands in a command file

From
Michael Moore
Date:
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

Re: How to get pgsql to echo commands in a command file

From
"David G. Johnston"
Date:
On Fri, Apr 22, 2016 at 3:50 PM, Michael Moore <michaeljmoore@gmail.com> 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.

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.​

Re: How to get pgsql to echo commands in a command file

From
Adrian Klaver
Date:
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



Re: How to get pgsql to echo commands in a command file

From
Michael Moore
Date:
<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>