<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://postgres.certuvia.com/</loc>
<lastmod>2026-11-08T16:22:53.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/1.1.1-your-first-connection</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/1.1.2-exploring-the-catalog</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/1.1.3-creating-your-first-database</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/1.1.4-roles-and-the-superuser</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/1.2.1-create-table-and-data-types</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/1.2.2-constraints-that-protect-your-data</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/1.2.3-foreign-keys-and-referential-integrity</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/1.2.4-altering-tables-safely</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/1.2.5-schema-organisation</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/1.2.6-enum-types-generated-columns-numeric-precision</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/1.3.1-select-from-where</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/1.3.2-sorting-and-limiting</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/1.3.3-pattern-matching-and-text</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/1.3.4-working-with-dates-and-times</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/1.3.5-citext-collations-accent-insensitive-search</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/1.4.1-inner-join</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/1.4.2-left-join-and-finding-gaps</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/1.4.3-self-joins-and-complex-joins</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/1.4.4-subqueries-and-in-exists</loc>
<lastmod>2026-10-30T13:58:52.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/1.5.1-count-sum-avg-min-max</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/1.5.2-group-by-and-having</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/1.5.3-insert-update-delete-returning</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/1.5.4-transactions-in-practice</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/1.5.5-copy-merge-keyset-pagination</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/1.6.1-jsonb-flexible-payloads-without-losing-structure</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/1.6.2-arrays-native-multi-valued-columns</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/1.6.3-range-types-and-exclusion-constraints</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/1.6.4-full-text-search</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.1.1-cluster-layout</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.1.2-postgresql-conf-deep-dive</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.1.3-pg-hba-conf-who-can-connect</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.1.4-reload-vs-restart</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.1.5-service-management-and-pg-ctl</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.2.1-roles-users-and-role-inheritance</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.2.2-grant-revoke-and-default-privileges</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.2.3-row-level-security</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.2.4-ssl-and-encrypted-connections</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.2.5-extensions-and-pgaudit</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.3.1-logical-backups-with-pg-dump</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.3.2-pg-restore-strategies</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.3.3-pg-dumpall-and-globals</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.3.4-physical-backups-with-pg-basebackup</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.3.5-point-in-time-recovery-pitr</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.4.1-statistics-views-and-counters</loc>
<lastmod>2026-10-14T20:45:25.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.4.2-long-running-queries-and-locks</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.4.3-table-and-index-bloat</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.4.4-autovacuum-behaviour-and-tuning</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.4.5-log-analysis-without-pgbadger</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.4.6-pg-buffercache-cache-introspection</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.4.7-pg-stat-io-i-o-breakdown</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.5.1-wal-and-the-replication-protocol</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.5.2-setting-up-streaming-replication</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.5.3-replication-slots</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.5.4-monitoring-replication-lag</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.5.5-logical-replication</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.6.1-vacuum-and-analyze-mechanics</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.6.2-vacuum-full-and-cluster</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.6.3-connection-pooling-with-pgbouncer</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.6.4-major-version-upgrade-with-pg-upgrade</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.6.5-maintenance-scheduling-and-runbooks</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.7.1-listen-notify-pub-sub-messaging</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.7.2-advisory-locks-application-level-mutexes</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.7.3-skip-locked-building-a-job-queue</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.7.4-event-triggers-ddl-auditing</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.7.5-foreign-data-wrappers-querying-external-sources</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/2.7.6-stored-functions-procedures-in-pl-pgsql</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.1.1-explain-and-explain-analyze</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.1.2-planner-statistics-and-bad-estimates</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.1.3-join-strategies</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.1.4-planner-configuration-and-query-rewrites</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.1.5-parallel-query-and-jit</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.2.1-b-tree-internals-and-multi-column-indexes</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.2.2-partial-and-expression-indexes</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.2.3-covering-indexes-and-index-only-scans</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.2.4-gin-for-full-text-search-and-jsonb</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.2.5-brin-hash-and-choosing-the-right-index-type</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.2.6-index-maintenance-and-bloat</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.2.7-bloom-indexes-multi-column-equality-at-minimal-cost</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.3.1-ctes-and-recursive-queries</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.3.2-window-functions</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.3.3-lateral-joins</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.3.4-jsonb-documents-in-postgresql</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.3.5-arrays-and-range-types</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.3.6-writeable-ctes-atomic-data-pipelines</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.3.7-window-frames-crosstab-advanced-analytics</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.4.1-table-partitioning</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.4.2-toast-and-large-column-storage</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.4.3-hot-updates-and-fillfactor</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.4.4-materialized-views-and-refresh-strategies</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.4.5-tablespaces-and-storage-placement</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.5.1-memory-tuning</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.5.2-wal-and-checkpoint-tuning</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.5.3-parallel-query-tuning</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.5.4-connections-timeouts-and-deadlocks</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.6.1-pg-stat-statements-finding-the-real-slow-queries</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.6.2-lock-contention-diagnosis</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.6.3-auto-explain-and-slow-query-forensics</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.6.4-pgbouncer-tuning-and-connection-storms</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.6.5-disaster-scenario-labs</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.7.1-fuzzy-search-toolkit-pg-trgm-unaccent-fuzzystrmatch</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.7.2-geospatial-queries-without-postgis</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.7.3-custom-aggregates-ordered-set-hypothetical-set-aggregates</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.7.4-table-defragmentation-vacuum-full-s-real-lock-cost</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
<url>
<loc>https://postgres.certuvia.com/lesson/3.7.5-logical-decoding-change-data-capture</loc>
<lastmod>2026-10-14T20:34:07.000Z</lastmod>
</url>
</urlset>
