Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Duration 14 hours
Course Outline
1. Grasping the PostgreSQL Query Planner
- Exploring query execution paths and Planner algorithms (both classic and genetic)
- Interpreting execution plans, with a focus on data access and join methodologies
- Managing plan selection through configuration adjustments and tools like pg_hint_plan
2. Query Planner Statistics
- Understanding cost estimation within execution plans
- Reviewing the default statistical models
- Leveraging the ANALYZE operation and extended statistics
3. Leveraging Indexes
- B-tree index types (single column, composite, function-based, and partial)
- Hash-based indexing
- BRIN indexing structures
- GiST and GIN index implementations
4. Advanced Table Structures
- Managing partitioned tables
- Utilizing unlogged tables
- Working with temporary tables
- Implementing materialised views
5. Optimizing Cache Memory
- Buffer Cache management
- Work Memory configuration
- Maintenance Work Memory tuning
6. Parallel Query Execution
- Understanding the underlying architecture
- Configuring relevant parameters
- Analyzing execution plans for parallelized queries
7. Monitoring Workloads and Performance
- Logging and reviewing slow queries
- Implementing the auto_explain extension
- Utilizing the pg_stat_statements extension
- Reviewing cumulative statistics
8. Performance Benchmarking with PgBench
Requirements
- Completion of the PostgreSQL Server Administration module, or possession of equivalent expertise
- Demonstrated hands-on experience with SQL syntax and daily PostgreSQL operations
Target Audience
This course is tailored for Database Administrators, DevOps Engineers, and Developers who are tasked with tuning and maintaining PostgreSQL within live production environments.
Testimonials (2)
Tuning strategies.
Jeffrey Zieg - Matrix Consulting
Course - PostgreSQL Performance Tuning
Logging behaviour when the instance is under stress, and the hierarchy/nomenclature of instances, databases, files, etc.