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 > ---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match