IMHO we are trying to have a compiled language behave like an interpreted
language.
This is a bottom to top approach with no real future. Here is a proposal of
a top to bottom approach.
What we do in pgAdmin is that we store objects (functions, views and
triggers) in separate tables called Development tables.
The production objects (which you are talking about) are running safe
*without* modification. At any moment, it is possible to recompile the
development objects (functions, triggers and views modified by the user)
from development tables.
pgAdmin then checks dependencies a goes through a whole compilation process.
BUT ONLY AT USER REQUEST.
Who would honestly work on a production server? This is too dangerous in a
professional environment.
In a near future, we will offer the ability to store PostgreSQL objects on
separate servers (called code repository).
You will then be able to move objects from the development server to the
production servers. Think of replication.
Also, pgAdmin will include advanced team work features and code serialization.
pgAdmin is already an *old* product as we are working on exciting new things:
http://www.greatbridge.org/project/pgadmin/cvs/cvs.php/pgadmin/help/todo.html
Before downloading pgAdmin from CVS, read this:
http://www.greatbridge.org/project/pgadmin/cvs/cvs.php/binaries/readme.html
We are looking for feedback and help from the community.
Greetings from Jean-Michel POURE, Paris, France