Database Platforms · Advanced

Advanced Database Operations: Recovery, Security and Performance

Own a database that has to survive a bad day. Recovery you have proved, access control the database enforces, plans you can read, and a standby — all on PostgreSQL 16.

About this course

ULC-001 taught you to run an instance and ULC-002 taught you to query one. Neither made you the person who is called when the database is the reason the business has stopped. This course does. You inherit **Ardenfield Freight**: one PostgreSQL 16 cluster carrying three tenants' consignments, with no WAL archiving, an application role that is a superuser, a `trust` line somebody added to pg_hba.conf "for now", a slow-query list nobody has looked at, and no monitoring. Over ten lessons you turn it into a service that can be operated: a backup strategy derived from stated RPO and RTO targets, a point-in-time recovery drilled and timed until the recovered rows are on the screen, SCRAM authentication and a least-privilege role hierarchy, row-level security that the server enforces even against the table's owner, pgaudit on the statements that matter, an index set designed from `EXPLAIN (ANALYZE, BUFFERS)` and measured before and after, autovacuum tuned for the hot table, `pg_stat_statements` and lock views behind two operational views, and a streaming standby that you promote in a controlled drill and then rebuild. Two exercises start from a fault rather than a task. A table stops being maintained and its statistics tell you why before you touch it. Three sessions pile up on one relation and the query that is suffering turns out not to be blocked by the session that is at fault. You work both the way an on-call engineer works: observe, form one hypothesis, test it, fix, verify, write it down. Every configuration change is worked through a change record with a rollback that exists, and every claim about recovery is backed by output you captured. Each exercise runs on PostgreSQL 16 on your own lab machine; the SQL Server equivalents are taught beside them as documented concepts and T-SQL, so an ULC-001 graduate can carry each skill across. The final project is an engagement: **Westmarch Utilities**, three districts sharing one database and one superuser, to be delivered back as an operable service with a runbook and evidence that a recovery actually worked.

Content time
21 h 40 min
Lessons
10
Certificate
Yes
on completion
Choose a career path

Lesson 1 is free. Enroll in a career path to access its full courses.

Lesson 1 is a free preview — read it without an account.

Database Platforms — the kind of infrastructure this course is practised on

Outline

Lessons

10 lessons · 21 h 40 min
  1. Lesson 1: Recovery objectives and logical backupsFree preview

    Turn "we take backups" into two numbers the business has agreed to, then prove the logical backup by restoring it and reconciling what came back.

    1 h 40 min
  2. Lesson 2: WAL archiving and point-in-time recovery

    Turn on continuous archiving, take a base backup, destroy a table on purpose, and recover a second cluster to the moment before it happened — then time the whole thing and write the drill up.

    2 h 30 min
  3. Lesson 3: Authentication and least privilege

    Find the trust rule somebody left in pg_hba.conf, take it out through a written change record, and replace one superuser application role with a role hierarchy that survives the next table being added.

    2 h 10 min
  4. Lesson 4: Row-level security and audit logging

    Move tenant isolation out of application code and into the server, force it to apply even to the table's owner, take a column away from the roles that do not need it, and start recording who does what.

    2 h 20 min
  5. Lesson 5: Reading query plans

    Capture the workload's plans before changing anything, learn to read cost against actual and buffers against both, and fix the estimates the planner is getting wrong.

    2 h
  6. Lesson 6: Indexing strategy and bloat

    Design the index set the Ardenfield workload actually needs — composite, partial, expression, covering and GIN — build them without locking the table, measure the difference against the baseline, and throw away the one that turned out to be redundant.

    2 h 20 min
  7. Lesson 7: Vacuum, statistics and wraparound

    Start from a table somebody stopped maintaining, diagnose it from the statistics views before touching it, tune autovacuum for a hot table, and understand the one maintenance failure that can stop a database entirely.

    2 h
  8. Lesson 8: Monitoring baseline and blocking

    Turn the views you happen to know into two views anybody can read, then meet a blocking chain in which the query that is suffering is not blocked by the session that is at fault.

    2 h
  9. Lesson 9: Streaming replication and failover

    Build a standby that is milliseconds behind the primary, prove it is really streaming, promote it in a controlled drill, and then rebuild the pair so you end where you started — with the procedure written down.

    2 h 30 min
  10. Lesson 10: Configuration, change control and upgrades

    Learn which of the four places a setting can live wins, apply a tuned configuration through a change record with a rollback, plan a major-version upgrade, and write the runbook that makes the whole estate somebody else's to operate.

    2 h 10 min

Where it leads

Part of these career paths