
Explore PostgreSQL database architecture, upgrades, and replication to build a solid foundation. Practice hands-on work with performance tuning and real-time interview questions to become interview-ready.
Explore PostgreSQL terminology, detailing objects such as tables, indexes, and columns, and how data blocks store data on disk as pages with an 8k default size and unlimited database size.
Explore PostgreSQL architecture: the postmaster supervises connections and authentication, while shared memory buffers manage data and wal files, with checkpoint, archiver, log collector, and stats collector.
explores the PostgreSQL database cluster: multiple databases within a single instance share a data directory, template databases, postmaster background process, and basic cluster startup, shutdown, and inspection using pg_ctl.
Learn about PostgreSQL configuration files in the data directory, including postgresql.conf, pg_hba.conf, and pg_ident.conf, and what parameters they store. Remember to back up before edits and restart after changes.
Learn the difference between schemas and users in Postgres, where users are login connections and schemas help organize the database, and how to check the current schema and search_path.
Understand what a tablespace is in PostgreSQL, including spaces like pg_default and pg_global, and how temporary tablespaces are created as needed. Learn how to create additional tablespaces and view them.
Learn backup and recovery operations in Postgres, covering filesystem, base (physical) and logical backups, pg_dump formats, and strategies for schema, table, and database backups.
Explore pgbackrest backup strategies for PostgreSQL, including full, differential, and incremental backups, with encryption, delta options for partial restores, and retention controls.
Explain how Barman and Bart manage remote backups for PostgreSQL, including complete and incremental backups, retention policies, compression, and point-in-time recovery across local and remote databases.
Explore the differences between Barman, Bart, and PgBackRest, including backup catalogs, naming standards, and the setup of a backup server, target connections, and repository configurations.
Explore vacuuming in PostgreSQL, including plain vacuum vs vacuum full, and follow best practices to run plain vacuum after many transactions to reclaim space and reduce fragmentation.
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.
The course provides the candidate with an extensive knowledge of PostgreSQL Database Administration with real life scenarios .
Topics discussed are:
PostgreSQL Database Naming Conventions
PostgreSQL Database Data Directory
PostgreSQL Database default Bin Directory
PostgreSQL Database default configuration files location
PostgreSQL Database Maintenance
PostgreSQL Database Architecture
PostgreSQL Database Backup & Recovery
PostgreSQL Database Performance
PostgreSQL Database Cluster
PostgreSQL Database Replication
PostgreSQL Database Upgrade
PostgreSQL Database/Tables Vacuum operations
PostgreSQL Database Views
PostgreSQL Database Tablespace management
PostgreSQL Database Users
PostgreSQL Database Schemas
PostgreSQL Database Configuration Files
Minimum hardware required to install and run PostgreSQL are:
============================================
a 1 GHz processor.
2 GB of RAM.
512 MB of HDD.
Software Requirements
root or super user access is required on Linux Systems
Views in postgreSQL
==============
pg_aggregate aggregate functions
pg_am index access methods
pg_amop access method operators
pg_amproc access method support procedures
pg_attrdef column default values
pg_attribute table columns ("attributes")
pg_authid authorization identifiers (roles)
pg_auth_members authorization identifier membership relationships
pg_cast casts (data type conversions)
pg_class tables, indexes, sequences, views ("relations")
pg_constraint check constraints, unique constraints, primary key constraints, foreign key constraints
pg_collation collations (locale information)
pg_conversion encoding conversion information
pg_database databases within this database cluster
pg_db_role_setting per-role and per-database settings
pg_default_acl default privileges for object types
pg_depend dependencies between database objects
pg_description descriptions or comments on database objects
pg_enum enum label and value definitions
pg_extension installed extensions
pg_foreign_data_wrapper foreign-data wrapper definitions
pg_foreign_server foreign server definitions
pg_foreign_table additional foreign table information
pg_index additional index information
pg_inherits table inheritance hierarchy
pg_language languages for writing functions
pg_largeobject data pages for large objects
pg_largeobject_metadata metadata for large objects
pg_namespace schemas
pg_opclass access method operator classes
pg_operator operators
pg_opfamily access method operator families
pg_pltemplate template data for procedural languages
pg_proc functions and procedures
pg_rewrite query rewrite rules
pg_seclabel security labels on database objects
pg_shdepend dependencies on shared objects
pg_shdescription comments on shared objects
pg_statistic planner statistics
pg_tablespace tablespaces within this database cluster
pg_trigger triggers
pg_ts_config text search configurations
pg_ts_config_map text search configurations' token mappings
pg_ts_dict text search dictionaries
pg_ts_parser text search parsers
pg_ts_template text search templates
pg_type data types
pg_user_mapping mappings of users to foreign servers