Re: new GUC var: autovacuum_process_all_tables - Mailing list pgsql-hackers

From Greg Stark
Subject Re: new GUC var: autovacuum_process_all_tables
Date
Msg-id 4136ffa0902051607w3060efdv2d80b1136b57acb0@mail.gmail.com
Whole thread Raw
In response to Re: new GUC var: autovacuum_process_all_tables  (Simon Riggs <simon@2ndQuadrant.com>)
Responses Re: new GUC var: autovacuum_process_all_tables
List pgsql-hackers
On Thu, Feb 5, 2009 at 11:57 PM, Simon Riggs <simon@2ndquadrant.com> wrote:
>
> Writing an application maintenance utility in PL/pgSQL is much better
> than having to write it for all the different servers an application may
> need to run on.

Welcome to the suction effect. If your scheduler is in the database
then you're stuck with the interfaces the database provides. When you
use those interfaces you're going to be stuck with whatever tools work
with them. Imagine trying to compose MIME email in plpgsql or do dns
lookups or interface with your C application code. Plpgsql is
singularly unsuited for anything other than database work. Yes we have
other languages but there are still relatively few and having them
running within a PL interface makes integrating with the rest of their
systems more awkward. And more dangerous -- consider what a simple
memory management bug can do if it's in a database backend instead of
a network client.

> We can't ignore that many people use Windows.

I think  that logic is backwards. People choose their development and
server environment based on what works best for them. It makes no
sense to engineer the system around the assumption that they don't
like developing using the best native tools. Our reimplementation of
the OS is always going to be second-rate by comparison and it's doing
nothing for them but imposing the disadvantages of the restrictions
being stuck in a database backend brings.

-- 
greg


pgsql-hackers by date:

Previous
From: Simon Riggs
Date:
Subject: Re: new GUC var: autovacuum_process_all_tables
Next
From: Robert Haas
Date:
Subject: Re: new GUC var: autovacuum_process_all_tables