<?xml version="1.0" encoding="UTF-8"?>
<!--generator='jetpack-16.5-a.1'-->
<!--Jetpack_Sitemap_Buffer_Page_XMLWriter-->
<?xml-stylesheet type="text/xsl" href="//thepostgresguy.com/sitemap.xsl"?>
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
 <url>
  <loc>https://thepostgresguy.com/</loc>
 </url>
 <url>
  <loc>https://thepostgresguy.com/blog/ai-how-to-use-it-and-how-not-to-use-it/</loc>
  <lastmod>2026-11-11T12:40:38Z</lastmod>
 </url>
 <url>
  <loc>https://thepostgresguy.com/blog/%f0%9f%93%96-announcing-postgresql-internals-mastery-volume-1/</loc>
  <lastmod>2026-11-11T12:40:21Z</lastmod>
 </url>
 <url>
  <loc>https://thepostgresguy.com/blog/auditing-user-access-in-postgres-databases-for-security-compliance/</loc>
  <lastmod>2026-11-11T12:40:09Z</lastmod>
 </url>
 <url>
  <loc>https://thepostgresguy.com/blog/autovacuum-was-running-your-table-still-bloated/</loc>
  <lastmod>2026-11-12T17:18:14Z</lastmod>
 </url>
 <url>
  <loc>https://thepostgresguy.com/blog/beyond-the-api-documentdb-vs-aurora-postgresql-for-json-workloads/</loc>
  <lastmod>2026-11-11T12:40:01Z</lastmod>
 </url>
 <url>
  <loc>https://thepostgresguy.com/blog/building-a-concurrent-ledger-in-postgres/</loc>
  <lastmod>2026-11-11T12:39:18Z</lastmod>
 </url>
 <url>
  <loc>https://thepostgresguy.com/blog/exploring-postgresql-extensions-and-their-functionality/</loc>
  <lastmod>2026-11-11T12:40:17Z</lastmod>
 </url>
 <url>
  <loc>https://thepostgresguy.com/blog/how-to-use-thepostgresguy-pgtools-hot-update-optimization-checklist-part-2/</loc>
  <lastmod>2026-11-11T12:40:30Z</lastmod>
 </url>
 <url>
  <loc>https://thepostgresguy.com/blog/how-to-use-thepostgresguy-pgtools-index-bloat-analysis-recovery-part-3/</loc>
  <lastmod>2026-11-11T02:18:33Z</lastmod>
 </url>
 <url>
  <loc>https://thepostgresguy.com/blog/how-to-use-thepostgresguy-pgtools-hot-update-optimization-checklist-part-1/</loc>
  <lastmod>2026-11-11T12:40:35Z</lastmod>
 </url>
 <url>
  <loc>https://thepostgresguy.com/blog/understanding-postgresql-toast-the-8kb-block-constraint-and-oversized-data-storage/</loc>
  <lastmod>2026-11-11T12:40:14Z</lastmod>
 </url>
 <url>
  <loc>https://thepostgresguy.com/blog/continuous-aggregates-the-materialized-view-that-refreshes-itself/</loc>
  <lastmod>2026-11-11T12:39:41Z</lastmod>
 </url>
 <url>
  <loc>https://thepostgresguy.com/blog/update-doesnt-update-xmin-xmax-and-the-ghost-rows-in-your-tables/</loc>
  <lastmod>2026-11-11T12:39:32Z</lastmod>
 </url>
 <url>
  <loc>https://thepostgresguy.com/blog/why-adding-more-shared_buffers-doesnt-always-help/</loc>
  <lastmod>2026-11-12T17:07:09Z</lastmod>
 </url>
 <url>
  <loc>https://thepostgresguy.com/about/</loc>
  <lastmod>2026-11-12T16:33:32Z</lastmod>
 </url>
 <url>
  <loc>https://thepostgresguy.com/archive/</loc>
  <lastmod>2026-11-11T13:07:04Z</lastmod>
 </url>
 <url>
  <loc>https://thepostgresguy.com/resume/</loc>
  <lastmod>2026-11-11T17:59:53Z</lastmod>
 </url>
 <url>
  <loc>https://thepostgresguy.com/blog/postgresql-vs-mongodb-for-json-the-internal-trade-offs-they-dont-tell-you-in-the-docs/</loc>
  <lastmod>2026-11-11T14:28:57Z</lastmod>
 </url>
 <url>
  <loc>https://thepostgresguy.com/blog/inside-hypercore-how-timescaledb-quietly-built-a-hybrid-oltp-olap-engine-on-postgres/</loc>
  <lastmod>2026-11-11T16:42:18Z</lastmod>
 </url>
 <url>
  <loc>https://thepostgresguy.com/blog/why-your-index-build-took-four-hours-maintenance_work_mem-explained/</loc>
  <lastmod>2026-11-11T16:41:47Z</lastmod>
 </url>
 <url>
  <loc>https://thepostgresguy.com/blog/but-its-a-simple-query-why-is-it-so-slow/</loc>
  <lastmod>2026-11-11T16:41:58Z</lastmod>
 </url>
 <url>
  <loc>https://thepostgresguy.com/blog/why-autovacuum-ignores-your-biggest-table/</loc>
  <lastmod>2026-11-11T16:05:49Z</lastmod>
 </url>
 <url>
  <loc>https://thepostgresguy.com/blog/navicat-premium-18-postgres-engineer-review/</loc>
  <lastmod>2026-11-11T16:42:26Z</lastmod>
 </url>
 <url>
  <loc>https://thepostgresguy.com/blog/why-your-sort-spilled-to-disk-and-what-to-do-about-it-2/</loc>
  <lastmod>2026-11-12T17:06:07Z</lastmod>
 </url>
 <url>
  <loc>https://thepostgresguy.com/blog/the-update-that-quietly-doubled-your-write-load/</loc>
  <lastmod>2026-11-12T17:12:32Z</lastmod>
 </url>
 <url>
  <loc>https://thepostgresguy.com/blog/why-raising-max-connections-made-everything-slower/</loc>
  <lastmod>2026-11-12T17:14:50Z</lastmod>
 </url>
 <url>
  <loc>https://thepostgresguy.com/blog/your-agent-needs-a-vector-database/</loc>
  <lastmod>2026-11-12T17:17:19Z</lastmod>
 </url>
 <url>
  <loc>https://thepostgresguy.com/blog/your-query-plan-changed-overnight-nobody-deployed-anything/</loc>
  <lastmod>2026-11-12T17:20:14Z</lastmod>
 </url>
 <url>
  <loc>https://thepostgresguy.com/blog/postgres-14-dies-in-16-days-your-upgrade-plan-is-pg-dump/</loc>
  <lastmod>2026-11-12T17:21:54Z</lastmod>
 </url>
 <url>
  <loc>https://thepostgresguy.com/blog/postgres-19-changed-five-defaults-your-config-didn-t-notice/</loc>
  <lastmod>2026-11-12T17:24:02Z</lastmod>
 </url>
 <url>
  <loc>https://thepostgresguy.com/blog/moving-to-wordpress-com/</loc>
  <lastmod>2026-11-12T18:04:09Z</lastmod>
 </url>
</urlset>
