2ndQuadrant Press

Read Blogs

Technical Blog
This week’s flame war on the pgsql-performance list once again revolves around the fact that PostgreSQL doesn’t have the traditional hint syntax available in other databases. There are a mix of technical and pragmatic reasons behind why that is: Introducing hints is a common source of later problems, because fixing a query place once in a special case isn’t a very robust approach. As your data set...
Technical Blog
One of the ugly parts of Linux with PostgreSQL is that the OS will happily cache up to around 5% of memory before getting aggressive about writing it out. I’ve just updated a long list of pgbench runs showing how badly that can turn out, even on a server with a modest 16GB of RAM. Note that I am intentionally trying to introduce the bad situation here, so this is not typical performance. The...
Technical Blog
One of the more useful bits of PostgreSQL documentation I ever worked on is Tuning Your PostgreSQL Server. When that was written in the summer of 2008, a few months after the release of PostgreSQL 8.3, it was hard to find any similar guide that was both (relatively) concise and current. Since then, myself and many other PostgreSQL contributors have helped keep that document up to date as changes...
Technical Blog
For a long time, adding packages to RedHat derived Linux systems has been called “RPM Hell”, for good reason. Particularly before the yum utility came about to help, getting RPM to do the right thing has often been a troublesome task. I was reminded of this again today, while trying to compile a PostgreSQL extension on two nearly identical CentOS systems. PostgreSQL provides an API named PGXS that...
Technical Blog
I maintain a number of project whose purpose in life is to make testing portions of PostgreSQL easier. All of these got a decent upgrade over this last week. stream-scaling tests how memory speed increases on servers as more cores are brought into play. It’s fascinating data, enough of it there to start seeing some real trends. It now works correctly on systems with large amounts of CPU cache...
Technical Blog
As the PostgreSQL Elephant continues its march toward yet another release, I’ve been thinking quite a bit about the role users of software should have in its user interface design. Today I proposed something that makes a database parameter people used to have to worry about, and that wasn’t obvious at all how to set, and makes its value largely automatic. That’s a pretty unambiguous forward change...
Technical Blog
When PostgreSQL 9.0 shipped a few months ago, it included several new replication features. It’s obvious that you can use these features to build clusters of servers for both high availability and read query scaling purposes. What hasn’t been so obvious is how to manage that cluster easily. Getting a number of nodes installed and synchronized with their master isn’t that difficult. But while the...
Technical Blog
PostgreSQL development is now done with periodic pauses to review and commit patches that have been submitted, called Commit Fests. The patches themselves are stored on a custom web app, and documentation about the process is on the PostgreSQL wiki. I’m returning to the role of CommitFest manager for this one, which means I get to harass people all month trying to get patch review finished. There...
Technical Blog
My tour this week of the PostgreSQL West conference has taught me that you can deliver three talks in two days, or you can have fun seeing other people’s talks, but it’s rather difficult to do both. You can also find the slides from Hannu’s talk on Django/Python database calls, which unfortunately he was too ill to deliver in person. Out of the limited number of other presentations I did see, the...
Technical Blog
Since I’ve already pushed my book here once on my blog this week, this version will be short and include two chunks of free (as in beer) content for you. My book covering PostgreSQL performance, from versions 8.1 to 9.0, is now available. Downloads of the 468 page e-book text are available immediately from Packt Publishing. Publication of the associated code samples and shipping of printed copies...