Harder, Better, Faster, Stronger: New Features in Postgres 8.4
linux-mag.com
linux-mag.com
- Windowing Functions
- Common Table Expressions & Recursive Joins
- Default & Variadic parameters for functions
- Column Permissions
- Per-database locale settings
But do I like the Daft Punk title. :)With AutoVacuum enabled, and adding "VACUUM FULL" to the end of my nightly backup routine, I have found Postgresql to be really fast. MySQL has had some performance updates since I switched, but at the time Postgresql was performing better for me. I believe MySQL was at the first release of version 5. If there is a performance difference between Microsoft SQL and Postgresql, I'm not noticing it. I have a lot of experience with Microsoft SQL, and I can tell you that prefer Postgresql.
If the autovacuum process is run too infrequently, the space used by the tables grows larger and there are many gaps between used rows. In addition to filling up more disk space than necessary this reduces sequencial scan performance. In this case you should run a vacuum full which packs the table and relases the unused space to the operating system (think of file system defragmentation). Unfortunately this is quite slow and uses table locks so you should not do it on a production system.
[EDIT:] From the awesome postgres documentation:
http://www.postgresql.org/docs/current/static/routine-vacuum...
I considered using Slony replication the last time we were upgrading to copy data between the databases, but I figured it doesn't make much difference and did a dump/restore instead.
Upgrading mysql was a breeze.