
Examine PostgreSQL limits for database design, including unlimited database size, 32 TB per table, 1600 columns per table, unlimited indexes, 32 columns per index, and 32 partition keys.
Understand PostgreSQL architecture, from client requests and the postmaster to backend processes with local and shared memory, including shared buffers, wall buffers, checkpoints, wall writer, and background writers.
Explore the Postmaster, the master Postgres process that supervises and restarts background processes. It handles connections, authentication and authorization, recovery, and spawning back end processes across Windows and Linux.
Explore PostgreSQL background processes, including check pointer, auto vacuum launcher, archival, logger, writer, and wal writer, and learn how they manage dirty buffers, wal files, and recovery in production environments.
Explore the local memory component for each backend process, including work_mem for sorting and joins, temp buffers for temporary tables, and maintenance_work_mem, with default values and adjustment in postgresql.conf.
Discover the physical files of PostgreSQL, including data files for tables and indexes, and the write-ahead log for transaction recovery, with optional archive logs for backups.
Explore how PostgreSQL stores data with pages, segments, and toast, including 8 kb pages, automatic toasting of oversized rows into 2 kb chunks, and the page layout.
Install PostgreSQL 17.4 on Windows 64-bit using the installer, configure the data directory and port 5432, install pgAdmin 4, and set the Postgres superuser password.
Learn how to start and stop a PostgreSQL cluster on Windows and Linux, using PG_CTL stop with smart, fast, or immediate modes; defaults to smart if no mode is specified.
Explore the PostgreSQL installation directory layout, including bin, data, doc, include, lib, and pgadmin4, and examine the data directory contents like base, global, logs, replication slot, and configuration files.
The base directory contains all databases and their objects, each identified by an OID. Postgres is the default database used by utilities, while template0 remains pristine and template1 remains modifiable.
Demonstrates PostgreSQL database oids, listing databases with \l, connecting as postgres to templates, and creating and dropping a macro database to show folder per oid in the base directory.
Learn to manage the main postgresql.conf file in the data directory, including per-line parameters, restart requirements, backups, and sections such as connection and authentication and write ahead log.
Map operating system users to PostgreSQL users with the optional pg_identity.conf file, enabling external authentication via identity or API; define identity maps and reload on startup.
Explore how pg_identity.conf maps operating system usernames to database users for PostgreSQL connections, using peer authentication and pg_hba.conf to handle local versus external logins.
Explore the pg_hba.conf file, the host-based authentication gateway that controls who can connect to PostgreSQL, using local or host types, cidr notation, and scram-sha-256.
Demonstrates configuring pg_hba.conf and postgresql.conf to grant an application server access, create a read-only user, set a password or use trust authentication, and reload the server.
Create and manage PostgreSQL users using syntax and the create user utility, assign privileges such as superuser, create database, and roles, and demonstrate encrypted passwords and non-interactive options.
Implement PostgreSQL best practices for user management by enforcing least privilege, grouping with roles, strong passwords, row level security, auditing, and service accounts.
Explore how schemas organize database objects into logical groups, isolating HR, sales, and finance data, and how search_path determines which schema PostgreSQL searches for objects.
Master the psql interface, a terminal-based front end to PostgreSQL, and learn essential SQL commands, connection options including SSL mode, and an included command checklist with demo practice.
Learn to use the pgpass file to store PostgreSQL credentials and enable passwordless login for local and remote connections via psql on Linux and Windows.
Explore PostgreSQL system catalogs and monitoring views to observe schema metadata and real-time database activity, including pg_stat_activity, pg_logs, pg_stat_database, and pg_settings.
PostgreSQL is an advanced, enterprise class open source Object-Relational Database Management System (ORDBMS). Its is a relational database that supports both SQL (relational) and JSON (non-relational) querying.
PostgreSQL possesses robust feature sets including Multi-Version Concurrency Control (MVCC), point in time recovery, granular access controls, tablespaces, asynchronous replication, nested transactions, online/hot backups, a refined query planner/optimizer, and write ahead logging. It supports international character sets, multi-byte character encodings, Unicode, and it is locale-aware for sorting, case-sensitivity, and formatting. PostgreSQL is highly scalable both in the quantity of data it can manage and in the number of concurrent users it can accommodate.
The course provides the learner with an extensive knowledge of PostgreSQL Database Administration with real time examples.
Topics covered are:
PostgreSQL Process and Memory Architecture
Installation of PostgreSQL on Windows and Linux
Setup PostgreSQL Environment Variables - Windows and Linux
PostgreSQL Storage Internals
Database Directory Layout
PostgreSQL Configuration Files
Cluster in PostgreSQL (Initdb,Start/Stop,Reload/Restart Cluster)
Createdb/Dropdb, Createuser/Dropuser Utility
Best Practices for User Management.
Create Schema and Schema Search Path
Pgpass File
Psqlrc.conf
Psql Interface Commands
Pg System Catalogs
Working with PostgreSQL Objects
CRUD Operations
MERGE AND MERGE RETURNING
Table Inheritance
Table Partitioning
Table Partitioning with Inheritance
Tablespace in PostgreSQL
Backup's, Continuous Archiving and PITR (Point-in-Time-Recovery)
Incremental Backups using Pg_basebackup.
Wal Summarizer Process
Explain plan and Query Execution Cost
Maintenance (Updating Planner Statistics, Vacuum, Routine Reindex & Log File Maintenance)
Best Practices for Routine Reindexing.
Data Fragmentation
Vacuum, Vacuum Full, Auto Vacuum Dameon
Best Practices for Vacuum Commands.
Automating Backup's and Maintenance Task.
Pgadmin 4
Upgrade PostgreSQL (Pg_Dumpall & Pg_Upgrade Utility)
Uninstall PostgreSQL on Windows and Linux
Journey into Postgresql v13
Postgresql v13 - New Features
Let's Explore Postgresql v15
Postgresql v15 - New Features
Tour of Postgresql v16
Postgresql v16 - New Features