On 8/3/06, John Sidney-Woollett <johnsw@xxxxxxxxxxxxx> wrote:
I'd say that the biggest benefit of pl/pgsql for postgres is that it is so close to Oracle's own procedural language. This makes the job of porting from Oracle to postgres *nearly* trivial.
while this is true, pl/pgsql has a lot of other advantages wrt other sp languages: * first class, non dynamic sql: cuts code, complexity and errors down 50% and increases security (or at least makes being secure easier) * unified error system: perl brings perl errors, java brings java errors, etc * cursors/refcursors: you can pass anonymous refcursors between pl/pgsql functions directly. of course, this can be emulated in dynamic plpgsql, but it is awkward and error prone. also, different cursor mechanisms bring huge flexiblity in tight syntax. * named parameters * and most of all, pl/pgsql makes programming fun. ok, this is entirely subjective and inconsequential, but it works for me. :-) merlin