<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Database Observability on Grafana Labs</title><link>https://grafana.com/docs/learning-hub/intro-to-db-olly/02-database-observability/</link><description>Recent content in Database Observability on Grafana Labs</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="/docs/learning-hub/intro-to-db-olly/02-database-observability/index.xml" rel="self" type="application/rss+xml"/><item><title>Database Observability</title><link>https://grafana.com/docs/learning-hub/intro-to-db-olly/02-database-observability/05-module-transition/</link><pubDate>Tue, 02 Jun 2026 12:47:35 -0500</pubDate><guid>https://grafana.com/docs/learning-hub/intro-to-db-olly/02-database-observability/05-module-transition/</guid><content><![CDATA[&lt;h2 id=&#34;database-observability&#34;&gt;Database Observability&lt;/h2&gt;
&lt;h2 id=&#34;what-you-learned-in-the-intro-module&#34;&gt;What you learned in the intro module&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Where database monitoring fits in the observability stack&lt;/li&gt;
&lt;li&gt;The two approaches: Database Observability and database integrations&lt;/li&gt;
&lt;li&gt;How to choose the right approach for your database technology&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p&gt;What you&amp;rsquo;ll do in this module:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;What it provides&lt;/strong&gt; — Query-level performance, explain plans, wait events, and managed database support&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;How it works&lt;/strong&gt; — The architecture that powers deep database visibility&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MySQL setup&lt;/strong&gt; — Deploy Alloy and configure Database Observability for MySQL&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;PostgreSQL setup&lt;/strong&gt; — Deploy Alloy and configure Database Observability for PostgreSQL&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;estimated-time&#34;&gt;Estimated time&lt;/h2&gt;
&lt;p&gt;10–15 minutes (concept slides) &#43; 30–60 minutes (hands-on learning path)&lt;/p&gt;
]]></content><description>&lt;h2 id="database-observability">Database Observability&lt;/h2>
&lt;h2 id="what-you-learned-in-the-intro-module">What you learned in the intro module&lt;/h2>
&lt;ul>
&lt;li>Where database monitoring fits in the observability stack&lt;/li>
&lt;li>The two approaches: Database Observability and database integrations&lt;/li>
&lt;li>How to choose the right approach for your database technology&lt;/li>
&lt;/ul>
&lt;hr />
&lt;p>What you&amp;rsquo;ll do in this module:&lt;/p></description></item><item><title>What Database Observability provides</title><link>https://grafana.com/docs/learning-hub/intro-to-db-olly/02-database-observability/06-what-db-olly-provides/</link><pubDate>Tue, 02 Jun 2026 12:47:35 -0500</pubDate><guid>https://grafana.com/docs/learning-hub/intro-to-db-olly/02-database-observability/06-what-db-olly-provides/</guid><content><![CDATA[&lt;h2 id=&#34;beyond-basic-metrics&#34;&gt;Beyond basic metrics&lt;/h2&gt;
&lt;p&gt;Traditional database monitoring tells you &lt;em&gt;that&lt;/em&gt; something is wrong. Database Observability tells you &lt;em&gt;why&lt;/em&gt;.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Basic monitoring (integrations)&lt;/th&gt;
              &lt;th&gt;Database Observability&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Queries per second (aggregate)&lt;/td&gt;
              &lt;td&gt;Which specific queries are slow and why&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Connection count&lt;/td&gt;
              &lt;td&gt;Which connections consume the most resources&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Replication status (up/down)&lt;/td&gt;
              &lt;td&gt;How far behind a replica is and what&amp;rsquo;s causing lag&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;CPU and memory usage&lt;/td&gt;
              &lt;td&gt;Which queries drive resource consumption&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;what-you-see-in-the-dashboards&#34;&gt;What you see in the dashboards&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Queries Overview&lt;/strong&gt; is your starting point. It shows RED metrics (rate, errors, duration) for every query, so you can sort by duration and immediately find the slowest queries.&lt;/p&gt;
&lt;p&gt;From there, you can drill into any query to explore:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Query samples&lt;/strong&gt; — Individual executions with timing and parameters&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Explain plans&lt;/strong&gt; — Visual representation of how the database executes each query, with cost-coded nodes highlighting expensive operations&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Wait events&lt;/strong&gt; — Where queries spend time waiting for locks, I/O, or other resources instead of executing&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Table schemas&lt;/strong&gt; — Table structures, indexes, and constraints that may reveal missing indexes&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AI-powered suggestions&lt;/strong&gt; — Optimization recommendations based on query patterns&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;managed-database-support&#34;&gt;Managed database support&lt;/h2&gt;
&lt;p&gt;Database Observability works with the following self-managed databases and managed cloud services:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Self-managed MySQL and PostgreSQL&lt;/li&gt;
&lt;li&gt;Amazon RDS (MySQL and PostgreSQL)&lt;/li&gt;
&lt;li&gt;Amazon Aurora (MySQL and PostgreSQL)&lt;/li&gt;
&lt;li&gt;Google Cloud SQL (MySQL and PostgreSQL)&lt;/li&gt;
&lt;li&gt;Azure Database for MySQL and PostgreSQL&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For cloud-managed databases, an infrastructure metrics panel surfaces CPU utilization, memory usage, IOPS, and network throughput alongside your query data.&lt;/p&gt;
]]></content><description>&lt;h2 id="beyond-basic-metrics">Beyond basic metrics&lt;/h2>
&lt;p>Traditional database monitoring tells you &lt;em>that&lt;/em> something is wrong. Database Observability tells you &lt;em>why&lt;/em>.&lt;/p>
&lt;section class="expand-table-wrapper">&lt;div class="responsive-table-wrapper">
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Basic monitoring (integrations)&lt;/th>
&lt;th>Database Observability&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Queries per second (aggregate)&lt;/td>
&lt;td>Which specific queries are slow and why&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Connection count&lt;/td>
&lt;td>Which connections consume the most resources&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Replication status (up/down)&lt;/td>
&lt;td>How far behind a replica is and what&amp;rsquo;s causing lag&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>CPU and memory usage&lt;/td>
&lt;td>Which queries drive resource consumption&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/div>
&lt;/section>&lt;h2 id="what-you-see-in-the-dashboards">What you see in the dashboards&lt;/h2>
&lt;p>&lt;strong>Queries Overview&lt;/strong> is your starting point. It shows RED metrics (rate, errors, duration) for every query, so you can sort by duration and immediately find the slowest queries.&lt;/p></description></item><item><title>How Database Observability works</title><link>https://grafana.com/docs/learning-hub/intro-to-db-olly/02-database-observability/07-how-db-olly-works/</link><pubDate>Tue, 02 Jun 2026 12:47:35 -0500</pubDate><guid>https://grafana.com/docs/learning-hub/intro-to-db-olly/02-database-observability/07-how-db-olly-works/</guid><content><![CDATA[&lt;h2 id=&#34;architecture&#34;&gt;Architecture&lt;/h2&gt;
&lt;p&gt;&lt;img
  class=&#34;lazyload d-inline-block&#34;
  data-src=&#34;architecture.svg&#34;
  alt=&#34;Database Observability architecture&#34;/&gt;&lt;/p&gt;
