Welcome to my blog where I ramble on about PostgreSQL and other random things…

Mimeo - Incremental Replication

Continuing from my introductory post to mimeo, I’ll now discuss one of the methods that’s more unique to this replication tool. If a table happens to have a timestamp column that is set on every insert or update of a row, the incremental replication methods can be used. This simply uses that column to track where in the replication process it left off each time it is run. There’s one for insert-only tables and another that can handle if that column is also set on every row update.

PostgreSQL Extension Developer Tips - Part 4

So my latest release of mimeo (v0.10.0) taught me a lesson to look up a new feature to make sure of when it was added and that it would be compatible for the versions I’m trying to support. That feature was the new GET STACKED DIAGNOSTICS command that allows the capture and display of more details in the exception block to help make debugging problems easier. However that was introduced in 9.

Mimeo - A per-table replication extension for PostgreSQL

One of the biggest projects I’ve been working on the last few months is an extension that came about trying to organize a per-table replication process that has been in use with several of our clients, but never really formalized. After nearly 300 hours of time logged working on it, and mentioning it several times in other blog posts, I figured it’s about time I talk more about it. https://github.com/omniti-labs/mimeo

PG Jobmon Exception Handling

As a quick review for those unfamiliar with what PG Jobmon is, it’s an extension to allow autonomously logging steps within a function so that if the function fails, the individually logged steps are not rolled back and lost. This provides an audit trail and monitoring capabilities for functions critical to your database infrastructure. See my Projects page for the code and other posts tagged with “pg_jobmon” for more info.

PG Jobmon Reaches 1.0.0

We’ve been running PG Jobmon in our production databases at OmniTI for a while now and it’s been working very well. Found an issue with the monitoring function, polished some other features up and figured it was finally time to give it 1.0.0 stable once that was all fixed. Since my last post, I did get the simple job logging functions added that I mentioned (back in 0.4.0). To just simply log the number of rows affected by a single query call, you can use sql_step(job_id, action, sql).

New blog!

So Drupal was becoming a bit of a pain for just running a simple blog. Really overkill and it lacked a lot of nice features I see on a lot of other blogs. Looking into those blogs I liked, they were all running WordPress. I’d stuck with Drupal because it supported PostgreSQL. But that feature alone wasn’t worth sticking with it anymore. Got all my posts moved over, but still working on the old comments.