PostgreSQL Administration

5 Day Course
Hands On

Book Now - 2 Delivery Methods Available:

Classroom Virtual Classroom Private Group - Virtual Self-Paced Online


This PostgreSQL Administration course covers administration, maintenance, security and performance tuning of PostgreSQL databases.

Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.


The delegate will gain an understanding of:

  • Install PostgreSQL
  • Create a database
  • Manage roles and privileges
  • Manage schemas
  • Transaction handling and concurrency
  • Examine statistics and system tables
  • Manage tablespaces
  • Scale PostgreSQL using table inheritance and partitioning
  • Understand error reporting and logging
  • Security features of PostgreSQL
  • Encrypt sensitive data
  • Carry out periodic maintenance with Autovacuum
  • Backup and recover databases
  • Create indexes to improve table access
  • Optimize queries and indexes
  • Configure settings for increased performance
  • Populate a new database efficiently
  • Set up asynchronous and synchronous replication

Target Audience

This PostgreSQL Administration course is designed for professional database administrators who need to gain an understanding of the features and functionality that can be used to manage PostgreSQL databases. This course is suitable for users of both PostgreSQL 9 and 10 databases.

Additional Information

  • Course technical content is subject to change without notice.
  • Course content is structured as sessions, this does not strictly map to course timings. Concepts, content and practicals often span sessions.

Training Partners

We work with the following best of breed training partners using our bulk buying power to bring you a wider range of dates, locations and prices.


Collapse all

Installation and Configuration of PostgreSQL (10 topics)

  • PostgreSQL Version Numbers
  • PostgreSQL Configuration Recommendations
  • Single Cluster and Database per Server
  • File System Layouts
  • Install PostgreSQL
  • Install PostgreSQL on Linux/UNIX
  • Post-Installation Setup
  • Create a Database Cluster
  • Basic Server Configuration
  • Account Management

PostgreSQL Architecture (11 topics)

  • Overview of PostgreSQL Architecture
  • The PostgreSQL Instance
  • PostgreSQL Processes
  • How Data is Processed by PostgreSQL
  • PostgreSQL Directory Structure
  • Manage a PostgreSQL Instance
  • Automate the Startup of PostgreSQL at Boot Time
  • The PostgreSQL Configuration Files
  • Multiversion Concurrency Control
  • The Vacuum utility
  • PostgreSQL WAL

PostgreSQL Client Applications (8 topics)

  • Overview of PostgreSQL Client Applications
  • The PostgreSQL Interactive Client Terminal - psql
  • The pgAdmin Tool
  • The pgAgent Tool
  • Client and host based access control
  • Client Connection Problems
  • Authentication Failures
  • Server Startup Failures

Create and Configure a Database (8 topics)

  • Create a New Database using the CREATE DATABASE Command
  • Create a New Database using pgAdmin
  • Start and Stop the Database Server
  • Drop a Database
  • Copy a Database
  • List Databases
  • Obtain Database Object Sizes
  • Initialise a Cluster

PostgreSQL Schemas (7 topics)

  • Overview of the Key Concepts of PostgreSQL Schemas
  • Create and Drop a Schema
  • The Public Schema
  • The Schema Search Path
  • Schemas and Privileges
  • The System Catalog Schema
  • Overview of the Information Schema

Role Management (8 topics)

  • Overview of PostgreSQL Roles and Privileges
  • Create a User Defined Role
  • Role Attributes
  • Role Membership
  • Assigning Users to Roles
  • Group and User Role Inheritance
  • Removing Roles
  • Troubleshooting and Understanding Role Access

Fine Grained Access Control using Grant (6 topics)

  • Control Database Level Permissions
  • Control Schema Level Permissions
  • Grant Table Level Permissions
  • Define Access Privileges with the GRANT Command
  • Remove Access Privileges with the REVOKE Command
  • Manage Column Rights

Index Creation and Management (13 topics)

  • Index Overview
  • The CREATE INDEX Command
  • Index Types
  • Efficient Usage of PostgreSQL Indexes
  • Index creation
  • B-tree and Hash Indexes
  • Single Column Indexes
  • Multicolumn Indexes
  • Index Based Expressions
  • Partial Indexes
  • List Indexes
  • Manage and Maintain Indexes
  • When Indexes Should be Avoided

Transactions and Concurrency (9 topics)

  • Overview of Transaction Processing in PostgreSQL
  • Transaction Properties
  • Locking Concepts
  • Levels of Transaction Isolation
  • Atomic Changes
  • Explicit and Implicit Table Locking
  • Transaction Control
  • Lock Management Parameters
  • Locking and Indexes