&lt;h2 id=&#34;how-data-flows&#34;&gt;How data flows&lt;/h2&gt;
&lt;p&gt;Database Observability uses Grafana Alloy to collect two types of telemetry from your databases:&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Signal&lt;/th&gt;
              &lt;th&gt;What it captures&lt;/th&gt;
              &lt;th&gt;Where it&amp;rsquo;s stored&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Metrics&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Query counts, latency, errors, rows affected, resource usage&lt;/td&gt;
              &lt;td&gt;Grafana Cloud Mimir (Prometheus)&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Logs&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Query samples, explain plans, schema details, wait events&lt;/td&gt;
              &lt;td&gt;Grafana Cloud Loki&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;collection-sources&#34;&gt;Collection sources&lt;/h2&gt;
&lt;p&gt;The data comes from built-in database statistics, not from intercepting queries:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;PostgreSQL&lt;/strong&gt; uses &lt;code&gt;pg_stat_statements&lt;/code&gt; for aggregate query statistics and &lt;code&gt;pg_stat_activity&lt;/code&gt; for active session information. The &lt;code&gt;pg_stat_statements&lt;/code&gt; extension must be installed and enabled.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MySQL&lt;/strong&gt; uses &lt;code&gt;Performance Schema&lt;/code&gt;, which is enabled by default in MySQL 8.0&#43;. Query samples are captured from running queries in the performance schema tables.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;what-grafana-alloy-does&#34;&gt;What Grafana Alloy does&lt;/h2&gt;
&lt;p&gt;Grafana Alloy runs alongside your database and handles collection:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Database exporters&lt;/strong&gt; scrape aggregate metrics from &lt;code&gt;pg_stat_statements&lt;/code&gt; or &lt;code&gt;Performance Schema&lt;/code&gt; and forward them to Grafana Cloud Mimir.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Database Observability components&lt;/strong&gt; query your database for detailed information (query samples, explain plans, schema details) and forward structured logs to Grafana Cloud Loki.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Purpose-built dashboards&lt;/strong&gt; in Grafana Cloud correlate these metrics and logs into a unified view of query performance.&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;Explain plans run &lt;code&gt;EXPLAIN&lt;/code&gt; (not &lt;code&gt;EXPLAIN ANALYZE&lt;/code&gt;) on sampled queries, so they estimate costs using cached statistics without actually executing the query.&lt;/p&gt;&lt;/blockquote&gt;
]]></content><description>&lt;h2 id="architecture">Architecture&lt;/h2>
&lt;p>&lt;img
class="lazyload d-inline-block"
data-src="architecture.svg"
alt="Database Observability architecture"/>&lt;/p>
&lt;h2 id="how-data-flows">How data flows&lt;/h2>
&lt;p>Database Observability uses Grafana Alloy to collect two types of telemetry from your databases:&lt;/p>
&lt;section class="expand-table-wrapper">&lt;div class="responsive-table-wrapper">
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Signal&lt;/th>
&lt;th>What it captures&lt;/th>
&lt;th>Where it&amp;rsquo;s stored&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;strong>Metrics&lt;/strong>&lt;/td>
&lt;td>Query counts, latency, errors, rows affected, resource usage&lt;/td>
&lt;td>Grafana Cloud Mimir (Prometheus)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Logs&lt;/strong>&lt;/td>
&lt;td>Query samples, explain plans, schema details, wait events&lt;/td>
&lt;td>Grafana Cloud Loki&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/div>
&lt;/section>&lt;h2 id="collection-sources">Collection sources&lt;/h2>
&lt;p>The data comes from built-in database statistics, not from intercepting queries:&lt;/p></description></item><item><title>MySQL with Database Observability</title><link>https://grafana.com/docs/learning-hub/intro-to-db-olly/02-database-observability/08-mysql-db-olly/</link><pubDate>Tue, 02 Jun 2026 12:47:35 -0500</pubDate><guid>https://grafana.com/docs/learning-hub/intro-to-db-olly/02-database-observability/08-mysql-db-olly/</guid><content><![CDATA[&lt;h2 id=&#34;mysql-with-database-observability&#34;&gt;MySQL with Database Observability&lt;/h2&gt;
&lt;p&gt;Database Observability gives you deep visibility into MySQL query performance, whether your database is self-managed or running on a managed cloud service.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;&lt;/th&gt;
              &lt;th&gt;&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;What it monitors&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Query performance, wait events, connections, replication, InnoDB health&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;How it works&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Grafana Alloy reads from MySQL Performance Schema (enabled by default in 8.0&#43;)&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;What you see&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Top queries by duration, explain plans with cost highlighting, wait events, query samples&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Supported variants&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Self-managed MySQL 8.0&#43;, Amazon RDS, Amazon Aurora, Google Cloud SQL, Azure Database&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;what-youll-get&#34;&gt;What you&amp;rsquo;ll get&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Queries Overview dashboard&lt;/strong&gt; showing RED metrics for every query&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Explain plans&lt;/strong&gt; revealing full table scans, missing indexes, and expensive joins&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Wait events&lt;/strong&gt; showing lock contention, I/O bottlenecks, and resource waits&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Query samples&lt;/strong&gt; with individual execution timing&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Table schemas&lt;/strong&gt; highlighting index coverage and constraints&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;trade-offs&#34;&gt;Trade-offs&lt;/h2&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Strengths&lt;/th&gt;
              &lt;th&gt;Considerations&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Deepest MySQL visibility available in Grafana Cloud&lt;/td&gt;
              &lt;td&gt;Requires MySQL 8.0&#43; (MariaDB not supported)&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Query-level explain plans and wait events&lt;/td&gt;
              &lt;td&gt;Requires a monitoring user with specific privileges&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Managed database support (RDS, Aurora, CloudSQL, Azure)&lt;/td&gt;
              &lt;td&gt;First-time setup takes 30-60 minutes&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;AI-powered optimization suggestions&lt;/td&gt;
              &lt;td&gt;Uses Grafana Alloy as collection agent&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;hr /&gt;









  
  
&lt;div class=&#34;learning-path-card&#34;&gt;
  




  
  
    
  


&lt;div class=&#34;pathway-row__label mb-1&#34;&gt;
  
  &lt;svg width=&#34;40&#34; height=&#34;40&#34; viewBox=&#34;0 0 40 40&#34; fill=&#34;none&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;rect x=&#34;0.5&#34; y=&#34;0.5&#34; width=&#34;39&#34; height=&#34;39&#34; rx=&#34;3.5&#34; fill=&#34;white&#34; stroke=&#34;#D8D8DF&#34;&gt;&lt;/rect&gt;&lt;path d=&#34;M8 20H14C16.5 20 18.5 18 18.5 15.5V12&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;2&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;&gt;&lt;/path&gt;&lt;path d=&#34;M8 20H14C16.5 20 18.5 22 18.5 24.5V28&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;2&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;&gt;&lt;/path&gt;&lt;path d=&#34;M14 20H32&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;2&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;&gt;&lt;/path&gt;&lt;circle cx=&#34;18.5&#34; cy=&#34;12&#34; r=&#34;2&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;2&#34; fill=&#34;white&#34;&gt;&lt;/circle&gt;&lt;circle cx=&#34;18.5&#34; cy=&#34;28&#34; r=&#34;2&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;2&#34; fill=&#34;white&#34;&gt;&lt;/circle&gt;&lt;path d=&#34;M29 17L32 20L29 23&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;2&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;&gt;&lt;/path&gt;&lt;/svg&gt;

  Learning path
&lt;/div&gt;

&lt;h4&gt;MySQL Database Observability&lt;/h4&gt;
&lt;p&gt;Set up Grafana Cloud Database Observability for MySQL to monitor query performance, explain plans, wait events, and query samples.&lt;/p&gt;

&lt;div class=&#34;d-sm-flex gap-half mb-2&#34;&gt;
  &lt;div class=&#34;d-flex align-items-center gap-half text-gray-12 mt-half body-small&#34;&gt;
    &lt;div class=&#34;journey-list__icon&#34;&gt;
  &lt;svg width=&#34;24&#34; height=&#34;24&#34; viewBox=&#34;0 0 24 24&#34; fill=&#34;none&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
  &lt;path fill-rule=&#34;evenodd&#34; clip-rule=&#34;evenodd&#34; d=&#34;M11.9995 22.5039C17.7985 22.5039 22.4995 17.8029 22.4995 12.0039C22.4995 6.20492 17.7985 1.50391 11.9995 1.50391C6.20052 1.50391 1.49951 6.20492 1.49951 12.0039C1.49951 17.8029 6.20052 22.5039 11.9995 22.5039Z&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;1.5&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;/&gt;
  &lt;path d=&#34;M11.9995 12.0039V8.25391&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;1.5&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;/&gt;
  &lt;path d=&#34;M11.9995 12.0078L16.6865 16.6958&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;1.5&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;/&gt;
&lt;/svg&gt;
&lt;/div&gt;
    &lt;span&gt;13 min&lt;/span&gt;
  &lt;/div&gt;
  
  &lt;div class=&#34;d-flex align-items-center gap-half text-gray-12 mt-half body-small&#34;&gt;
    &lt;div class=&#34;journey-list__icon&#34;&gt;
  &lt;svg width=&#34;24&#34; height=&#34;25&#34; viewBox=&#34;0 0 24 25&#34; fill=&#34;none&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
  &lt;path fill-rule=&#34;evenodd&#34; clip-rule=&#34;evenodd&#34; d=&#34;M0.75 9.83984C0.75 7.6307 2.54086 5.83984 4.75 5.83984H19.25C21.4591 5.83984 23.25 7.6307 23.25 9.83984V19.1198C23.25 21.329 21.4591 23.1198 19.25 23.1198H4.75C2.54086 23.1198 0.75 21.329 0.75 19.1198V9.83984Z&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;1.5&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;/&gt;
  &lt;path fill-rule=&#34;evenodd&#34; clip-rule=&#34;evenodd&#34; d=&#34;M14.25 1.52344H9.75C8.92157 1.52344 8.25 2.16815 8.25 2.96344V5.84344H15.75V2.96344C15.75 2.16815 15.0784 1.52344 14.25 1.52344Z&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;1.5&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;/&gt;
  &lt;path fill-rule=&#34;evenodd&#34; clip-rule=&#34;evenodd&#34; d=&#34;M12 15.923C12.8284 15.923 13.5 15.2783 13.5 14.483C13.5 13.6877 12.8284 13.043 12 13.043C11.1716 13.043 10.5 13.6877 10.5 14.483C10.5 15.2783 11.1716 15.923 12 15.923Z&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;1.5&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;/&gt;
  &lt;path fill-rule=&#34;evenodd&#34; clip-rule=&#34;evenodd&#34; d=&#34;M13.2742 8.91315L13.7162 10.309C13.8671 10.7897 14.3806 11.0756 14.8902 10.9628L16.3622 10.6354C16.9349 10.5115 17.5249 10.7602 17.8175 11.2488C18.11 11.7374 18.037 12.3519 17.6372 12.7647L16.6062 13.8312C16.2493 14.1997 16.2493 14.7703 16.6062 15.1388L17.6372 16.2053C18.0379 16.6179 18.1115 17.2331 17.8188 17.7222C17.526 18.2113 16.9353 18.4601 16.3622 18.3356L14.8902 18.0082C14.3806 17.8953 13.8671 18.1812 13.7162 18.662L13.2742 20.0559C13.1055 20.5961 12.5877 20.9661 12.0002 20.9661C11.4128 20.9661 10.8949 20.5961 10.7262 20.0559L10.2842 18.661C10.1333 18.1803 9.61982 17.8944 9.11021 18.0072L7.63821 18.3346C7.06469 18.4597 6.47325 18.2109 6.18034 17.7213C5.88742 17.2317 5.96161 16.6159 6.36321 16.2034L7.39421 15.1368C7.75116 14.7684 7.75116 14.1978 7.39421 13.8293L6.36321 12.7628C5.96346 12.35 5.89039 11.7354 6.18296 11.2468C6.47553 10.7582 7.06551 10.5096 7.63821 10.6335L9.11021 10.9608C9.61923 11.0739 10.1324 10.7889 10.2842 10.309L10.7262 8.91507C10.8944 8.37473 11.412 8.00435 11.9995 8.00391C12.5869 8.00346 13.1051 8.37307 13.2742 8.91315V8.91315Z&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;1.5&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;/&gt;
&lt;/svg&gt;
&lt;/div&gt;
    &lt;span&gt;Intermediate&lt;/span&gt;
  &lt;/div&gt;
  
  
  &lt;div class=&#34;d-flex align-items-center gap-half text-gray-12 mt-half body-small&#34;&gt;
    &lt;div class=&#34;journey-list__icon&#34;&gt;
  &lt;svg width=&#34;24&#34; height=&#34;24&#34; viewBox=&#34;0 0 24 24&#34; fill=&#34;none&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
  &lt;path fill-rule=&#34;evenodd&#34; clip-rule=&#34;evenodd&#34; d=&#34;M0.75 2.75C0.75 1.64543 1.64543 0.75 2.75 0.75H21.25C22.3546 0.75 23.25 1.64543 23.25 2.75V21.25C23.25 22.3546 22.3546 23.25 21.25 23.25H2.75C1.64543 23.25 0.75 22.3546 0.75 21.25V2.75Z&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;1.5&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;/&gt;
  &lt;path d=&#34;M12 4.5L7.5 10.5L4.5 7.5&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;1.5&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;/&gt;
  &lt;path d=&#34;M14.25 8.25H18.75&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;1.5&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;/&gt;
  &lt;path d=&#34;M12 13.5L7.5 19.5L4.5 16.5&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;1.5&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;/&gt;
  &lt;path d=&#34;M14.25 17.25H18.75&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;1.5&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;/&gt;
&lt;/svg&gt;
&lt;/div&gt;
    &lt;span&gt;Docs &amp;amp; blog posts&lt;/span&gt;
  &lt;/div&gt;
  
&lt;/div&gt;







  


&lt;div class=&#34;orange-outline-list br-12 border-color-orange-flat border-width-2 p-1-5 pb-1&#34; x3-data=&#34;selectStack(&#39;/docs/learning-paths/mysql-db-olly&#39;)&#34;&gt;
  &lt;div class=&#34;icon-heading d-flex&#34;&gt;
    &lt;div class=&#34;icon-heading__container&#34;&gt;
  &lt;svg width=&#34;30&#34; height=&#34;30&#34; viewBox=&#34;0 0 25 26&#34; fill=&#34;none&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
  &lt;path d=&#34;M16.1401 14.4402C16.2141 14.4402 16.2852 14.4101 16.3373 14.3581C16.5355 14.1569 21.1904 9.39886 21.1904 5.0513C21.1904 2.26537 18.924 0 16.1391 0C13.3541 0 11.0878 2.26537 11.0878 5.0513C11.0878 9.39886 15.7427 14.1569 15.9419 14.3581C15.9939 14.4111 16.065 14.4402 16.1401 14.4402ZM13.5814 5.0513C13.5814 3.63882 14.7266 2.49262 16.1401 2.49262C17.5536 2.49262 18.6978 3.63781 18.6978 5.0513C18.6978 6.46478 17.5526 7.60999 16.1401 7.60999C14.7276 7.60999 13.5814 6.46478 13.5814 5.0513Z&#34; fill=&#34;#FF671D&#34;/&gt;
  &lt;path d=&#34;M24.9034 21.9305C24.0595 18.9113 17.9561 17.4147 12.5704 16.0933C9.54023 15.3496 5.76827 14.4246 5.73524 13.6037C5.72823 13.4225 5.97949 12.7398 9.52922 11.5516C9.80551 11.4585 9.96668 11.1842 9.91262 10.8989C9.85856 10.6136 9.60229 10.4164 9.318 10.4304C4.13956 10.6807 0.501743 12.1602 0.0482666 14.1993C-0.172966 15.1944 0.26149 16.749 3.58398 18.5009L4.29773 18.8763C6.54509 20.0545 8.16879 20.9064 8.1808 21.6992C8.19482 22.6502 5.93745 24.0507 3.72713 25.296C3.58398 25.3761 3.5139 25.5433 3.55495 25.7024C3.59699 25.8616 3.74014 25.9717 3.90431 25.9717H23.0354C23.1315 25.9717 23.2226 25.9337 23.2907 25.8656C24.6971 24.4581 25.2397 23.1347 24.9034 21.9305Z&#34; fill=&#34;#FBC55A&#34;/&gt;
&lt;/svg&gt;
&lt;/div&gt;
    &lt;div class=&#34;no-anchor-heading&#34;&gt;
      &lt;h4&gt;Open in Grafana Cloud&lt;/h4&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&#34;mt-1&#34;&gt;
    &lt;p class=&#34;mb-1 maxw-650&#34;&gt;
      
        Complete this learning path directly in your Grafana Cloud stack, or in the Grafana Play stack, with an interactive learning experience.
      
    &lt;/p&gt;
    &lt;div class=&#34;d-flex column-gap-1 justify-content-end&#34;&gt;
      &lt;a
        x3-bind:href=&#34;launchUrl&#34;
        class=&#34;btn btn--primary br-8&#34;
        target=&#34;_blank&#34;
        x3-on:click=&#34;trackPathfinderClick(&#39;mysql-db-olly&#39;, &#39;MySQL Database Observability&#39;)&#34;&gt;
        Open in Grafana Cloud
      &lt;/a&gt;
      
      &lt;a
        x3-bind:href=&#34;playUrl&#34;
        class=&#34;btn btn--primary br-8&#34;
        target=&#34;_blank&#34;
        x3-on:click=&#34;trackPlayClick(&#39;mysql-db-olly&#39;, &#39;MySQL Database Observability&#39;)&#34;&gt;
        Try in Grafana Play
      &lt;/a&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;div class=&#34;mt-1&#34;&gt;
  &lt;a
    href=&#34;/docs/learning-paths/mysql-db-olly/&#34;
    target=&#34;_blank&#34;
    rel=&#34;noopener noreferrer&#34;
    class=&#34;btn btn--outline arrow w-100p br-8&#34;
    x3-on:click=&#34;$dispatch(&#39;track-view-on-website&#39;, {
      pathId: &#39;mysql-db-olly&#39;,
      pathTitle: &#39;MySQL Database Observability&#39;
    })&#34;&gt;
    View on website
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href=&#34;/docs/learning-hub/intro-to-db-olly/02-database-observability/10-db-olly-complete/&#34; class=&#34;btn btn-lg btn-primary&#34;&gt;Path completed&lt;/a&gt;&lt;/p&gt;
]]></content><description>&lt;h2 id="mysql-with-database-observability">MySQL with Database Observability&lt;/h2>
&lt;p>Database Observability gives you deep visibility into MySQL query performance, whether your database is self-managed or running on a managed cloud service.&lt;/p></description></item><item><title>PostgreSQL with Database Observability</title><link>https://grafana.com/docs/learning-hub/intro-to-db-olly/02-database-observability/09-postgresql-db-olly/</link><pubDate>Tue, 02 Jun 2026 12:47:35 -0500</pubDate><guid>https://grafana.com/docs/learning-hub/intro-to-db-olly/02-database-observability/09-postgresql-db-olly/</guid><content><![CDATA[&lt;h2 id=&#34;postgresql-with-database-observability&#34;&gt;PostgreSQL with Database Observability&lt;/h2&gt;
&lt;p&gt;Database Observability gives you deep visibility into PostgreSQL query performance, whether your database is self-managed or running on a managed cloud service.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;&lt;/th&gt;
              &lt;th&gt;&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;What it monitors&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Query performance, wait events, connections, replication lag, table bloat&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;How it works&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Grafana Alloy reads from &lt;code&gt;pg_stat_statements&lt;/code&gt; and &lt;code&gt;pg_stat_activity&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;What you see&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Top queries by duration, explain plans with cost highlighting, wait events, query samples&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Supported variants&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Self-managed PostgreSQL 14&#43;, Amazon RDS, Amazon Aurora, Google Cloud SQL, Azure Database&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;what-youll-get&#34;&gt;What you&amp;rsquo;ll get&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Queries Overview dashboard&lt;/strong&gt; showing RED metrics for every query&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Explain plans&lt;/strong&gt; with visual graphs showing scan types, join strategies, and cost distribution&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Wait events&lt;/strong&gt; categorized by I/O, lock, and network waits from &lt;code&gt;pg_stat_activity&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Query samples&lt;/strong&gt; with individual execution timing and parameters&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Table schemas&lt;/strong&gt; showing structures, indexes, and constraints&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;trade-offs&#34;&gt;Trade-offs&lt;/h2&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Strengths&lt;/th&gt;
              &lt;th&gt;Considerations&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Deepest PostgreSQL visibility available in Grafana Cloud&lt;/td&gt;
              &lt;td&gt;Requires PostgreSQL 14&#43;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Visual explain plans with cost-coded operation nodes&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;pg_stat_statements&lt;/code&gt; extension must be installed (requires restart)&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Wait events from &lt;code&gt;pg_stat_activity&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Requires a monitoring user with &lt;code&gt;pg_monitor&lt;/code&gt; and &lt;code&gt;pg_read_all_stats&lt;/code&gt; roles&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Managed database support (RDS, Aurora, CloudSQL, Azure)&lt;/td&gt;
              &lt;td&gt;First-time setup takes 30-60 minutes&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;AI-powered optimization suggestions&lt;/td&gt;
              &lt;td&gt;Uses Grafana Alloy as collection agent&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;hr /&gt;









  
  
