PostgreSQL

PostgreSQL

pgbadger

For years, the standard log analysis tool for PostgreSQL has been pgfouine (For those wondering, a “fouine” in French is a beech marten; as the saying goes, I am none the wiser, if somewhat better informed.) However, pgfouine seems to have stalled as a project; there haven’t been updates in a while, it requires a patch to work with

The Elements of postgresql.conf Style

… or, inexcusable things I am tired of seeing in postgresql.conf files.

PostgreSQL Performance When It’s Not Your Job

My presentation from SCALE 10x, “PostgreSQL Performance When It’s Not Your Job” is now available for download.

“Sharding & IDs at Instagram”

I’d like to recommend an interesting post, “Sharding & IDs at Instagram”, about sharding using Postgres.

Cleaning up after your Bucardo goats

If you are not familiar with it already, Bucardo is a nifty multi-master replication system for PostgreSQL, written by Greg Sabino Mullane. Written in Perl, it is great if you need replication that doesn’t have the restrictions associated with PG 9’s streaming replication.

To keep your Bucardo installation clean and tidy, a few regular cron jobs are

Transaction-Level Advisory Locks in PostgreSQL 9.1

Advisory locks are one of the cool unsung features of PostgreSQL. In 9.1, they are getting even cooler with transaction level locks. Many details here.

“10 Ways to Kill Performance”

The slides from my talk, “10 Easy Ways to Destroy Performance” from PgDay at SCALE 9X are available.

“10 Easy Ways to Destroy Performance” at pgDay at SCALE-9X

I’ll be presenting a talk on “10 Easy Ways to Destroy Performance” at pgDay at SCALE-9X, on February 25th in Los Angeles.

PostgreSQL for Servoy Developers

The slides from my presentation on PostgreSQL for Servoy Developers, presented at ServoyWorld 2011, are available here.

Waiting for psycopg2.3: NamedTuples

Christmas just came early for me. psycopg2.3, now in beta, includes named tuples as return values from queries.

If you are tired of writing result[4], and would much prefer to write result.column_name, you now can.

Yay!