If we are going to require at least PostgreSQL 9.1 or higher, I think it would make a fair bit of sense to break apart the db schema into PostgreSQL extension format. This gives us a bunch of things including versioning, an ability to write upgrade scripts from one version to another, and simpler. Also the schema of a database on restore would come from the LedgerSMB files installed, not from the database. The data of course would be backed up properly.
The extension format is actually really nice.
The advantages will be:
1) error message reduction on update
2) an ability to spinoff components when we are really happy with them so they can be independently published for other software to use as well (this would encourage additional input from other software projects, and better interop.
3) dependency tracking
I don't think we want to spin these off right away, nor do we necessarily want to stop shipping a relatively monolithic package. But the ability to publish our work and be the basis of other projects down the road may bring many more options for us.
What does everyone else think?