&lt;div class=&#34;learning-path-card&#34;&gt;
  




  
  
    
  


&lt;div class=&#34;pathway-row__label mb-1&#34;&gt;
  
  &lt;svg width=&#34;40&#34; height=&#34;40&#34; viewBox=&#34;0 0 40 40&#34; fill=&#34;none&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;rect x=&#34;0.5&#34; y=&#34;0.5&#34; width=&#34;39&#34; height=&#34;39&#34; rx=&#34;3.5&#34; fill=&#34;white&#34; stroke=&#34;#D8D8DF&#34;&gt;&lt;/rect&gt;&lt;path d=&#34;M8 20H14C16.5 20 18.5 18 18.5 15.5V12&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;2&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;&gt;&lt;/path&gt;&lt;path d=&#34;M8 20H14C16.5 20 18.5 22 18.5 24.5V28&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;2&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;&gt;&lt;/path&gt;&lt;path d=&#34;M14 20H32&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;2&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;&gt;&lt;/path&gt;&lt;circle cx=&#34;18.5&#34; cy=&#34;12&#34; r=&#34;2&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;2&#34; fill=&#34;white&#34;&gt;&lt;/circle&gt;&lt;circle cx=&#34;18.5&#34; cy=&#34;28&#34; r=&#34;2&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;2&#34; fill=&#34;white&#34;&gt;&lt;/circle&gt;&lt;path d=&#34;M29 17L32 20L29 23&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;2&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;&gt;&lt;/path&gt;&lt;/svg&gt;

  Learning path
