Jste zde

Školení / Workshops

PostgreSQL Query Optimizatioin (half-day)

Henrietta Dombrovskaya / DRW

This training is based on PostgreSQL Query Optimization book Dombrovskaya, Novikov, Bailliekova) and uses postgres_air database for real-life examples of queries. The training covers the whole process of query optimization, including how to set the optimization goals, differentiate between "short" and "long" queries and use appropriate techniques for each query type. Includes the usage of user-defined functions, building queries dynamically and much more. Upon completion of thie training, the participants will learn "how to think like Postgres."

Základy pro práci s extenzemi v PostgreSQL (half-day)

Pavel Stěhule

Školení by mělo odpovědět na otázky - co umožňují extenze v PostgreSQL, jak je přeložit, ladit, co všechno extenze musí obsahovat (co může obsahovat), co znamenají některá makra ve zdrojovém kódu, a jak si napsat vlastní jednoduchou extenzi.

Postgres & AI: From the Trenches to the Sky (half-day)

Bruce Momjian / EDB

Artificial intelligence, machine learning, and deep learning are intertwined capabilities that attempt to solve problems that defy traditional computational solutions. This tutorial covers Postgres's use for discriminative machine learning, vector searches, and generative AI.

The tutorial first covers the history of artificial intelligence and the processes involved in discriminative AI training. It contains a discriminative AI example using stored procedures and has a summary of how databases can be used for discriminative AI workloads.

The second part of this tutorial explores many of the advances that have fueled the generative AI explosion, including multi-dimensional vectors, text embeddings, semantic/vector search, transformers, generative AI, and Retrieval-Augmented Generation (RAG). The talk includes semantic/vector search and RAG examples. The section also covers how the valuable data stored in relational databases can be used to enhance AI usage.

The tutorial ends with a hands-on lab using ""pgvector"" for semantic search. To complete the lab, attendees must know how to use ""ssh"" to connect to a remote server, use ""psql"" to connect to a database, and how to run scripts from the command line.

Writing your first Go app for PostgreSQL (half-day)

Pavlo Golub / Cybertec

I will show how to write Go application for PostgreSQL from scratch. We will try to create pgbecnh analogue but for client side specifics: to compare the speed of SELECTs vs COPY, single INSERTs vs batched INSERTs vs COPY. We will cover all our code with tests. We will learn how to use GitHub Actions for testing and releasing. No ORMs! Only true full control and low level understanding!

Introduction to Postgres hacking (whole-day)

Tomas Vondra / Microsoft, Melih Mutlu / Microsoft

This workshop is an introduction into hacking on Postgres code, to help people with their first steps. It is intended for those who are interested either in contributing to Postgres directly, or plan to work on some extensions, Postgres forks etc. If you don't plan to work on Postgres internals and write C code, this workshop may not be a good fit for you.

The planned agenda is roughly this:

  • Brief introduction into the development process and how it’s organized (mailing lists, commit fests, patch submissions, buildfarm, tools used to organize all this). We might also discuss how this might evolve in the future.
  • Walk through the source code, to explain how it’s organized, what are the basic modules, where to look for stuff, what tools are available, etc.
  • Basic work with the code (cloning, using configure, running various types of tests).
  • Advanced stuff (using github CI, ...)
  • Postgres-specific infrastructure and coding idioms (Datum, SQL vs. C functions, memory contexts and palloc, error logging, ...).

We plan to do small exercises to get some practical experience with these topics, so bring your Linux laptop with a recent distribution (Fedora, Ubuntu, Debian, ...). You won’t need anything very special, just console, git, gcc, and your favorite editor to write C code (we’ll setup the environment in the first section).

We expect basic knowledge of C, but we don’t expect you to know the strange/unique C stuff in Postgres. That’s what the workshop is meant to address. Prior experience with autotools is an advantage, not a requirement. After the workshop you should be familiar with how the Postgres project is organized, and with the fundamental tools and infrastructure used by Postgres. You may not be able to understand every patch right away, but you should have the foundations to quickly learn.