Course [DBA 2]
PostgreSQL
Advanced
💻 5 live online sessions, 3h30m each
🎤 Includes: Q&A, theory and live demo
🏷️ Price: €850 before taxes
🗓️ Dates: 18-22 May; 28 Sept-2 Oct
PREREQUISITES
- To participate in this course, you must either have completed our
(DBA1) PostgreSQL Essentials course or possess practical experience with PostgreSQL daily operations (creating databases, managing roles, performing routine maintenance tasks, and exporting/importing data). - You should also be comfortable with SQL transactions and able to manage PostgreSQL services and configurations on Linux systems.
- Familiarity with performance monitoring and basic shell scripting is also recommended.
For details see the course T&Cs
This advanced multi-day training is designed for database administrators who want to strengthen their knowledge of PostgreSQL internals and best practices.
- PostgreSQL architecture and processes
- Optimal configuration techniques
- MVCC and the transactional engine
- Physical backups and Point-in-Time Recovery (PITR)
- Partitioning and connection pooling
What You’ll Learn
The course is designed to equip you with the essential skills to install, operate, maintain, and monitor PostgreSQL for reliable and efficient database management.
PostgreSQL architecture and Write-Ahead Logging
This chapter introduces PostgreSQL’s internal architecture, focusing on how it manages processes, memory, and durability. Highlights include:
- The main background processes and their responsibilities
- Shared and per-process memory areas, and their tuning
- How PostgreSQL organises files in PGDATA
- The role of Write-Ahead Logging (WAL) in ensuring data consistency and recovery
MVCC, VACUUM and isolation levels
This chapter explores PostgreSQL’s Multi-Version Concurrency Control (MVCC) model and how it ensures both consistency and concurrency. Highlights include:
- How PostgreSQL manages row versioning with system columns such as xmin, xmax, and ctid
- The impact of isolation levels (READ COMMITTED, REPEATABLE READ, SERIALIZABLE) on transaction consistency
- The internals of VACUUM and autovacuum: cleaning dead tuples, trigger conditions, and tuning options
- Strategies to prevent bloat and protect against transaction ID wraparound
Point-in-Time Recovery and WAL Archiving in PostgreSQL
This chapter introduces the principles and practices of Point-in-Time Recovery (PITR) in PostgreSQL. Highlights include:
- Continuous archiving and its role in recovery
- Configuring WAL archiving for PITR
- Performing file system backups with pg_basebackup or manual methods
- Executing a point-in-time recovery and controlling recovery targets
- Best practices for backups, restore testing, and minimising downtime
Declarative table partitioning in PostgreSQL
This chapter introduces declarative table partitioning in PostgreSQL, a feature designed to simplify the management of large datasets. Highlights include:
- An overview of the partitioning methods: list, range, and hash
- How to define multi-column and nested (sub-)partitions
- Managing partitions: attach, detach, and default partitions
- Performance considerations and planning-time behaviour
- Common limitations and best practices for effective partitioning
Connection pooling in PostgreSQL with PgBouncer
This chapter explores how PostgreSQL can efficiently handle large numbers of client connections through connection pooling, focusing on PgBouncer. It covers:
- Why and when to use a connection pooler
- Comparison of pooling modes: session, transaction, and statement
- Installation, configuration, and monitoring of PgBouncer
- Advanced usage: delegated authentication, query cancellation, and multi-instance scaling
Format and Schedule
Course Format & Requirements
5 live sessions (3.5 hours each)
Participants must attend all five sessions to receive a certificate of attendance.
Sessions are conducted in English via Zoom. Please ensure you have the latest version installed.
The course combines theoretical slides with live demos and includes a live Q&A during each session.
A 10-minute break halfway through each session.
Sessions will not be recorded.
Sessions Schedule
⚠️ This course will be delivered twice in 2026.
Please choose one session series: May or September.
(times are in CET)
May Sessions
Monday, 18 May 10:00–13:30
Tuesday, 19 May 10:00–13:30
Wednesday, 20 May 10:00–13:30
Thursday, 21 May 10:00–13:30
Friday, 22 May 10:00–13:30
September Sessions
Monday, 28 Sept 10:00–13:30
Tuesday, 29 Sept 10:00–13:30
Wednesday, 30 Sept 10:00–13:30
Thursday, 1 October 10:00–13:30
Friday, 2 October 10:00–13:30
Register now!
How registration works
Complete the registration form below with your details.
An invoice and payment instructions will be sent to your inbox.
You can pay by credit card or direct bank transfer.
Your spot on the course is confirmed once payment has been received.
Course details
Course duration: 5 days, 5 sessions; 3.5 hours each
Course cost: €850 before taxes
📩 If you have any questions or issues, please contact us at [email protected]
Frequently Asked Questions
What prerequisites do I need for DBA2?
How is DBA2 different from DBA1?
Can my company book this for a group?
Which session should I choose - May or September?
Instructors

PostgreSQL Consultant
Stefan has close to 15 years of expertise in the database space, boasting extensive experience in client support, maintenance, and architectural consulting.
He is a recognised PostgreSQL contributor and a contributor to pgBackRest, a reliable backup and restore solution for PostgreSQL.

Senior PostgreSQL Expert
