Minor PostgreSQL issues

Dean Gibson gnucash at ultimeth.com
Mon Aug 27 11:59:19 EDT 2012


On 2012-08-27 06:14, Derek Atkins wrote:
> Hi,
>
> Dean Gibson <gnucash at ultimeth.com> writes:
> ...
>> 2. If there are any other tables in OTHER SCHEMAS, a GnuCash save
>>     deletes them (ugh).
> I have no idea what you mean by "Other Schema" here.  You cannot share
> the gnucash database with other apps, and I don't know why you would try
> to put multiple applications into the same database.  (Again, I'm using
> MySQL terminology here).

There are LOTS of reasons to share the data.  That's the whole purpose 
of using a database -- to share the data and make it "extensible".  Eg, 
doing custom reports with complex filters, or other reporting and 
alerting functions.  In order to KEEP SEPARATE the DB data in one 
application from another, and still allow that sharing, SCHEMAs (been in 
the SQL standard for almost a decade) are used.  As a test before saving 
my GnuCash data to PostgreSQL, I created an empty DB with both a public 
SCHEMA and a separate named SCHEMA, and created a token TABLE within it 
the latter.  The initial save wiped the separate SCHEMA and everything 
within it.

Put bluntly, MySQL is a toy database, and has been for a decade.  It 
doesn't have SCHEMAs (as a distinct capability from DATABASE), and it 
didn't have VIEWs (a requirement for any serious DB use) until fairly 
recently.  MySQL's main claim to fame is that it's fast and simple.


>
>> 3. The name of the PostgreSQL database must be all lower case -- I
>>     couldn't find a way to specify/use a mixed case name.
> This is correct, and is done on purpose, because there are cases where
> databases automatically downcase the name and later mixed-case names
> cause problems.  As a result of bugs with allowing mixed case GnuCash
> will always downcase the database name.  Sorry.

Most databases downcase all names unless they are in double quotes. I do 
understand that the work required to preserve case in a consistent 
manner, may not be worth the effort.  However, (for example) phpBB (a 
message board system that stores messages in a DB) bit the bullet on 
this a number of years ago, and supports preserving DB names that are in 
double quotes (phpBB also supports SCHEMAs).


>
>> 4. It's slower to open than the XML-format files, and I believe I
>>     recall that the close is equally slow.  From this I got the
>>     impression that GnuCash did not make incremental changes to the DB,
>>     but did a complete wipe/save, but I may be wrong on this.
> This is where you are wrong.  GnuCash does indeed make incremental
> changes to the DB.

Good!  I'm glad to both be wrong (to clear up my misunderstanding), and 
that it does make immediate posts.

The only "deal-breaker" in my list of issues is the lack of SCHEMA 
support.  That's only a "deal-breaker" for using PostgreSQL as a backend 
store, not a "deal-breaker" for using GnuCash.  I'm perfectly content to 
use the compressed XML file format for the foreseeable future.

I see you are associated w/ MIT.  I applied to both MIT and CalTech (and 
Stanford), and was accepted at all three.  I went to CalTech, mainly 
because I happened to live in the same town (Pasadena), despite the fact 
that MIT offered me a partial scholarship.  That's not a dig at MIT;  I 
seriously considered MIT as well.



More information about the gnucash-user mailing list