&lt;/div&gt;

&lt;h4&gt;PostgreSQL Database Observability&lt;/h4&gt;
&lt;p&gt;Set up Grafana Cloud Database Observability for PostgreSQL to monitor query performance, explain plans, wait events, and query samples.&lt;/p&gt;

&lt;div class=&#34;d-sm-flex gap-half mb-2&#34;&gt;
  &lt;div class=&#34;d-flex align-items-center gap-half text-gray-12 mt-half body-small&#34;&gt;
    &lt;div class=&#34;journey-list__icon&#34;&gt;
  &lt;svg width=&#34;24&#34; height=&#34;24&#34; viewBox=&#34;0 0 24 24&#34; fill=&#34;none&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
  &lt;path fill-rule=&#34;evenodd&#34; clip-rule=&#34;evenodd&#34; d=&#34;M11.9995 22.5039C17.7985 22.5039 22.4995 17.8029 22.4995 12.0039C22.4995 6.20492 17.7985 1.50391 11.9995 1.50391C6.20052 1.50391 1.49951 6.20492 1.49951 12.0039C1.49951 17.8029 6.20052 22.5039 11.9995 22.5039Z&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;1.5&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;/&gt;
  &lt;path d=&#34;M11.9995 12.0039V8.25391&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;1.5&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;/&gt;
  &lt;path d=&#34;M11.9995 12.0078L16.6865 16.6958&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;1.5&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;/&gt;
