Well, I just ran into what I consider a major roadblock or maybe a fork in the road. I really want to move to using PostgreSQL exclusively, dropping MySQL. But WordPress is basically being written for MySQL excluding all other databases. This means I either have to give up on using PostgreSQL exclusively or give up using WordPress. And so the pondering proceeds.
I guess I have to examine why I want to go to PostgreSQL exclusively and the corollary that WordPress can be replaced by something else. Gonna start with the advantages and disadvantages of both PostgreSQL and MySQL.
MySQL is the simple solution. It is well supported by everything I want to use including WordPress and Drupal. It has a large development community despite its recent passing of hands first to Sun and now to Oracle. I have been using it for a long time (long enough I can’t remember how long, sometime before 2000). I know how to use it, configure it, optimize it. I can write its own form of SQL without much need to refer to the MySQL documentation. A lot of my old php code is written specifically for MySQL although my personal php framework is now written using PDO so I have some abstraction going there. With the latest versions of MySQL, it has finally reached a level of ACIDity that I want, transactions etc.
On the other hand, MySQL is now owned by Oracle. I really don’t like the direction they have already taken it, making the community version almost impossible to find on their website. The Developer Zone has been buried. This puts a serious black cloud over MySQL future as an open source project in my opinion.
MySQL always felt lacking in some way. It still doesn’t have some features I would like it to have. Although it is getting closer to standard based SQL, it has a ways to go in some areas. There are little niggly things that make me look elsewhere. In other words, I am just uneasy about MySQL and am looking for an excuse to get away from it. If I stick with MySQL, something like MariaDB or Drizzle to me is almost more appealing to get away from Oracle’s heavy hand. Both MariaDB and Drizzle are based on or forked from MySQL. Drizzle is doing some interesting things going off in their own direction whereas MariaDB looks to be more compatible.
PostgreSQL is one of those databases I have wanted to use instead of MySQL ever since I started using MySQL, especially since MySQL didn’t support transactions. But at that time it was (or was perceived as) more difficult to configure and maintain. It certainly has different ways of doing things and generally seems to be more complex but that is because it has more capabilities. Documentation for PostgreSQL sometimes feels like it is written for people who already know what they are doing just needing handy reminders and not for people unfamiliar with PostgreSQL at all.
Now that I am using PostgreSQL, I see it wasn’t at all as difficult as I thought but I still haven’t learned enough to feel comfortable with everything. Using phppgadmin has made things a bit easier although the command line tools give me more capability. PostgreSQL certainly has a lot more layers to work with such as schemas, triggers, and views (real ones unlike what MySQL has). And of course, it has its own way of doing SQL at times although much closer to the standards than MySQL. Ironically, although I know a lot less about PostgreSQL I already feel more comfortable about using it than I do MySQL.
I haven’t done a lot of testing with regards to performance and resource use. I am not as concerned about performance as I am about resource use. My initial tests seem to indicate that PostgreSQL uses less RAM to do the same thing despite the fact it actually can do a lot more. But that may change as I use it more.
I will continue this discussion in part 2 as I look at WordPress and make a decision to keep using it and MySQL or switch to some other blogging software that will use PostgreSQL.
- Its one of those days
- What about Joomla?