Database Management
PostgreSQL Database Administration
Learn to install, configure, and manage PostgreSQL database systems effectively. Topics include backup and recovery, performance tuning, security, and SQL query optimization. Suitable for database administrators seeking practical expertise. Experienced trainers provide practical lab sessions and real-world use cases.
About this course
Learn to install, configure, and manage PostgreSQL database systems effectively. Topics include backup and recovery, performance tuning, security, and SQL query optimization. Suitable for database administrators seeking practical expertise. Experienced trainers provide practical lab sessions and real-world use cases.
Advantages
Practical teaching
In addition to class hours, you will practice the topics covered with your instructor and mentor dur
Mentors
The knowledge and skills you learn at the academy will be further strengthened with the mentor syste
Academic transcript
Assignments and projects are checked by the instructor, and your knowledge and skills are determined
Training program
- 1 What is Database, DB types & history of databases
- 2 Relational and Non-Relational Databases
- 3 PostgreSQL history, Community, Features matrix etc.
- 4 PostgreSQL installation and basic configuration.
- 5 Pagila sample database
- 6 GUI Tools(Pgadmin, Dbeaver, DbGrid etc.)
- 7 PSQL CLI and commands
- 1 PostgreSQL installation types (from repo and source code)
- 2 Recommended Linux package and configurations
- 3 Installation and configuration on RedHat
- 4 Installation and configuration on Ubuntu
- 5 Installation and configuration on Windows
- 6 Normal and immediate start stop methods of PostgreSQL
- 7 How to properly Uninstall PostgreSQL
- 8 Enabling Data checksum before and after installation
- 9 Changing DB Collate & Ctype before and after installation
- 10 Installation PostgreSQL from source code
- 11 Cloning database
- 12 Extensions that must be on every PostgreSQl DB
- 13 PostgreSQL Template DB yaradılması vəistifadəsi
- 14 Useful PostgreSQL functions for DB management
- 15 Creating DB objects
- 16 Tables, Constraints, Views, Sequences etc.
- 17 Materialized view and additional refresh methods
- 1 Client-server protocol
- 2 Transactionality and its implementation
- 3 Query processing and execution
- 4 Processes and memory structures
- 5 Background Processes
- 6 PostgreSQL memory structures
- 7 Storing data on disk and disk operations
- 8 System extensibility
- 1 Multiversion concurrency control (MVCC)
- 2 ACID (Atomicity, Concurrency, Isolation, Durability)
- 3 Isolation Levels (Read UnCommitted, Read Committed, Repeatable Read, Serializable)
- 4 Phenomena (Dirty Read, Non-repeatable Read, Phantom Read, Serialization anomaly, Lost Updates, Read Skew, Write Skew)
- 5 Locking
- 1 Routine tasks that require periodic execution
- 2 Vacuum and analysis
- 3 Table and index bloating
- 4 Full vacuum and rebuilding of indexes
- 1 Buffer cache overview
- 2 Replacement algorithm
- 3 WAL-Write-ahead log
- 4 Checkpoint
- 5 Processes related to the buffer cache and WAL
- 1 Databases and templates
- 2 Schemas and search path
- 3 Special schemas
- 4 System catalog
- 1 Tablespaces and directories
- 2 Heap Table internal structure
- 3 Data pages
- 4 Tuple structure
- 5 FILLFACTOR
- 6 Forks: data, visibility map, free space map
- 7 TOAST - The Oversized-Attribute Storage TechniqueAST
- 1 Numeric Data Types
- 2 Character/Binary Data Types
- 3 Date/Time Data Types
- 4 Enumerated Data Types
- 5 Range Data Types
- 6 Geometric Data Types
- 7 JSON Types (JSON & JSONB)
- 8 How NULL values are stored in PostgreSQL
- 1 OS tools
- 2 Database statistics
- 3 Server message log
- 4 Shell scripting and sending notifications with Telegram Bot
- 5 External monitoring systems (PerconaPMM, Zabbix, PgHero)
- 1 Roles and attributes, Roles Inheritance
- 2 Privileges
- 3 Grant and Revoke privileges
- 4 Object Ownership
- 5 Policies, Policy vs. Grant
- 6 Row-level security policies
- 7 Understanding ACLs
- 8 Configuring pg_hba.conf
- 9 Authentication Methods
- 10 pg ident Configuration
- 11 Authentication with Certificate
- 12 Security improvements in different PostgreSQL versions
- 13 Audit database with PG_Audit
- 14 Security Best practices
- 1 Logical backup (PG_DUMP, PG_RESTORE, PG_DUMPALL )
- 2 Plain format dump
- 3 Custom format dump
- 4 Directory format dump
- 5 Bulk data loading
- 6 Loading CSV data with COPY
- 7 Loading CSV data with FILE_FDW
- 8 Loading CSV data with PG_BULKLOAD
- 9 Loading CSV data with external GUI tools
- 10 Physical backup
- 11 Standalone Backup
- 12 Standalone HOT physical backup
- 13 PgBaseBackup
- 14 Creating Full and Incremental Backups
- 15 Recovery database
- 16 Point in Time Recovery(PITR)
- 17 Installation and configuration PgBackRest
- 18 Configuring Pgbackrest with Certificate
- 19 Barman(Full and Incremental Backup and Recovery)
- 1 Configuring Logging in PostgreSQL
- 2 Analyzing postgreSQL log with PgBadger
- 3 Installing and configuring centralized logging to SYSLOG və RSYSLOG
- 1 Replication purposes and types
- 2 Physical replication
- 3 Configuring replication with Streaming Replication method
- 4 Configuring replication with Replication Slots method
- 5 Configuring Delay Standby
- 6 Failover, monitoring , recreateding, dropping, checking replication
- 7 Configuring Logical replication
- 8 Monitoring COPY in logical replication
- 9 Row filtering in Logical replication tables
- 1 What is Connection Pool ?
- 2 Installation and configuration PgBouncer
- 3 Load balancing between primary and standby servers using HaProxy
- 4 Configuring healthcheck using KeepAlived
- 1 PostgreSQL versioning & Roadmap
- 2 Updating PostgreSQL to new minor version
- 3 Upgrading to major version using PG_UPGRADE
- 4 Upgrading to major version with zero downtime using PG_UPGRADE –LINK
- 1 B-TREE INDEX
- 2 HASH INDEX
- 3 GIN INDEX
- 4 RUM INDEX
- 5 BRIN INDEX
- 6 Unique Index
- 7 Partial Index
- 8 EXPLAIN
- 9 Index Scan
- 10 Bitmap Index Scan
- 11 Bitmap Heap Scan
- 12 Identifying table columns which need INDEX
- 13 Rebuild and Vacuum Indexes
- 14 Identifying unused indexes
- 15 Properly removing unused indexes
- 16 Checking indexes using AMCHECK Extension
- 1 Best practices to configure postgresql.conf for optimal performance
- 2 Identifying Slow Running Queries
- 3 Identifying Performance Issues reason with Slow Queries
- 4 Indexing recommendations
- 5 Index usage
- 6 Index Cache Hit Ratio
- 7 Parallel queries
- 8 Cache Hit Ratio
- 9 Importance of VACUUM for performance
- 10 Identifying BLOAT & solving bloat problem
- 11 Using different methods and extensions to reduce Bloat
- 12 PostgreSQL statistics
- 1 Migration from Oracle to PostgreSQL
- 2 OracleFDW
- 3 Ora2PG
- 4 Migration from Ms SQLServer to PostgreSQL
- 5 Migration from MySQL to PostgreSQL
- 1 NATIVE PARTITIONING
- 2 LIST PARTITION
- 3 RANGE PARTITION
- 4 HASH PARTITION
- 5 Multilevel mixed partitioning
- 6 Automated partitioning with PG_PARTMAN
- 7 Partition maintenance and useful scripts
- 1 Patroni installation and configuration
- 2 Adding new node to Patroni cluster
- 3 Removing node from Patroni cluster
- 4 Switchover on Patroni cluster
- 5 Change PostgreSQL configurations on Patroni
- 1 PG_AGENT
- 2 PG_CRON
- 3 PGAUDIT
- 4 PG_BUFFERCACHE
- 5 POSTGRES_DBA
- 6 PG_BACKGROUND
- 7 PGBADGER
- 8 PG_STAT_STATEMENTS
- 9 PG_QUALSTATS
- 10 PG_STAT_CACHE
- 11 pg_track_settings
- 12 POSTGIST
- 13 PG_PREWARM
- 14 PG_WAIT_SAMPLING
- 15 HYPOPG
- 16 PG PARTMAN
- 17 PG FREESPACEMAP
- 18 TABLE VERSION
- 19 POSTGRES_FDW
- 20 FILE_FDW
- 21 ORACLE_FDW
- 22 PGSTATTUPLE
- 23 PAGILA
- 24 PG_TRACK_SETTINGS
- 25 TABLEFUNC
- 26 PG_TRGM
- 27 INTARRAY
- 28 PG_NOTIFY
- 29 PG_TOP
- 30 EXTRA_WINDOW_FUNCTIONS
- 31 PG_HEXEDIT
- 32 PGMETRICS
- 33 SQLBENCH
- 34 PG_DUMPBINARY
- 35 PGroonga
- 36 PGTT
- 37 Pg_flame
- 38 PgHero
- 39 Pgtools
- 40 PostgreSQL Data Dictionary (pgdd)
- 1 Hardware BestPractices
- 2 OS Configuration BestPractices