&lt;/svg&gt;
&lt;/div&gt;
    &lt;span&gt;13 min&lt;/span&gt;
  &lt;/div&gt;
  
  &lt;div class=&#34;d-flex align-items-center gap-half text-gray-12 mt-half body-small&#34;&gt;
    &lt;div class=&#34;journey-list__icon&#34;&gt;
  &lt;svg width=&#34;24&#34; height=&#34;25&#34; viewBox=&#34;0 0 24 25&#34; fill=&#34;none&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
  &lt;path fill-rule=&#34;evenodd&#34; clip-rule=&#34;evenodd&#34; d=&#34;M0.75 9.83984C0.75 7.6307 2.54086 5.83984 4.75 5.83984H19.25C21.4591 5.83984 23.25 7.6307 23.25 9.83984V19.1198C23.25 21.329 21.4591 23.1198 19.25 23.1198H4.75C2.54086 23.1198 0.75 21.329 0.75 19.1198V9.83984Z&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;1.5&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;/&gt;
  &lt;path fill-rule=&#34;evenodd&#34; clip-rule=&#34;evenodd&#34; d=&#34;M14.25 1.52344H9.75C8.92157 1.52344 8.25 2.16815 8.25 2.96344V5.84344H15.75V2.96344C15.75 2.16815 15.0784 1.52344 14.25 1.52344Z&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;1.5&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;/&gt;
  &lt;path fill-rule=&#34;evenodd&#34; clip-rule=&#34;evenodd&#34; d=&#34;M12 15.923C12.8284 15.923 13.5 15.2783 13.5 14.483C13.5 13.6877 12.8284 13.043 12 13.043C11.1716 13.043 10.5 13.6877 10.5 14.483C10.5 15.2783 11.1716 15.923 12 15.923Z&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;1.5&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;/&gt;
  &lt;path fill-rule=&#34;evenodd&#34; clip-rule=&#34;evenodd&#34; d=&#34;M13.2742 8.91315L13.7162 10.309C13.8671 10.7897 14.3806 11.0756 14.8902 10.9628L16.3622 10.6354C16.9349 10.5115 17.5249 10.7602 17.8175 11.2488C18.11 11.7374 18.037 12.3519 17.6372 12.7647L16.6062 13.8312C16.2493 14.1997 16.2493 14.7703 16.6062 15.1388L17.6372 16.2053C18.0379 16.6179 18.1115 17.2331 17.8188 17.7222C17.526 18.2113 16.9353 18.4601 16.3622 18.3356L14.8902 18.0082C14.3806 17.8953 13.8671 18.1812 13.7162 18.662L13.2742 20.0559C13.1055 20.5961 12.5877 20.9661 12.0002 20.9661C11.4128 20.9661 10.8949 20.5961 10.7262 20.0559L10.2842 18.661C10.1333 18.1803 9.61982 17.8944 9.11021 18.0072L7.63821 18.3346C7.06469 18.4597 6.47325 18.2109 6.18034 17.7213C5.88742 17.2317 5.96161 16.6159 6.36321 16.2034L7.39421 15.1368C7.75116 14.7684 7.75116 14.1978 7.39421 13.8293L6.36321 12.7628C5.96346 12.35 5.89039 11.7354 6.18296 11.2468C6.47553 10.7582 7.06551 10.5096 7.63821 10.6335L9.11021 10.9608C9.61923 11.0739 10.1324 10.7889 10.2842 10.309L10.7262 8.91507C10.8944 8.37473 11.412 8.00435 11.9995 8.00391C12.5869 8.00346 13.1051 8.37307 13.2742 8.91315V8.91315Z&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;1.5&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;/&gt;
