Blog Posts by

Parallel Sequential Scan for PostgreSQL 9.5
Mar 18, 2015
Amit Kapila and I have been working very hard to make parallel sequential scan ready to commit to PostgreSQL 9.5. It is not all there yet, but we are...
First Rule in Securing Postgres: Don’t Be Dumb
Feb 12, 2015
*/ A very popular standalone NoSQL database solution came under criticism about their security posture this week. It’s not the kind of publicity a...
Parallelism Update
Dec 22, 2014
It's been over a year since I last blogged about parallelism , so I think I'm past due for an update, especially because some exciting things are happening.
Memory Matters
Aug 6, 2014
Database performance and hardware selection are complicated topics, and a great deal has been written on that topic over the years by many very smart people, like Greg Smith, who wrote a whole book about PostgreSQL performance . In many cases, the answers to performance questions require deep understanding of software and hardware characteristics and careful study and planning.
Linux Disables vm.zone_reclaim_mode by Default
Jun 10, 2014
Last week, Linus Torvalds merged a Linux kernel commit from Mel Gorman disabling vm.zone_reclaim_mode by default . I mentioned that this change might...
Troubleshooting Database Corruption
May 13, 2014
When your database gets corrupted, one of the most important things to do is figure out why that happened , so that you can try to ensure that it doesn't happen again. After all, there's little point in going to a lot of trouble to restore a corrupt database from backup, or in attempting to repair the damage, if it's just going to get corrupted again. However, there are times when root cause analysis must take a back seat to getting your database back on line.
Why The Clock is Ticking for MongoDB
Apr 16, 2014
Last month, ZDNet published an interview with MongoDB CEO Max Schireson which took the position that the document databases, such as MongoDB, are...
Subtly Bad Things Linux May Be Doing To PostgreSQL
Apr 2, 2014
In addition to talking about PostgreSQL at LSF/MM and Collab , I also learned a few things about the Linux kernel that I had not known before, some of which could have implications for PostgreSQL performance. These are issues which I haven't heard discussed before in the PostgreSQL community, and they are somewhat subtle, so I thought it would be worth writing about them.
Back from LSF/MM and Collab
Mar 31, 2014
Last week, I attended the Linux Storage, Filesystems, and Memory Management summit ( LSF/MM ) on Monday and Tuesday, and the Linux Collaboration...
PostgreSQL Now Has Logical Decoding
Mar 18, 2014
A few weeks ago, Josh Berkus wrote a blog post on Why HStore2/jsonb is the most important patch of 9.4 . Everybody's going to have their own opinion on these kinds of questions, but for what it's worth, I think the most important new feature in 9.4 is going to turn out to be logical decoding, the result of a lot of hard work mostly by Andres Freund.
Write Scalability for UPDATE Operations
Mar 13, 2014
Yesterday, Heikki Linnakangas committed this patch: commit a3115f0d9ec1ac93b82156535dc00b10172a4fe7 Author: Heikki Linnakangas Date: Wed Mar 12 22:46:04 2014 +0200 Only WAL-log the modified portion in an UPDATE, if possible. When a row is updated, and the new tuple version is put on the same page as
Linux's fsync() woes are getting some attention
Mar 10, 2014
In two weeks, I'm headed to LSF/MM and the Linux Collaboration Summit , by invitation of some Linux kernel hackers, to discuss how the Linux kernel...
VACUUM FULL doesn't mean "VACUUM, but better"
Mar 4, 2014
There's a persistent belief among some users of PostgreSQL that VACUUM and VACUUM FULL do the same thing, but that VACUUM FULL does it better. If VACUUM is the moral equivalent of running the Dust Buster across the room a few times, VACUUM FULL must be the equivalent of hiring a professional cleaning crew to shampoo the carpets, and maybe repaint the walls as well. Unfortunately, this mental model is not accurate.
Parallelism Progress
Oct 17, 2013
For the last several months, I have been spending a large percentage of my time trying to bring parallelism to PostgreSQL. Previous blog posts on the...
Tuning shared_buffers and wal_buffers
Mar 15, 2012
I spend a lot of time answering questions about PostgreSQL, and one of the questions I get asked frequently is: how should I set shared_buffers? And...
Troubleshooting Stuck VACUUMs
Mar 1, 2011
Over the years, I've occasionally encountered situations where VACUUM fails to make progress, and not fully understood why that was happening...

Get Postgres Tips and Tricks

Subscribe to our newsletter to get advanced Postgres how-tos.