Hi, Bruce,
I've only just picked up the thread on optimizations (I get the digest for
the pgsql-sql list). I really feel that a lot of effort could be saved with
some good benefits if a stored proc mechanism is put into place. Once that
has been done, it can be used to store temporary plans (procedures) for
ad-hoc queries which are released on the termination of the connection.
However, I think that a lot of users will develop stored procs to replace a
lot of their existing common SQL, in order to (partially) optimize their
systems. Perhaps in the PREPARE statement we could add a facility to allow
the user to specify the TTL of the cached proc for an ad-hoc query.
When I talk about stored procs, I don't mean functions. We already have
those. I mean procedures that are able to return a rowset. Just to make
sure nobody gets the wrong idea.
And it's another feature on the marketing list. I know that marketing is
definitely not what drives the developers, but there are some of us who are
really pushing for PostgreSQL to be used in production systems, and when
comparisons are done, stored procs is a biggy, even though I'm sure that
most of the people who ask the question are not even really sure what a
stored proc is. They just like to use it in order to perform feature
comparison.
However, in a system that uses stored procs, of course, conversion to PG is
out, because we just don't have them. Remember that from a design position,
there is an argument that all data should be accessed through stored procs
(except very ad-hoc stuff), in order to abstract the implementation a
further level. Whether or not this works, or whether it's desirable in a
design is another question which I'm not attempting to answer. However,
there are a lot of systems out there that have them.
Thoughts...
Also, has anything happened about the idea to get PG to cluster (somebody
mentioned Beowulf)?
--------------------------------------------------------------------
Science is the game we play with God to find out what his rules are.
--------------------------------------------------------------------
[(LI)U]NIX IS user friendly; it's just picky about who its friends are.