&lt;/svg&gt;
&lt;/div&gt;
    &lt;span&gt;Intermediate&lt;/span&gt;
  &lt;/div&gt;
  
  
  &lt;div class=&#34;d-flex align-items-center gap-half text-gray-12 mt-half body-small&#34;&gt;
    &lt;div class=&#34;journey-list__icon&#34;&gt;
  &lt;svg width=&#34;24&#34; height=&#34;24&#34; viewBox=&#34;0 0 24 24&#34; fill=&#34;none&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
  &lt;path fill-rule=&#34;evenodd&#34; clip-rule=&#34;evenodd&#34; d=&#34;M0.75 2.75C0.75 1.64543 1.64543 0.75 2.75 0.75H21.25C22.3546 0.75 23.25 1.64543 23.25 2.75V21.25C23.25 22.3546 22.3546 23.25 21.25 23.25H2.75C1.64543 23.25 0.75 22.3546 0.75 21.25V2.75Z&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;1.5&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;/&gt;
  &lt;path d=&#34;M12 4.5L7.5 10.5L4.5 7.5&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;1.5&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;/&gt;
  &lt;path d=&#34;M14.25 8.25H18.75&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;1.5&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;/&gt;
  &lt;path d=&#34;M12 13.5L7.5 19.5L4.5 16.5&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;1.5&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;/&gt;
  &lt;path d=&#34;M14.25 17.25H18.75&#34; stroke=&#34;#FF671D&#34; stroke-width=&#34;1.5&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;/&gt;
