FOSSLC is a non-profit organization that specializes in technology and know-how to record conferences with excellent quality. Click on the icons below to view great videos from communities we are actively involved with:



Content related to the PostgreSQL RDBMS.

PostgreSQL replication

in Database, SC2011, PostgreSQL
Steve Singer

PostgreSQL is an open source relational database system that features a high level of standards complience and support for most programming languages.   PostgreSQL offers a number of different options for data replication.   This talk will provide an introduction to database replication in PostgreSQL and explain the different types of problems that replication can solve.  The talk will explain how the built in WAL shipping replication works, how to set it up and discuss the limitations.  The Slony replication system will be explained including the basic steps involved in setting up a Slony cluster and how Slony can be used to solve common problems


PostgreSQL as a secret weapon for high-performance Ruby on Rails applications

in PGCon, PGCon2010, Programming, PostgreSQL, Ruby


Ottawa, ON
45° 24' 41.6592" N, 75° 41' 53.4984" W

This session will cover lessons learned about Ruby on Rails development using PostgreSQL. From the database-centric view the session will explain Rails best practices, taking advantage of RoR strong points, dealing with its weak points, PostgreSQL strong and weak points, and using advanced SQL features in web applications. The session will demonstrate how PostgreSQL is used to speedup Rails code, making slow things in your web application fast and impossible things - possible. The session will also discuss the peculiarities of complex enterprise apps and show that PostgreSQL is an ideal open source match for their development.

Topics covered will include:

Our experience with Ruby on Rails and PostgreSQL combo:

    * performance characteristics of Ruby applications
    * Rails advantages
    * PostgreSQL advantages

How to optimize Rails with PostgreSQL:

    * doing as much as possible in SQL
    * preloading attributes and associations
    * using Postgres' arrays for even faster preloading
    * generating and executing SQL queries instead of manipulating data with ORM

How to optimize Rails application by moving logic to the PostgreSQL database:

    * efficient trees
    * efficient pagination
    * efficient access control system with roles and privileges
    * efficient data analysis and aggregation

How to deal with PostgreSQL limitations:

    * optimizer forcing subselects for the whole result set despite limit/offset
    * optimizer not being able to estimate the resulting set size of the generate_series() function call
    * "in" in where conditions forcing joins
    * need for pushing down conditions in certain cases
    * avoiding on-disk sorts
    * selecting records holding group-wise maximum without windowing functions (pre 8.4)
    * using "not exists" as a cure to bad performance of "not in" conditions

How to make your database faster:

    * improving shared database performance under severe memory restrictions
    * realistic explain analyze
    * Postgres-specific performance tips

How to keep your database and application robust:

    * getting the right compromise between ORM and the database
    * best practices for database schema development and maintaining data integrity
    * performance testing and benchmarking
    * performance monitoring

Gleb Arshinov
Oleksandr Dymo

Probing PostgreSQL with DTrace and SystemTap

in PGCon, PGCon2010, Programming, PostgreSQL

Operating system developments in recent years have provided administrators with new and powerful ways of peeking into live, production applications to investigate behaviors and solve problems in real time without significant system impact. PostgreSQL provides several probe points allowing these dynamic tracing tools access to running applications that was formerly available only with a debugger. In this discussion we will explore the DTrace and SystemTap applications and some of their capabilities, with specific focus on PostgreSQL.

Ever wished an application's logging were just a bit more detailed? Ever wanted an application to spit out some internal variable, or count the iterations of a section of code? Ever wanted to see exactly what values resulted from some convoluted calculation? Ever been unable to provide these details because you couldn't recompile the application to add the code you needed? Dynamic tracing can provide all those details, on a running, production application, and -- theoretically, at least -- do it all without your users noticing.

PostgreSQL provides a wide array of tracing probes which allow users to gather data regarding parsing, planning, execution, storage, locking, and many other back-end behaviors, all without recompiling the application or adding new PostgreSQL code. We'll examine these probes and the capabilities of systems like DTrace and SystemTap to gather and analyze the data they provide.

Joshua Tolley

Online financial services & Postgres

in Company, PGCon, PGCon2010, Programming, PostgreSQL


Ottawa, ON
45° 24' 41.6592" N, 75° 41' 53.4984" W

Staking our claim on open source technologies

Enova Financial provides online financial services to under-served consumers in the United States, Great Britain, Australia and Canada.

What originally started with a handful of people and a small application running on MySQL has grown into a multi-million dollar business running on Postgres. In an environment where downtime costs hundreds of thousands of dollars a minute, we continue to stake our claim on open source technologies, including Postgres, Skytools, Ruby on Rails and Linux.

In this talk, we will explain

    * How we're using Postgres
    * Why we switched from MySQL
    * Why we chose Postgres
    * What challenges we face using Postgres

Jim Nasby