Skip to content

Commit e4e57df

Browse files
authored
Merge pull request #3146 from madeline-underwood/post
refactor: update titles and content for PostgreSQL learning path sect…
2 parents e55f3a1 + ec56f08 commit e4e57df

6 files changed

Lines changed: 27 additions & 20 deletions

File tree

content/learning-paths/servers-and-cloud-computing/postgresql-cobalt/_index.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
---
22
title: Deploy PostgreSQL on Azure Cobalt 100 Arm64 virtual machines
33

4-
draft: true
5-
cascade:
6-
draft: true
7-
84
minutes_to_complete: 30
95

106
who_is_this_for: This learning path is designed for developers, DevOps engineers, and platform engineers who want to deploy, manage, and optimize PostgreSQL databases on Arm-based cloud infrastructure.

content/learning-paths/servers-and-cloud-computing/postgresql-cobalt/background.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
---
2-
title: "Overview of Azure Cobalt 100 and PostgreSQL"
2+
title: Understand PostgreSQL on Azure Cobalt 100
33

44
weight: 2
55

66
layout: "learningpathall"
77
---
88

9+
## Why run PostgreSQL on Azure Cobalt 100
10+
11+
PostgreSQL on Arm-based Azure Cobalt 100 processors delivers efficient database performance for both transactional and analytical workloads. Cobalt 100's dedicated physical cores per vCPU provide consistent performance that suits PostgreSQL's multi-process architecture and parallel query execution.
12+
913
## Azure Cobalt 100 Arm-based processor
1014

1115
Azure’s Cobalt 100 is Microsoft’s first-generation, in-house Arm-based processor. Built on Arm Neoverse N2, Cobalt 100 is a 64-bit CPU that delivers strong performance and energy efficiency for cloud-native, scale-out Linux workloads such as web and application servers, data analytics, open-source databases, and caching systems. Running at 3.4 GHz, Cobalt 100 allocates a dedicated physical core for each vCPU, which helps ensure consistent and predictable performance.

content/learning-paths/servers-and-cloud-computing/postgresql-cobalt/benchmark-and-tuning.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
---
2-
title: Benchmark and Tune PostgreSQL
2+
title: Benchmark and optimize PostgreSQL on Cobalt 100
33
weight: 6
44

55
### FIXED, DO NOT MODIFY
66
layout: learningpathall
77
---
88

9-
# Benchmark and Tune PostgreSQL
9+
## Measure and improve database performance
1010

1111
In this section, you benchmark PostgreSQL performance and optimize query execution using monitoring and indexing techniques.
1212

@@ -24,7 +24,8 @@ Use `pgbench` to prepare a benchmarking dataset.
2424
```console
2525
sudo -u postgres pgbench -i -s 50 appdb
2626
```
27-
This creates standard benchmarking tables and loads data for testing. The output looks similar to:
27+
28+
The command creates standard benchmarking tables and loads data for testing. The output looks similar to:
2829

2930
```output
3031
dropping old tables...
@@ -73,7 +74,7 @@ initial connection time = 10.771 ms
7374
tps = 2401.873115 (without initial connection time)
7475
```
7576

76-
This result shows the transactional (OLTP) throughput PostgreSQL achieves on this Cobalt 100 Arm64 instance under the configured load. TPS and latency will vary with instance size, client count, and workload shape.
77+
The result shows the transactional (OLTP) throughput PostgreSQL achieves on this Cobalt 100 Arm64 instance under the configured load. TPS and latency will vary with instance size, client count, and workload shape.
7778

7879
## Enable query monitoring
7980

@@ -125,7 +126,7 @@ The output is similar to:
125126
(1 row)
126127
```
127128

128-
This helps identify performance bottlenecks.
129+
The output helps identify performance bottlenecks.
129130

130131
## Analyze query execution
131132

@@ -193,6 +194,8 @@ Foreign-key constraints:
193194

194195
The index `idx_orders_customer_id` is now listed alongside the primary key index. PostgreSQL's query planner will use it for queries that filter or join on `customer_id`, reducing full table scans for those operations.
195196

197+
## Summary
198+
196199
You've successfully benchmarked and optimized PostgreSQL on an Arm64 system. Your setup now includes:
197200

198201
- Transactional benchmarking using pgbench

content/learning-paths/servers-and-cloud-computing/postgresql-cobalt/deploy-and-query.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
---
2-
title: Deploy Schema and Run Queries
2+
title: Deploy a relational schema and run queries
33
weight: 5
44

55
### FIXED, DO NOT MODIFY
66
layout: learningpathall
77
---
88

9-
# Deploy Schema and Run Queries
9+
## Create transactional data for PostgreSQL
1010

1111
In this section, you create database tables, load sample data, and execute analytical queries on PostgreSQL.
1212

@@ -116,7 +116,7 @@ The output is similar to:
116116

117117
## Top customers by spending
118118

119-
This query aggregates order totals per customer across the full orders table — a typical OLAP aggregation on OLTP data.
119+
The following query aggregates order totals per customer across the full orders table — a typical OLAP aggregation on OLTP data.
120120

121121
```sql
122122
SELECT customer_id, SUM(amount) AS total_spent
@@ -154,7 +154,7 @@ The output is similar to:
154154

