« Older Posts


PG Phriday: 10 Ways to Ruin Performance: In The Loop

June 26th, 2015 | Published in Database, Tech Talk | No Comments


As a database, PGDB (PostgreSQL) is fairly standard in its use of SQL. Developers of all colors however, might have trouble switching gears and thinking in set operations, since so many language constructs focus on conditionals and looping. Last week in the performance pitfalls series, [intlink id='pg-phriday-10-ways-to-ruin-performance-functionally-bankrupt']we discussed[/intlink] a bit of Set Theory, and how ignorance of its implications can be disastrous. But what about the more mundane?

What happens, for instance, when we treat a database like a programming language?


Tags: , , , ,

PGCon 2015 Unconference: A Community

June 23rd, 2015 | Published in Database, Tech Talk | No Comments


Well, I’ve returned from PGCon 2015 in Canada, and after a couple days to decompress, it’s time to share. I wrote about the [intlink id='pgcon-2014-unconference-a-community']PGCon 2014 unconference[/intlink] after returning to Chicago last year, so I felt it was only fitting that I start there. I feel as strongly now as I did a year ago, that directly interacting with the PostgreSQL maintainers at this level helps the community thrive. Even though PGCon is generally a more developer-focused conference, being able to brainstorm with the bigwigs, even if nothing comes of it, means the ideas have been given a fair shake.


Tags: , , , ,

PG Phriday: 10 Ways to Ruin Performance: Functionally Bankrupt

June 19th, 2015 | Published in Database, Tech Talk | 2 Comments


Functions are great. Having cut my teeth on a database that didn’t even provide the ability to define functions, I’ve come to almost take them for granted in PGDB (PostgreSQL). However, with this kind of ubiquity, sometimes they can be overused in ways that don’t seem to be part of the common programmer lexicon. In this week’s PG Phriday series on performance-killing missteps, I’m going to talk a bit about set theory, and how a certain amount of familiarity is necessary to properly interact with a database.


Tags: , , , ,

PG Phriday: 10 Ways to Ruin Performance: Out Of Order

June 12th, 2015 | Published in Database, Tech Talk | 1 Comment


There are a lot of database engines out there. As such, a developer or DBA will naturally have varying levels of experience with each, and some of this might conflict with how PGDB (PostgreSQL) operates. These kinds of embedded misunderstandings can cause potential issues by themselves, but in this particular case, corrective action is fairly simple.

So this week, I’d like to talk about indexes. Many people treat them as a “make query faster” button, and this often results in egregious misuse. Indexes take space, require CPU resources to maintain, and bring overhead that adversely affects INSERT and UPDATE performance. Most know these drawbacks and generally acknowledge that too many indexes can be detrimental. However, with some databases, even column order can make a drastic difference. PGDB is among these.


Tags: , , , ,

Review: Learning Heroku Postgres

June 6th, 2015 | Published in Book, Review | No Comments


I recently got the opportunity to take a look at Learning Heroku Postgres, a new book by Patrick Espake that seems intended to help new PostgreSQL database administrators get their data into the cloud. The chapters are short, concise, and the questionnaires at the end are a nice touch. But do they hit the mark? Almost.

Before I get too far into this review, I should point out that Heroku is a proprietary service that presents a modular deployment system for various programming languages, applications, administration, monitoring, and other related services. Though there are free hobby-level instances for most modules, it is a commercial platform which provides SAAS (Software as a Service) across multiple geographic locations. In order to leverage it properly, I recommend these hobby-level instances only for experimentation.


Tags: , , ,

« Older Posts