Skip to content

Category Archives: postgres

Background reading: Locking (1970)

I’ve been reading some old papers about locking and MVCC in preparation for writing about MVCC in PostgreSQL, and for giving a talk at CouchCamp next week! I just finished “Locking“, by Jim Gray. He discusses on semaphores, and makes the argument for implementing a locking scheduler to handle errors and deadlocks (which he calls [...]

Explaining MVCC in Postgres: system defined columns

I’m playing around with some diagrams for explaining MVCC that I’ll be posting here over the next few days. Not sure if I’ll end up giving up on slides and just use a whiteboard for the talk. I made an illustrated shared buffers deck to go along with Greg Smith’s excellent talk on shared buffers [...]

Variable substitution with psql

Updated: Thanks @johto for s/:bar/:foo/. A coworker asked about variable substitution with psql using \set, and so I looked into it a bit further. You definitely can do things like this: 16:55 sdeckelmann@[local]:5432|postgres=> \set test ‘select * from :foo limit 10;’ 16:56 sdeckelmann@[local]:5432|postgres=> \set foo ‘test’ 16:56 sdeckelmann@[local]:5432|postgres=> :test myint ——- 1 2 3 4 [...]

Using logger with pg_standby

Piping logs to syslog is pretty useful for automating log rotation and forwarding lots of different logs to a central log server. To that end, the command-line utility ‘logger’ is nice for piping output from utilities like pg_standby without having to add syslogging code to the utility itself. Another thing is that logger comes by [...]

Online aggregation paper from 1997 and PSU’s database reading group

A couple weeks ago, Mark Wong and I took a field trip over to the Database Reading Group at Portland State University. It’s a group of students and professors that meet weekly throughout the school year to go over research papers. The papers are picked by the participants, and vary in topic from obscure to [...]

Customizing the RPMs from pgrpms.org

To pick up where Devrim left off in customizing RPMs, here are some more tips for getting your very own RPMs built: Create a VM with your favorite operating system (I’m using versions of CentOS). I need both 32-bit OS and 64-bit OS. This is much easier to manage with separate, local VMs. Install spectool [...]

Cluster Developer Meeting recap

UPDATE: See bottom of post. We held a PostgreSQL cluster developer meeting on Thursday, November 19, 2009 in Tokyo. About 25 people were in attendance, and seven projects presented status updates. Projects represented included pgCluster, PostgresForest, Postgres-R, Streaming Replication (slated to be included in core for version 8.5), Postgres-2 (not quite available), GridSQL, the Skype [...]

OpenSQLCamp was awesome!

Thanks to everyone who attended OpenSQLCamp this past weekend in Portland, OR! More than 100 people participated – developers, DBAs and hobbyists from all over the world. Database developers participated from PostgreSQL, MySQL, MariaDB, Drizzle, TokuDB, LucidDB, MongoDB, Cassandra, CouchDB and many more. The great thing about these events is the opportunity to trade ideas, [...]

Perl Mongers, Open SQL Camp and JPUG 10th anniversary coming up

I’ve got a busy couple of weeks in November: November 11, 2009 – I’m presenting Bucardo (a sweet replication system for Postgres) at the Portland Perl Mongers group, 7pm at Free Geek. November 13-14, 2009 – I’ll be helping run OpenSQL Camp with Eric Day here in Portland, OR. We’re having it at Souk, and [...]

GSoC Mentor Summit and the new mentor’s manual

I’ve been in San Jose since Wednesday, working on a book and preparing for today’s Google Summer of Code Mentor’s Summit. We’re here at Google’s campus, setting up the schedule and meeting new and old friends. A group of us – me, Jen, Alex, Bart, Jonathan, Leslie and Olly – worked with Adam Hyde from [...]