155155
## Customer order counts
156156

157-
This query joins customers and orders, counts how many orders each customer placed, and ranks them by activity. It's a multi-table analytical query — the join across two OLTP tables produces an OLAP-style activity report.
157+
The following query joins customers and orders, counts how many orders each customer placed, and ranks them by activity. It's a multi-table analytical query — the join across two OLTP tables produces an OLAP-style activity report.
158158

159159
```sql
160160
SELECT c.name, COUNT(o.id)
@@ -206,7 +206,7 @@ psql -h localhost -U appuser -d appdb
206206

207207
When prompted for a password, enter `StrongPassword123`.
208208

209-
## What you've accomplished and what's next
209+
## What you've learned and what's next
210210

211211
You've successfully deployed a relational schema and executed analytical queries on PostgreSQL. Your setup includes:
212212

content/learning-paths/servers-and-cloud-computing/postgresql-cobalt/instance.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ weight: 3
66
layout: learningpathall
77
---
88

9+
## Provision Azure infrastructure for PostgreSQL
10+
11+
Create an Arm-based Cobalt 100 virtual machine to host your PostgreSQL database.
12+
913
## Prerequisites and setup
1014

1115
There are several common ways to create an Arm-based Cobalt 100 virtual machine, and you can choose the method that best fits your workflow or requirements:
@@ -16,7 +20,7 @@ There are several common ways to create an Arm-based Cobalt 100 virtual machine,
1620

1721
In this section, you will launch the Azure Portal to create a virtual machine with the Arm-based Azure Cobalt 100 processor.
1822

19-
This Learning Path focuses on general-purpose virtual machines in the Dpsv6 series. For more information, see the [Microsoft Azure guide for the Dpsv6 size series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/general-purpose/dpsv6-series).
23+
The Learning Path focuses on general-purpose virtual machines in the Dpsv6 series. For more information, see the [Microsoft Azure guide for the Dpsv6 size series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/general-purpose/dpsv6-series).
2024

2125
While the steps to create this instance are included here for convenience, you can also refer to the [Deploy a Cobalt 100 virtual machine on Azure Learning Path](/learning-paths/servers-and-cloud-computing/cobalt/).
2226

@@ -65,7 +69,7 @@ Your virtual machine should be ready and running in a few minutes. You can SSH i
6569

6670
{{% notice Note %}}To learn more about Arm-based virtual machines in Azure, see "Getting Started with Microsoft Azure" in [Get started with Arm-based cloud instances](/learning-paths/servers-and-cloud-computing/csp/azure/).{{% /notice %}}
6771

68-
## What you've accomplished and what's next
72+
## What you've learned and what's next
6973

7074
You've successfully:
7175

content/learning-paths/servers-and-cloud-computing/postgresql-cobalt/setup-and-install.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
---
2-
title: Setup and Install PostgreSQL on Cobalt 100
2+
title: Install and configure PostgreSQL on Cobalt 100
33
weight: 4
44

55
### FIXED, DO NOT MODIFY
66
layout: learningpathall
77
---
88

9-
# Setup and Install PostgreSQL on Cobalt 100 (Arm64)
9+
## Prepare PostgreSQL for Arm deployment
1010

1111
In this section, you install and configure PostgreSQL on an Azure Ubuntu 24.04 Pro Arm64 virtual machine running on Cobalt 100 processors.
1212

@@ -154,7 +154,7 @@ max_parallel_workers_per_gather = 4
154154
sudo systemctl restart postgresql
155155
```
156156

157-
## What you've accomplished and what's next
157+
## What you've learned and what's next
158158

159159
You've successfully installed and configured PostgreSQL on an Azure Ubuntu Arm64 virtual machine. Your setup includes:
160160

0 commit comments

Comments
 (0)