There is no relational database better than PostgreSQL, and I'll tell you all about why.

JSONB and PostgreSQL: Work Faster By Ditching Migrations
February 27 2016

Migrations are a simple mechanism whereby you script out some change commands for your ORM, and that ORM then builds your database for you. To me, this is pure insanity. I dislike ORMs (accept, of course, for LLBLGenPro, which is astoundingly good). Trusting your ORM to build a proper database is ... kind of weird to me. SQL is terser, more expressive and (as it turns out) just right for the job.

PostgreSQL Document API Part 4: Complex Queries
September 01 2015

Storing documents in PostgreSQL is a little easier, now that we have some solid save routines, a way to run Full Text searches, and some basic Find and Filter routines.

PostgreSQL Document API Part 3: Finding Things
August 25 2015

In parts 1 and 2 of this little series I showed various ways to save a document and then update its search field. I also showed how to do a Bulk Saves of many documents transactionally. In this post I'll explore options for running queries.

PostgreSQL Document API Part 2: Full Text Search and Bulk Save
August 22 2015

In part 1 of this series I setup a nice save function, as well as another function to create an opinionated document storage table on the fly. This works well and does what's needed, but we can do so much more. Specifically: I want Full Text Indexing on the fly and bulk saves within a transaction.

Designing a PostgreSQL Document API
August 20 2015

PostgreSQL as many know, supports JSON as a storage type and with the release of 9.4, Postgres now supports storing JSON as jsonb - a binary format.

Postgres for .NET Developers
March 24 2015

It occurred to me the other day when someone asked on Twitter if I ever tried to work with Postgres in .NET that I never blogged about a course I did for Pluralsight. This course was particularly fun for me: lots of SQL and the challenge of getting it to run well on .NET.

Membership In a Box with PG-Auth
March 17 2015

I mentioned in a previous post that I threw together some ideas one weekend on how to do membership completely within Postgres (users, roles, logs etc).

Bringing The Power of Postgres to NodeJS
March 13 2015

I'm building out an idea I have and, as you may have guessed from the last few blog posts I've written - I'm using Postgres to do it.

Document Storage Gymnastics with Postgres
March 01 2015

With the release of Postgres 9.4 came the additional datatype jsonb. This is binary JSON, the same type of thing that MongoDB uses for internal storage. Postgres has had the json data type for a while, but jsonb allows you to do something lovely: document indexing and specialized queries.

Embracing SQL In Postgres
February 24 2015

One thing that drives me absolutely over the cliff is how ORMs try so hard (and fail) to abstract the power and expressiveness of SQL. Before I write further let me say that Frans Bouma reminded me yesterday there's a difference between ORMs and the people that use them. They're just tools (the ORMs) - and I agree with that in the same way I agree that crappy fast food doesn't make people fat - it's the people that eat too much of it.

It's Time To Get Over That Stored Procedure Aversion You Have
February 21 2015

In the .NET world (and beyond), data access is a cluster-fucked echo chamber of half-assed rocket engineering and cargo cultism based on decade-old cathedralized thinking and corporate naval -gazing.

Inserting And Using A New Record In Postgres
February 09 2015

A Problem Postgres Can Solve Easily

Using Custom Types in Postgres
November 03 2014

Using Types For Fun and Profit

Pulling Documents From a Relational Query in Postgres
October 31 2014

JSON, JSONB and Postgres 9.4

A Better ID Generator For PostgreSQL
May 29 2014

The GUID Problem

PostgreSQL Rising
July 19 2012

Some buzz going around the web today about Most people don't understand why it's interesting - so here's a quick explanation.

Something Borrowed, Something New
March 08 2012

30 Seconds. Just 30 Seconds.

I always say - if you can't give me the pitch in a single sentence, in 30 seconds, your idea isn't worth what you think it is. So here's what I got for you:> PostGres will blow your mind; given its Enterprise features (Compression, partitioning, Full Text indexing, etc) , ease of use and configuration, and intelligent feature set - it's likely you'll want to use it tomorrow.