where to store report info
Jonathan Ellis
jonathan at utahpython.org
Wed Dec 10 05:39:31 MST 2008
On Tue, Dec 9, 2008 at 5:50 PM, Kyle Waters <unum at unum5.org> wrote:
> I almost sent this to udbug but felt it was more of a general question.
> I have a database with lots of information in it, and find that I need to
> run a report the is going to take up to several minutes to run. It's ok if
> I only run this report once a day in the morning before everyone comes in.
> Now the question that perplexes me is how should I store this report. I
> think it would be good for it to be viewable as a web page by many people in
> the company, but one user will need to be able to download it as a csv file.
> So part of me wants to treat this like a materialized view. Though I don't
> want to do it all in pg/sql. Is that an acceptable solution? Grab
> information out of the database, process it and then stick it back into a
> table. Is there a better more acceptable way of doing this?
yes, but you can also write it in pl/python, pl/php, or pretty miuch
anything that stikes your fancy, and assign that function to a
trigger. (pl/python can import modules from the filesystem, too,
making it easier to re-use existing code. I imagine the other
languages can do the same.) using a trigger means your data will be
always consistent instead of waiting for a cron job or whatever.
also, one common use for replication is to copy stuff like this to a
separate server where people can run long-ass queries w/o affecting
the live db. Sounds like you don't need that yet but if you start to
get more reports like this, and I suspect you will, that's something
to keep in mind as an option.
-Jonathan
More information about the PLUG
mailing list