An introduction into PgQ and SkyTools - efficient queue implementation on top of PostgreSQL and the tools to manage it. Description of PgQ, the different kinds of consumers, queue applications and their usage scenarios and how to tie it all together with SkyTools.
SkyTools is a batch processing framework, initially developed at Skype to simplify the management of distributed databases. It's most prominent features are PgQ queuing and londiste replication system. SkyTools has been released to open source since 2007, and is now approaching release 3.0.
This presentation makes an introduction to PgQ - producing and consuming events, different consumer types, batch processing. Solving common problems with pre-packaged applications - replication, archiving and data loading. Writing custom queue applications with SkyTools framework. Other programming interfaces - SQL, Java, PHP.
We will also discuss upcoming features of SkyTools 3: distributed queues, cooperative consuming and cascaded consumers.
PostgreSQL allows development in many different programming languages, to suit the tastes of each aspiring hacker. Learn how to write a PostgreSQL procedural language, using one of the latest, and certainly the least, of these languages, PL/LOLCODE.
This talk covers how to write a procedural language for PostgreSQL, using PL/LOLCODE to provide examples. Not only will attendees be exposed to the workings of the procedural language system, they will also see how to make C code work within the PostgreSQL backend, how to access system catalogs and use the SPI interface, how Bison and Flex combine to create parser, and how to work with PostgreSQL's internal data types -- all topics of interest to those hacking within PostgreSQL, whether writing a new procedural language or not.
Although PL/LOLCODE's value as a programming language for production use is questionable at best, its simplicity makes it an excellent didactic tool. Attendees can see how to function in the PostgreSQL backend without being bogged down in syntactic difficulty or strange special cases.