Graphing query results from within psql. - Mailing list pgsql-general

From Aleksey Tsalolikhin
Subject Graphing query results from within psql.
Date
Msg-id CA+jMWocQvcN+OmvtzceBcaKBfDaOT1rSiK6GZxSzB-oxSrRjLQ@mail.gmail.com
Whole thread Raw
Responses Re: Graphing query results from within psql.  (Sergey Konoplev <gray.ru@gmail.com>)
Re: Graphing query results from within psql.  (Ian Lawrence Barwick <barwick@gmail.com>)
List 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/

pgsql-general by date:

Previous
From: Jeff Janes
Date:
Subject: trying to use CLUSTER
Next
From: Sergey Konoplev
Date:
Subject: Re: Graphing query results from within psql.