Roomie meet my Mom

I read a story about a mother who moved into her daughter’s dorm room at college and just had to laugh. While my mother wasn’t anywhere near this bad, I do know mothers out there who I could see doing such things. I’ve also heard similar stories about parents who couldn’t let go once students leave home. I can see the point that they’re paying for the education and they should know what they’re paying for.

On the other hand you have students who view college as a soft launch into adulthood where they learn inventive ways to cook raman noodles and the precise number of classes you can skip and still get a decent grade in a class. I tend to lean in favor of the students. This isn’t a time for more parental involvement, but less. It’s a time for young adults to define who they are and parents to respect that.

Luckily my parents only cared that I was getting good grades and stayed out of jail for the most part. Things turned out just fine too. I made some mistakes, learned a few things both in and out of the class room, met my soon-to-be-wife and generally had more fun that I should have, but I graduated and have a decent paying job so I guess it’s all good. But, under no circumstances, would I have allowed my mom to live in my dorm room with me.

PostgreSQL vs. MySQL

WARNING: Geek related material follows.

I’ve been running MySQL ever since I started programming PHP (about 6 years) with very few complaints. It’s fast, supports most of the SQL you’d need to use and had great support in PHP. Lately I’ve found that I can’t ignore some of the features that MySQL lacks. Some of the lacking features in MySQL have been addressed with recent releases (ie. subselects and transactions). Some features are planned for the 5.0 release (4.0 just went “gold” about a year ago). Here is a simple list of my complaints with MySQL:

  1. MySQL “supports” transactions in its InnoDB tables, which is fine, except InnoDB tables do not support FULLTEXT keys. This means you either mix and match table types or live without FULLTEXT keys. I’m fairly sure that you can’t join InnoDB tables in a query that includes FULLTEXT syntax, but don’t quote me on that.
  2. MySQL doesn’t plan on supporting stored procedures or views until version 5.0.
  3. MySQL does not support object-relational features, such as table inheritence (a feature I really need and want).
  4. MySQL does not support constraints nor does it look like there are any plans to add such support.
  5. Stored procedures will show up in version 5.0.

A friend of mine recommended I check out PostgreSQL because of its support for many of the advanced features that MySQL does not support. I was instantly blown away by the simple fact that it supported object-relational features, specifically the much sought after table inheritence feature. The fact that PostgreSQL supports this along with views was enough to make me take another look.

Combine this with the upcoming release of PHP5 and the resulting need to rewrite my application framework and you have good reason to migrate database platforms. I’m currently in tentative testing of PostgreSQL and should have a final decision soon. For now it’s looking good that PGSQL will become my DB of choice. Once you move past simple SQL and into the realm of complex content management I’m not sure one can ignore the inadequacies of MySQL. Please post your input if you have any (don’t bother commenting on < 7.0 PGSQL as I’ve read the differences between those series are dramatic).