Today I installed postgres. I've been using MySQL for several years now and have been generally happy with it. Lately, I've been looking lustily at such features as foreign key support and subselects -- things that MySQL is slowly beginning to think about maybe implementing possibly Real Soon Now. For once, I'm not going to be partisan about my software. To put it plainly, I need what I need. MySQL is still a great engine for read-only, infrequently changing data. Postgres promises to be better at supporting complex referential relationships between tables.
Postgres is not without failings.
These aren't showstopper problems; this is merely my travelog as I pass through the unknown country of a new RDBMS.
Why am I bothering? Apache::Session supports both MySQL and Postgresql. What's the difference? Apache::Session::MySQL locks the tables during updates. Apache::Session::Postgres uses transactions and no locking. I think the ideal solution is row-level locking. The MySQL solution quickly falls down in the application I'm developing because every web page paint requires accessing the session table.
Transactions aren't a silver bullet either. One process can be altering a row while another is reading and acting on the soon-to-be-changed data. For Apache::Session applications, this implies that two users would be trying to alter the same row (with the same session), which isn't suppose to happen except for extremely pathological cases. In any case, the application's performance will handled a bigger load with the table locking millstone.
Re:Alternatives
jjohn on 2002-08-06T02:36:38
First, thank you for the tip.
Saw that
/. item too. SAP doesn't look that enticing to me. It looks like an ailing product that wanted some opensource fairy dust sprinkled on it. I read a fair amount of the comments and looked around at the docs on the site.
- The code is a weird blend of pascal and C++. It uses a proprietary "transpiler" to compile the pascal into C. Jesus.
- It supports Perl through ODBC. Ick.
- Despite marketing hype, many users reported a fairly negative experience on install.
Postgres seems like a good fit for now. At some point, I'll bit the bullet and take the Oracle plunge. But, not until I have to.
This is a run time setting, in
There's good documentation on that in the postgresql manual somewhere.
It does kind of suck that you can't change the host based access from inside the database, but hopefully, it's not something you'll be changing too often anyway...
-Dom
That there needs to be any notification of the server at all seems suboptimal to me. I can't tell you how many times in the past few years I've been bitten by forgetting to do a FLUSH PRIVILEGES in MySQL after updating permissions.
Re:Auth changes
jjohn on 2002-08-06T15:36:52
I've been bitten by forgetting to do a FLUSH PRIVILEGES in MySQL after updating permissions
As have I. I believe that using the GRANT statement eliminates the need for a FLUSH or mysqladmin reload.
But, yes. It's annoying. Does Oracle handle this more gracefully?
Re:Auth changes
petdance on 2002-08-06T17:02:30
I'm pretty sure that GRANT does not force a flush. Maybe it does.