PGCon2009 - Final Release

PGCon 2009
The PostgreSQL Conference

Robert Brewer
Day Talks - first day - 2009-05-21
Room DMS 1150
Start time 13:30
Duration 01:00
ID 158
Event type Lecture
Track DBA
Language used for presentation English

Post Facto, version control for PostgreSQL

Post Facto is an open-source version control system for PostgreSQL databases. Unlike traditional VC tools, which operate on filesystems, Post Facto operates directly on databases, easing the management of multiple schema versions.

I. Intro

I'll begin with a review of schema-versioning methods I'm aware of, including where and why they fall short. Postfacto's interface has some similarities with Subversion, and I'll draw some comparisons to help guide people into the topic.

II. Demonstration

Here, I'll do a basic demo: create a db (or at least show its DDL), place it under version control, make some changes, commit, checkout a second copy.

III. Basic Architecture

  1. SQL code as VC deltas. I'll open up the repository that postfacto created for the demo, show the SQL it generated, and explain how that fits in the overall architecture with lots of oo-la-la diagrams.
  2. Repository design. This will cover the nuts and bolts of the repository database, plus the "working copy" DB and scratch DB's used to diff, merge, etc.
  3. Commands and Workflow. Here, I'll look over the complete command-line set and explain any outliers not covered in the above demo and discussion.

IV. Q & A