Re: Postgres and GnuPlot - Mailing list pgsql-general

From Ben
Subject Re: Postgres and GnuPlot
Date
Msg-id Pine.LNX.4.44.0505091024010.1144-100000@localhost.localdomain
Whole thread Raw
In response to Re: Postgres and GnuPlot  (Ben <bench@silentmedia.com>)
List pgsql-general
For the sake of the archives, I just found out that my problem was that:

echo -e "Content-type: image/png\n\n";

...actually throws in 3 newlines, not two. (Doh!) Fixing that means I now
have a CGI that generates gnuplots from postgres entirely in the pipeline,
withouut any annoying temp files. pl/R is certainly more powerful, but, as
far as I could tell, requires temp files.

On Mon, 9 May 2005, Ben wrote:

> Heh. Funny you should ask; I spent a fair amount of time yesterday
> doing precisely this.
>
> Here's my gnuplot file:
>
> set terminal png small color picsize 1000 400
> set style fill solid 1.0 border
> set title "Concurrent listeners"
> set xdata time
> set xlabel "Time"
> set ylabel "Cuncurrent Logged In Listeners"
> set format x "%Y/%m/%d\n%H:%M:%S"
> set timefmt "%s"
> plot "< echo \"select t-7*3600,c from stats_concurrent_listener_count
> (extract(epoch from '2004/12/13 20:00'::timestamp)::int,null);\" |
> psql -h plur -U greenroom gr-dev -t | sed 's/|//'" using 1:2 with boxes
>
> cat file | gnuplot > image.png works perfectly.
>
> The bitch of it is that I seem to be having a hard time running this
> as a cgi. I can't figure out. Not that this question has anything to
> do with postgres, but maybe somebody else can tell me where I'm going
> wrong? My CGI is:
>
>
> #!/bin/bash
>
> echo -e "Content-type: image/png\n\n";
> echo -e "set terminal png small color picsize 1000 400\nset style
> fill solid 1.0 border\nset title \"Concurrent listeners\"\nset xdata
> time\nset xlabel \"Time\"\nset ylabel \"Cuncurrent Logged In Listeners
> \"\nset format x \"%Y/%m/%d\\\n%H:%M:%S\"\nset timefmt \"%s\"\nplot
> \"< echo \\\"select t-7*3600,c from stats_concurrent_listener_count
> (extract(epoch from '2004/12/13 20:00'::timestamp)::int,null);\\\" | /
> usr/bin/psql -h plur -U greenroom gr-dev -t | sed 's/|//'\" using 1:2
> with boxes" | /usr/bin/gnuplot
>
> ...and it seems that when printing to stdout, it gives a truncated
> version of the file. When redirecting, it does not. Maybe that's not
> too surprising, if apache is looking for a null to see when stdout
> stops.... but I don't know how to get around that.
>
>
> On May 9, 2005, at 7:51 AM, Hrishikesh Deshmukh wrote:
>
> > Hi All,
> >
> > Has anybody tried using gnuplot to plot results from queries; there
> > are some suggestions given in PostgreSQL Developer's Handbook but i
> > have not any luck so far!
> > Any pointers as how to send results from queries straight to a simple
> > plotting utility (ex:gnuplot)!
> >
> > Thanks,
> > Hrishi
> >
> > ---------------------------(end of
> > broadcast)---------------------------
> > TIP 4: Don't 'kill -9' the postmaster
> >
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
>



pgsql-general by date:

Previous
From: "Jonathan Lam"
Date:
Subject: PostGreSQL -> SQL server
Next
From: "John D. Burger"
Date:
Subject: Re: Shorthand for foreign key indices