Graphing query results from within psql.

From: Aleksey Tsalolikhin <atsaloli(dot)tech(at)gmail(dot)com>
To: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Graphing query results from within psql.
Date: 2013-02-14 01:17:26
Message-ID: CA+jMWocQvcN+OmvtzceBcaKBfDaOT1rSiK6GZxSzB-oxSrRjLQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Below is an example of feeding query output to gnuplot without leaving
psql. I'd like to call it as "select graph(select * from example)", just
for fun. What do I need to learn to do that, please? Can I create a
function that uses "\o"? I think not, because a function runs server-side
and \o is a client side feature.

This is not a production issue, just learning, for fun.

# psql -U postgres
psql (8.4.15)
Type "help" for help.

postgres=# \t
Showing only tuples.
postgres=# \a
Output format is unaligned.
postgres=# \f ' '
Field separator is " ".
postgres=# select * from example;
1 1
2 2
3 3
4 4
postgres=# \o | /usr/bin/gnuplot
postgres=# select 'set title "My Graph"; set terminal dumb 78 24; set key
off; set ylabel "Time"; set xlabel "Servers";' || 'plot ''-'' with lines;'
; select * from example;
postgres=# \o

My Graph
Time
4
++----------+----------+-----------+----------+-----------+---------**
+ + + + + +
**** +
| **** |
3.5 ++ **** ++
| **** |
| **** |
3 ++ *** ++
| **** |
| **** |
2.5 ++ **** ++
| **** |
| **** |
2 ++ *** ++
| **** |
| **** |
1.5 ++ **** ++
| **** |
+ **** + + + + + +
1 **----------+----------+-----------+----------+-----------+---------++
1 1.5 2 2.5 3 3.5 4
Servers

postgres=#

Best,
Aleksey

--
CFEngine Trainings:
Los Angeles, Feb 25 - 28. http://cf3la.eventbrite.com
New Jersey, Apr 29 - May 2. http://cf3.eventbrite.com/

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Sergey Konoplev 2013-02-14 02:17:00 Re: Graphing query results from within psql.
Previous Message Jeff Janes 2013-02-14 01:01:06 trying to use CLUSTER