&lt;/svg&gt;
&lt;/div&gt;
    &lt;span&gt;Docs &amp;amp; blog posts&lt;/span&gt;
  &lt;/div&gt;
  
&lt;/div&gt;







  


&lt;div class=&#34;orange-outline-list br-12 border-color-orange-flat border-width-2 p-1-5 pb-1&#34; x3-data=&#34;selectStack(&#39;/docs/learning-paths/postgresql-db-olly&#39;)&#34;&gt;
  &lt;div class=&#34;icon-heading d-flex&#34;&gt;
    &lt;div class=&#34;icon-heading__container&#34;&gt;
  &lt;svg width=&#34;30&#34; height=&#34;30&#34; viewBox=&#34;0 0 25 26&#34; fill=&#34;none&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;
  &lt;path d=&#34;M16.1401 14.4402C16.2141 14.4402 16.2852 14.4101 16.3373 14.3581C16.5355 14.1569 21.1904 9.39886 21.1904 5.0513C21.1904 2.26537 18.924 0 16.1391 0C13.3541 0 11.0878 2.26537 11.0878 5.0513C11.0878 9.39886 15.7427 14.1569 15.9419 14.3581C15.9939 14.4111 16.065 14.4402 16.1401 14.4402ZM13.5814 5.0513C13.5814 3.63882 14.7266 2.49262 16.1401 2.49262C17.5536 2.49262 18.6978 3.63781 18.6978 5.0513C18.6978 6.46478 17.5526 7.60999 16.1401 7.60999C14.7276 7.60999 13.5814 6.46478 13.5814 5.0513Z&#34; fill=&#34;#FF671D&#34;/&gt;
  &lt;path d=&#34;M24.9034 21.9305C24.0595 18.9113 17.9561 17.4147 12.5704 16.0933C9.54023 15.3496 5.76827 14.4246 5.73524 13.6037C5.72823 13.4225 5.97949 12.7398 9.52922 11.5516C9.80551 11.4585 9.96668 11.1842 9.91262 10.8989C9.85856 10.6136 9.60229 10.4164 9.318 10.4304C4.13956 10.6807 0.501743 12.1602 0.0482666 14.1993C-0.172966 15.1944 0.26149 16.749 3.58398 18.5009L4.29773 18.8763C6.54509 20.0545 8.16879 20.9064 8.1808 21.6992C8.19482 22.6502 5.93745 24.0507 3.72713 25.296C3.58398 25.3761 3.5139 25.5433 3.55495 25.7024C3.59699 25.8616 3.74014 25.9717 3.90431 25.9717H23.0354C23.1315 25.9717 23.2226 25.9337 23.2907 25.8656C24.6971 24.4581 25.2397 23.1347 24.9034 21.9305Z&#34; fill=&#34;#FBC55A&#34;/&gt;
