Setting up gnucash to use postgesql back end - close but no cigar ...

John Ralls jralls at ceridwen.us
Mon Mar 9 19:31:02 EDT 2015


> On Mar 9, 2015, at 10:01 PM, Maf. King <maf at chilwell.net> wrote:
> 
> On Mon 9 March 15 05:28:33 YeOldHinnerk wrote:
>> Hi,
>> 
>> now, this answer made me curious, for a couple of reasons:
>> 
>> 1. At least the german GnuCash wiki FAQ does say that SQLite is intended for
>> home users:
>> http://wiki.gnucash.org/wiki/De/FAQ#F:_Gibt_es_eine_Datenbank-Anbindung.3F
>> 
> 
> Hi,
> 
> SQLite is a file format - no external server is needed.  AFAIK, gnucash with 
> SQLite or XML file storage results in the same logs and backups of the file.
> 
> MySQL or Postgres are external servers and backups are not automatic, nor are 
> these data store methods tested as completely as the file store back ends.
> 
> 
>> 2. I have several applications on my NAS (and in the past for testing
>> purposes also on my laptop), which use some SQL database like mysql.
>> Usually, there is hardly any admin work involved. I think the suggestion of
>> having to hire a professional database admin is far over the top. For many
>> purposes, the use of a DB in the background is quite simple. So should I
>> take this as a hint, that the integration of a DB in gnucash is not very far
>> yet and requires manual steps, which could be automated?
> 
> Yeah, I think John's scenario seemed a bit "worst case" IMHO.  Point taken 
> that this is financial data we're talking about, so more important to keep a 
> properly secured and administered DB than the usual home LAMP stack for 
> storing Catz and so on, but even so , a full-time DBA?
> 

Only XML does the versioned backup, because the whole file must be saved as one piece. SQLite3 is a real SQL database that happens to use a local file instead of a server and therefore requires no admin of the non-existant server. It saves each transaction as it happens and therefore there is no previous file to use as a backup. Consequently SQLite3 users are on their own when it comes to making backups. This is a non-problem on MacOS X as long as TimeMachine is enabled, but on other platforms it's up to the user to arrange for backups.

Hinnerk, those pre-configured database servers on Linux are there because someone with the requisite experience did the setup and packaged it for the NAS provider. There are similar installations used for various Linux services. All of the cases that I'm aware of are nicely self-contained and not especially critical for the casual user. I can't think of any that wouldn't have been better done with SQLite3 since there's no need for multiple users nor does the service generally span machines, but that's a separate issue. Yes, it's possible on Linux to tell the package manager to install MySQL or PostgresQL; one or the other might already be installed for some other purpose. Those installations make no allowances for setting up users, granting the requisite permissions, arranging for logging and backups, etc. One has the choice of either learning to do all of that stuff oneself or hiring someone to do it, and those with the requisite skills are not cheap. One can always hire someone without the requisite skills for substantially less money, but that carries rather more risk than I'd be willing to advocate to the general population.

Regards,
John Ralls





More information about the gnucash-user mailing list