South Africa 2017 Program

Kobus Wolvaardt Registration

presented by Kobus Wolvaardt


08:00 - 08:50 Main room
Jim Mlodgenski Keynote
Postgres: The Evolution of the community

presented by Jim Mlodgenski

In this presentation we will discuss Jim's experiences with the Postgres community and how it has grown beyond ideological boundaries to incorporate all manners of community, technology and business. Join CTO of OpenSCG Jim Mlodgenski in a grand exposition of the evolution of the Postgres community. Where Postgres started, where Postgres is and where Postgres is going!

09:00 - 09:20 Main room Postgres
Martin Slabber PostgreSQL the TimeSeries database
How PostgreSQL is used as the timeseries database for the Control and Monitoring sub-system of the MeerKAT telescope.

presented by Martin Slabber

We use PostgreSQL as the timeseries database for the Control and Monitoring sub-system of the MeerKAT telescope. Thousands of sensor updates are processed and stored by the sensor store each second and as the MeerKAT telescope drawers nearer to completion many more systems are coming online. We'll take you on a short journey through the history of the sensor store and show how the current in...


09:30 - 10:00 Main room Postgres
Kobus Wolvaardt Moning Coffee
Coffee and biscuits

presented by Kobus Wolvaardt


10:10 - 10:40 Main room
Bernhardt Garlipp The Synergy between PostgreSQL and Python
Moving your application layer to your database layer

presented by Bernhardt Garlipp

We will be exploring the concept of moving your application layer (Python code) into tot your database layer. With PostgresSQL allowing you to create functions using python code using plpython3u one should consider moving your application code into your database. The talk will cover how to implement python code in PostgreSQL and the pros and cons of moving your application layer to your databas...


10:50 - 11:20 Main room Postgres
Kobus Wolvaardt Some fun with JSONB and LISTEN/NOTIFY
How we use listen/notify through websockets to refresh JSON blobs from the DB with no polling involved.

presented by Kobus Wolvaardt

Some fun with JSONB. How we use LISTEN NOTIFY and JSONB to do some fun stuff with our web frontend.

Quick run through of features.

11:30 - 12:00 Main room Postgres
Kobus Wolvaardt Lunch

presented by Kobus Wolvaardt


12:00 - 12:50 Main room
Chukwudi Nwachukwu Accessing Postgres Over a Web API

presented by Chukwudi Nwachukwu

This talk aims at showing the audience how I built APIs over Postgres, using SQLAlchemy, to query a database. It involves some clever tricks which I tend to show.

The audience will be able to stop a live running query and do an instrospection to reveal many things about the queries being built.

13:00 - 13:30 Alternate room Postgres
Jim Mlodgenski Introduction to PostgreSQL Performance Tuning

presented by Jim Mlodgenski

Out of the box, PostgreSQL is configured to run on very small systems like a Raspberry Pi, but people do not run large scale enterprise applications on a Raspberry Pi. There are many knobs and switches to tune PostgreSQL for your workload, but which ones make a difference. In this talk, we will discuss those knobs and switches on the operating system and the postgresql.conf file that affects pe...


13:00 - 13:50 Main room Postgres
Malcolm McLean Securing your PostgreSQL database
Are you doing enough to secure your database and access to your data?

presented by Malcolm McLean

Securing access to your database and data seems obvious, but are you doing enough? The default settings within PostgreSQL and even the default firewall configuration on stock Linux installs are a far cry from being secure.

Even if you're not handling or storing credit card information, PCI-DSS defines many things to do in order to secure access to a database and operating system, which can...


13:40 - 14:10 Alternate room Postgres
Kobus Wolvaardt Afternoon Coffee

presented by Kobus Wolvaardt


14:10 - 14:40 Main room
Albert Bijker Agriculture & PostgrSQL - Agri Technovation

presented by Albert Bijker

In the Agri culture sector, there is a major gap with ease of access to data. Agri Technovation started the task to display all relevant data, Soil Chemistry, Soil classification, leaf analysis, harvester data etc. on a platform (MyFarmWeb). In the past, the farmer had to look through countless books to form some sort of idea what is happening, and why some parts of the farm out performed (with...


14:50 - 15:10 Main room Postgres
Margrit Drescher Margrit Drescher Testing, debugging and deploying stored procedures in Postgres

presented by Margrit Drescher

Postgres allows users to develop powerful user-defined functions. However testing and debugging, as well as deploying them to multiple live sites can be tricky. In this talk we will discuss various approaches we have taken and the pitfalls we have encountered.

14:50 - 15:20 Alternate room Postgres
Malcolm McLean Utilising PostgreSQL in a realtime transactional system
Replicating data to a geographically distributed system

presented by Malcolm McLean

How and why we utilise PostgreSQL, our specific requirements for replication, how we handle it, what alternatives we looked at and what we are investigating for the future.

We will also look at a few simple, yet interesting things we do within the database.

15:20 - 15:40 Main room Postgres
Jim Mlodgenski Strategic Autovacuum

presented by Jim Mlodgenski

We have all heard about this dreaded thing in PostgreSQL called vacuum, but what is it really and why do we need to do it. In this talk, we will talk about why PostgreSQL needs to vacuum tables and how to manage it. It will focus on configuring autovacuum properly for your application. In the end, you will understand how and why to set things like autovacuum_vacuum_threshold and autovacuum_max_...


15:30 - 16:20 Alternate room Postgres
Jacobus Prinsloo Aeroswift: The world's largest and fastest powder bed fusion Additive Manufacturing (AM) machine
How Postgres fits into Aeroswift

presented by Jacobus Prinsloo

The main goal of the Aeroswift Additive Manufacturing (also known as 3D Printing) project is to manufacture titanium aircraft parts for clients such as Boeing and Airbus. Due to the stringent regulations and certification standards required for aircraft parts, the Aeroswift machine and its processes need to be qualified before manufactured parts are deemed safe to fly. To this end, all process ...


15:50 - 16:10 Main room Postgres
Kobus Wolvaardt Margrit Drescher Malcolm McLean Martin Slabber Panel discussion

presented by Margrit Drescher, Malcolm McLean, Martin Slabber, and Kobus Wolvaardt

Discussion on Postgres usage by the participants as well as the South African postgres landscape.

16:20 - 16:50 Main room Postgres
Unscheduled events
Kobus Wolvaardt How we use postgresql in our medical and financial software
How we use postgresql in our medical and financial software

presented by Kobus Wolvaardt

GoodX software uses PostgreSQL as a financial database backend as well as for storing patient clinical data. In addition to that we use GoodX in our medical aid transaction and workflow transaction server.