· 1 min read

"The PCI-Compliant Database" at PGConfSV

2 comments

· 2 min read

Don't Assume PostgreSQL is Slow

You can’t build a real-life system without caching.

That being said, it’s often the case that parts of the system you think are going to be slow aren’t. I’ve noticed a tendency to build out a huge stack of components (“we’ll have PostgreSQL, and Redis, and Celery, and Varnish, and…”) without actually measuring where the bottlenecks are.

Example:

14 comments

· 1 min read

ProTip: Digital Ocean, Please Don't Do This.

Digital Ocean, who I assume are very nice people and meant well, did a Hacktoberfest event in which people were encouraged to submit a pull request to any open source GitHub project. In exchange, “contributors” would get a t-shirt.

You can probably guess what happened:

sigmavirus24: Hey @digitalocean your October pull request event has done nothing

0 comments

· 2 min read

UUID vs BIGSERIAL for Primary Keys

SERIAL (32 bit integer) or BIGSERIAL (64 bit integer) are the first choice for most people for a synthetic primary key. They’re easy, they’re comprehensible, and they’re transaction-safe. The values that come out of them are, at least to start, manageable and human-scale. They can also provide an easy sortation on creation order.

They’re not perfect, though: If you

10 comments

· 1 min read

Beyond the B-Tree: GIST and GIN Indexes

I was honored to be invited to give a presentation at the Austin PostgreSQL Users’ Group Meetup, and the slides for my presentation Beyond the B-Tree are now available.

0 comments

· 1 min read

Django 1.8 and PostgreSQL at Djangocon 2015

My slides for Django 1.8 and PostgreSQL are available.

1 comment

· 1 min read

PostgreSQL and JSON: 2015

The slides from my talk at PGConf US 2015 are now available.

0 comments

· 1 min read

Logical Decoding and JSON Talks at FOSDEM

The slides for my talks on logical decoding and the state of the art in JSON are now available on-line.

0 comments

· 4 min read

When LIMIT attacks

One common source of query problems in PostgreSQL results an unexpectedly-bad query plan when a LIMIT clause is included in a query. The typical symptom is that PostgreSQL picks an index-based plan that actually takes much, much longer than if a different index, or no index at all, had been used.

Here’s an example. First, we create a simple

6 comments

· 1 min read

"Be Very Afraid: Backup and Disaster Planning" at PGConf.EU

Slides from my talk, Be Very Afraid: Backup and Disaster Planning, are now available.

5 comments