&lt;/svg&gt;
&lt;/div&gt;
    &lt;div class=&#34;no-anchor-heading&#34;&gt;
      &lt;h4&gt;Open in Grafana Cloud&lt;/h4&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&#34;mt-1&#34;&gt;
    &lt;p class=&#34;mb-1 maxw-650&#34;&gt;
      
        Complete this learning path directly in your Grafana Cloud stack, or in the Grafana Play stack, with an interactive learning experience.
      
    &lt;/p&gt;
    &lt;div class=&#34;d-flex column-gap-1 justify-content-end&#34;&gt;
      &lt;a
        x3-bind:href=&#34;launchUrl&#34;
        class=&#34;btn btn--primary br-8&#34;
        target=&#34;_blank&#34;
        x3-on:click=&#34;trackPathfinderClick(&#39;postgresql-db-olly&#39;, &#39;PostgreSQL Database Observability&#39;)&#34;&gt;
        Open in Grafana Cloud
      &lt;/a&gt;
      
      &lt;a
        x3-bind:href=&#34;playUrl&#34;
        class=&#34;btn btn--primary br-8&#34;
        target=&#34;_blank&#34;
        x3-on:click=&#34;trackPlayClick(&#39;postgresql-db-olly&#39;, &#39;PostgreSQL Database Observability&#39;)&#34;&gt;
        Try in Grafana Play
      &lt;/a&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;div class=&#34;mt-1&#34;&gt;
  &lt;a
    href=&#34;/docs/learning-paths/postgresql-db-olly/&#34;
    target=&#34;_blank&#34;
    rel=&#34;noopener noreferrer&#34;
    class=&#34;btn btn--outline arrow w-100p br-8&#34;
    x3-on:click=&#34;$dispatch(&#39;track-view-on-website&#39;, {
      pathId: &#39;postgresql-db-olly&#39;,
      pathTitle: &#39;PostgreSQL Database Observability&#39;
    })&#34;&gt;
    View on website
  &lt;/a&gt;
&lt;/div&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href=&#34;/docs/learning-hub/intro-to-db-olly/02-database-observability/10-db-olly-complete/&#34; class=&#34;btn btn-lg btn-primary&#34;&gt;Path completed&lt;/a&gt;&lt;/p&gt;
]]></content><description>&lt;h2 id="postgresql-with-database-observability">PostgreSQL with Database Observability&lt;/h2>
&lt;p>Database Observability gives you deep visibility into PostgreSQL query performance, whether your database is self-managed or running on a managed cloud service.&lt;/p></description></item><item><title>Hands-on exercise summary</title><link>https://grafana.com/docs/learning-hub/intro-to-db-olly/02-database-observability/10-db-olly-complete/</link><pubDate>Tue, 02 Jun 2026 12:47:35 -0500</pubDate><guid>https://grafana.com/docs/learning-hub/intro-to-db-olly/02-database-observability/10-db-olly-complete/</guid><content><![CDATA[&lt;h2 id=&#34;hands-on-exercise-summary&#34;&gt;Hands-on exercise summary&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;What you accomplished:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Deployed Grafana Alloy with the Database Observability component&lt;/li&gt;
&lt;li&gt;Configured your database connection with monitoring credentials&lt;/li&gt;
&lt;li&gt;Verified that query-level data flows to Grafana Cloud&lt;/li&gt;
&lt;li&gt;Explored the Queries Overview dashboard&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Skills unlocked:&lt;/strong&gt;&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Skill&lt;/th&gt;
              &lt;th&gt;You can now&amp;hellip;&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Query visibility&lt;/td&gt;
              &lt;td&gt;Find the slowest queries across your databases&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Explain plans&lt;/td&gt;
              &lt;td&gt;See how the database executes each query and where time is spent&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Wait events&lt;/td&gt;
              &lt;td&gt;Identify lock contention, I/O bottlenecks, and resource waits&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Query samples&lt;/td&gt;
              &lt;td&gt;Inspect individual query executions with timing&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;whats-next&#34;&gt;What&amp;rsquo;s next&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Try another database&lt;/strong&gt; — Go back to &lt;a href=&#34;/docs/learning-hub/intro-to-db-olly/02-database-observability/08-mysql-db-olly/&#34;&gt;MySQL&lt;/a&gt; or &lt;a href=&#34;/docs/learning-hub/intro-to-db-olly/02-database-observability/09-postgresql-db-olly/&#34;&gt;PostgreSQL&lt;/a&gt; if you want to set up a second database&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Continue to integrations&lt;/strong&gt; — Learn how to monitor databases that aren&amp;rsquo;t supported by Database Observability&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Browse the docs&lt;/strong&gt; — Explore the &lt;a href=&#34;https://grafana.com/docs/grafana-cloud/monitor-applications/database-observability/&#34; target=&#34;_blank&#34;&gt;Database Observability documentation&lt;/a&gt; for advanced configuration&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h2 id="hands-on-exercise-summary">Hands-on exercise summary&lt;/h2>
&lt;p>&lt;strong>What you accomplished:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Deployed Grafana Alloy with the Database Observability component&lt;/li>
&lt;li>Configured your database connection with monitoring credentials&lt;/li>
&lt;li>Verified that query-level data flows to Grafana Cloud&lt;/li>
&lt;li>Explored the Queries Overview dashboard&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Skills unlocked:&lt;/strong>&lt;/p></description></item></channel></rss>