TTDB7024: PostgreSQL for Database Developers
About this Course
PostgreSQL is a powerful, open-source object-relational database management system that emphasizes extensibility, data integrity, and high performance. Its versatility and robust feature set make it an ideal choice for developers working on projects of all sizes, from small-scale applications to enterprise-level systems. By learning PostgreSQL, developers can tap into its advanced capabilities, such as full-text search, spatial data support, and customizable data types, allowing them to create efficient and scalable solutions tailored to their unique needs.
PostgreSQL for Database Developers is a three-day hands-on course that explores the fundamentals of database management, covering everything from installation and management to advanced SQL functions. Designed for beginners and enthusiasts alike, this course will equip you with the knowledge and skills required to effectively harness the power of PostgreSQL in today’s data-driven landscape.
Throughout the course you’ll be immersed in a variety of essential topics, such as understanding data types, creating and managing indexes, working with array values, and optimizing queries for improved performance. You’ll gain valuable hands-on experience with real-world exercises, including the use of the psql client, writing triggers and stored procedures with PL/pgSQL, and exploring advanced SQL functions like Common Table Expressions (CTE), Window Functions, and Recursive Queries. You’ll exit this course with a solid foundation in PostgreSQL, enabling you to confidently navigate and manage your databases with ease and efficiency.
Audience Profile
The ideal audience for this course includes database enthusiasts, IT professionals, and developers who are eager to expand their knowledge and skill set in database management and optimization. Roles that would greatly benefit from attending this course include:
• Database Developers: Those who design, implement, and maintain databases as part of their primary responsibilities and want to improve their expertise in schema design, query optimization, and advanced database features.
• Backend Developers: Professionals who work on server-side application logic and require a strong understanding of database management to integrate data storage and retrieval processes into their applications.
• Data Analysts: Individuals who work with large data sets and need to extract meaningful insights from databases, utilizing advanced SQL querying techniques and data manipulation tools.
• IT Professionals: System administrators and other IT staff who are responsible for managing and maintaining databases, ensuring data security, and optimizing performance.
• Software Engineers: Developers seeking to expand their knowledge in database technologies to build scalable and efficient applications that rely on robust data management solutions.
At Course Completion
This course combines engaging instructor-led presentations and useful demonstrations with valuable hands-on labs and engaging group activities.
Upon completing this course, database developers will be able to:
• Design and implement efficient database schemas by employing normalization techniques, appropriate indexing strategies, and partitioning methods to optimize data storage and retrieval processes.
• Develop advanced SQL queries, including joining multiple tables, utilizing subqueries, and aggregating data, to extract valuable insights and facilitate decision-making processes.
• Implement stored procedures, functions, and triggers to automate common database tasks, enforce data integrity, and improve overall application performance.
• Apply database performance tuning techniques, such as query optimization, index management, and transaction control, to ensure optimal resource usage and enhanced system responsiveness.
• Integrate databases with various programming languages and platforms, enabling seamless data access and manipulation for web, mobile, and desktop applications.
If your team requires different topics, additional skills or a custom approach, our team can collaborate with you to further adjust the course to focus on your specific learning objectives and goals.
Outline
1. Installing & Managing PostgreSQL
• PostgreSQL installation process
• Optimal configuration settings
• User and role management
• Database backup and restoration
2. Overview of PostgreSQL Database
• PostgreSQL architecture overview
• Understanding database objects
• Efficient data storage
• Transaction management basics
3. Using the psql client
• Introduction to psql
• Essential psql commands
• Executing queries effectively
• Managing databases with psql
4. Understanding PostgreSQL data types
• Numeric data types explored
• Character and binary types
• Date, time, and boolean values
• Array and other types
5. Understanding sequences
• Sequence creation and usage
• Customizing sequence behavior
• Implementing auto-increment columns
• Sequence manipulation and control
6. Creating & managing indexes
• PostgreSQL index fundamentals
• Designing partial indexes
• Utilizing expression-based indexes
• Index management techniques
7. Using COPY to load data
• COPY command overview
• Importing and exporting data
• Handling CSV and binary formats
• Performance considerations
8. Working with Array Values
• Array value basics
• Array manipulation functions
• Querying arrays efficiently
• Multidimensional array handling
9. Advanced SQL Functions
• Mastering Common Table Expressions
• Utilizing Window Functions
• Regular Expressions in SQL
• Crafting Recursive Queries
10. Writing triggers & stored procedures with PL/pgSQL
• PL/pgSQL variables usage
• Implementing loop operations
• PERFORM and EXECUTE statements
• Developing PostgreSQL triggers
11. Using the PostgreSQL query optimizer
• Query analysis and optimization
• EXPLAIN command insights
• PostgreSQL query operators
• Identifying performance bottlenecks
12. Improving query performance
• Query performance tuning
• Index optimization strategies
• Efficient database partitioning
• Connection and resource management
13. Wrap Up & Additional Resources
• Further learning opportunities
• Staying up-to-date with PostgreSQL
• Community engagement and support
Prerequisites
To ensure a smooth learning experience and maximize the benefits of attending this course, you should have the following prerequisite skills:
• Basic SQL Knowledge: Familiarity with SQL syntax and concepts, such as SELECT, INSERT, UPDATE, and DELETE statements, as well as an understanding of relational databases and how they store and organize data.
• General Programming Experience: Competence in at least one programming language (e.g., Python, Java, C#, or JavaScript) to facilitate the understanding of database integration and automation through stored procedures, functions, and triggers.
Take Before: We recommend attendees have the skills in the course listed below, or attend this course as a pre-requisite:
• TTSQL003 Introduction to SQL Querying Basics