PostgreSQL Databases Structure (9 topics)

  • The PostgreSQL Configuration Files
  • Relocate the Configuration Files
  • Physical Storage and File Layout
  • Overview of Tablespace Usage
  • Table and Row Storage
  • Column Limitations
  • Free Space Map
  • The Visability Map
  • Index Storage

Manage Tablespaces (6 topics)

  • Overview of PostgreSQL Tablespaces
  • Default PostgreSQL Tablespaces
  • Create a Tablespace using SQL Commands and pgAdmin
  • Create a Tablespace in the UNIX Operating System
  • Alter a Tablespace
  • Delete a Tablespace

PostgreSQL Logging (6 topics)

  • The Principles and Usages of Logging
  • PostgreSQL Log Destinations
  • Logging Parameters
  • Error Reporting and Logging
  • What Should be Logged and When
  • CSV Format Log Output

Control Access to the Server (4 topics)

  • Security Labelling
  • Secure TCP/IP Access with OpenSSL
  • Secure TCP/IP Connections with SSL
  • Create Secure SSH Tunnels

Data Encryption (4 topics)

  • Encryption Options
  • Encrypt Specific Columns with the pgcrypto Module
  • Data Partition Encryption
  • The Performance Implications of Encryption

Backup and Recovery of Databases (13 topics)

  • Overview of Backup Methods
  • Export and Import Operations with COPY
  • Backup a Database with Operating System Commands
  • Backup a Database with pg_dump
  • Backup User Credentials
  • Backup All Databases with pg_dumpall
  • Backup Database Object Definitions
  • Backup databases with pg_Admin
  • Overview of Database Restore
  • Restore using psql
  • Restore using pg_restore
  • Restore a Database with pgAdmin
  • Filesystem Backup

Point-in-time Recovery (PITR) (16 topics)

  • Overview of PITR
  • Continuous Archiving
  • Overview of PostgreSQL Write-ahead Logs
  • List the Transaction Logs
  • Checkpoints
  • Transaction Log Optimisation
  • Setup PITR
  • Creat an Initial Base Backup
  • Exclusive and Non-Exclusive Low Level Backups
  • Test Transaction Log Archiving
  • Replay Transaction Logs
  • Archive Recovery Settings
  • Timelines
  • Archive Target Settings Parameters
  • Locating the Correct Timestamp
  • Clean up the Transaction Logs

The PostgreSQL Query Optimizer (12 topics)

  • Query Optimization
  • Optimization Ooperations
  • Optimization Decisions
  • Join Methods
  • Statement Transformation
  • Use EXPLAIN PLAN to optimize Queries and Indexes
  • Execution Plans
  • The Statistics used by the Planner and the ANALYZE Command
  • Query Planner Statistics
  • Control the Planner with Explicit Join Clauses
  • Detect Slow Queries
  • Parameters Affecting Optimization

Populate a Database Efficiently (8 topics)

  • DISABLE autocommit
  • Configure Variables for Increased PerformanceUse the COPY Command to Bulk Load Data
  • Drop Indexes and Foreign Keys Temporarily
  • Use the COPY command to Bulk Load Data
  • Temporarily drop indexes and Foreign Key Constraints before a Bulk Load
  • Configure Variables for Increased Performance
  • Temporarily Disable WAL Archival and Streaming Replication
  • Use pg_dump Efficiently

Server Performance Tuning and Monitoring (4 topics)

  • Optimize Storage and Manage Cleanup with VACUUM
  • Monitor Database Activities
  • Statistics Collection
  • Set postgres.conf Cache Parameters

Asynchronous and Synchronous Replication (9 topics)

  • Overview of Basic Synchronous Replication
  • Set up Asynchronous Replication
  • Start Replication
  • Create a Remote User for Streaming
  • Halt and Rehck Replication to Ensure Availability
  • Perform Failovers
  • Understand Timelines
  • Manage Conflicts
  • Use Replication Slots

Client Connections (5 topics)

  • Overview of Client Interfaces
  • The ODBC Driver for PostgreSQL
  • PostgreSQL JDBC
  • PostgreSQL PHP
  • PostgreSQL Python


This course assumes a good working knowledge of SQL and specifically of the SELECT, INSERT, UPDATE and CREATE TABLE statements. This can be obtained by attendance on the pre-requisite SQL for PostgreSQL course.

This course is run on a Linux operating system, a basic knowledge of UNIX/Linux is recommended but is not essential.

Additional Learning

The courses below may help you meet the knowledge level required to take this course.

Scheduled Dates

Please select from the dates below to make an enquiry or booking.


Different pricing structures are available including special offers. These include early bird, late availability, multi-place, corporate volume and self-funding rates. Please arrange a discussion with a training advisor to discover your most cost effective option.

Code Location Duration Price Oct Nov Dec Jan Feb Mar
Virtual Classroom (London)
5 Days $2,415

Course PDF


Share this Course


Recommend this Course