Get PostgreSQL installed as part of the distros

Derek Atkins warlord@MIT.EDU
21 Oct 2000 09:58:16 -0400


Alex Buell <> writes:

> Please, if anyone is going to use a DBMS with a given software package,
> then, at least, please build a back-end on the software package and
> provide interfaces such that one can simply use their favourite DBMS with
> it (for example, I would vastly prefer to use MySQL instead as I already
> use it for a lot of my work and would rather not duplicate things by
> installing yet another DBMS!)

Unfortunately it's not that easy.  Each DBMS requires an application
to be built against its own interface library, so we would either need
to have multiple interfaces coded in as compile-time options or we
would need dynamic interface libraries for each DB.  In either case,
the pre-built version of GnuCash would be difficult difficult to
build.  Most likely we would have to choose one "default" DB and build
a GnuCash RPM/deb package for that one DB.

Alternatively I suppose we could use ODBC, but unfortunately that
would limit our interface flexibility and/or speed.  This is because
ODBC does not let us directly access the database, and the additional
layer can cause access slowdowns.

It's a choice.  My personal preference would be to create a
"filestore" interface, choose one DBMS and code the filestore
interface to that specific package.  Then we code GnuCash to use the
filestore.  This enables multiple DBMS by just re-implementing the
filestore directly to the alternate DBs.  We gain the speed and
flexibility by directly accessing the database, but at the same time
we give ourselves the room to expand to other DBs if we so choose.

I think this allows us the most flexibility with the least startup
time.  The author to the original filestore will most likely choose a
particular DB, but people who want other DBs are more than welcome to
port the filestore interface over to their favorite DBMS package.


       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL:      PP-ASEL      N1NWH
       warlord@MIT.EDU                        PGP key available