PostgreSQL Essentials
2-day journey into SQL and deployment
This 2-day PostgreSQL training course is designed to provide participants with a comprehensive understanding of PostgreSQL, one of the most advanced open-source databases.
PostgreSQL is known for its robustness, scalability, and ability to handle complex queries and data types, making it an ideal choice for a wide range of applications and development projects.
This course will cover everything from basic database operations to more advanced topics such as debugging, testing, and deploying PostgreSQL on different platforms, including Ubuntu servers and Docker containers.
Learning Outcomes
Upon completing this course, participants will be able to:
- Understand the basics of PostgreSQL and its advantages over other databases.
- Install and configure PostgreSQL on Ubuntu and using Docker.
- Perform basic and advanced data operations using PostgreSQL.
- Write efficient SQL queries for data manipulation and retrieval.
- Debug and test database operations to ensure data integrity and performance.
- Understand best practices for database security and maintenance.
Prerequisites
- Basic knowledge of SQL and database concepts.
- Familiarity with Linux command line and Docker commands.
- Access to a computer with an internet connection to install necessary software and tools.
Course Outline
- Introduction to PostgreSQL
- Overview and History of PostgreSQL
- Features and Benefits of Using PostgreSQL
- Comparison with Other Database Systems
- Getting Started with PostgreSQL
- Installation on Ubuntu
- Updating package lists
- Installing PostgreSQL
- Configuring PostgreSQL to start automatically with the system
- Installation using Docker
- Pulling the PostgreSQL Docker image
- Running a PostgreSQL container
- Persisting data using Docker volumes
- Accessing PostgreSQL
- Using the psql command-line interface
- Basic psql commands
- Using graphical interfaces (e.g., pgAdmin)
- Installation on Ubuntu
- Basic Database Operations
- Creating and Managing Databases
- Creating and Managing Tables
- Data types
- Constraints
- Indexes
- Basic Data Manipulation
- INSERT, UPDATE, DELETE
- Querying data with SELECT
- Filtering data with WHERE clause
- Advanced Data Operations
- Advanced Querying Techniques
- JOINs and Subqueries
- Aggregations and Grouping
- Window Functions
- Views
- Stored Procedures and Functions
- Triggers
- Advanced Querying Techniques
- Data Import and Export
- CSV and Text Files
- Using COPY and \copy commands
- Debugging and Testing
- Identifying Common SQL Errors
- Using EXPLAIN to Analyze Queries
- Performance Tuning and Optimization Tips
- Unit Testing for Database Code
- Security and Maintenance
- User Management and Access Control
- Backup and Restore Strategies
- Routine Maintenance Tasks
- Monitoring and Logging
- Best Practices
- Schema Design Considerations
- Indexing Strategies
- Transaction Management and Concurrency Control
- Scaling PostgreSQL (Replication, Partitioning)
This course is densely packed with hands-on exercises, real-world scenarios, and best practices to ensure that participants not only understand the theoretical aspects of PostgreSQL but also gain practical experience with the database system.
Whether you're a developer, database administrator, or someone curious about database systems, this course will provide you with the skills needed to work confidently with PostgreSQL.
Please do note that the training will follow an agile methodology. As such the sequence of topics covered may not necessarily follow the structure of the outline.
Practical, connected learning
My wider training approach brings hands-on implementation and systems thinking together, connecting technology with real operational needs.