Skip to content

Commit 9026ed3

Browse files
committed
feat: add PG30 episode 5 recap
1 parent b962fe0 commit 9026ed3

6 files changed

Lines changed: 151 additions & 0 deletions

File tree

‎.gitignore‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,6 @@ yarn-debug.log*
2020
yarn-error.log*
2121

2222
.env
23+
24+
.superpowers/
25+
.worktrees/
Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
---
2+
title: 直播回顾|PG 30 周年系列直播第五期:PG 架构的「永恒智慧」与「历史包袱」
3+
hide_table_of_contents: true
4+
---
5+
6+
import useBaseUrl from '@docusaurus/useBaseUrl';
7+
8+
<style>{`
9+
.detail-container { display: flex; gap: 40px; margin-top: 40px; }
10+
.detail-content { flex: 8; min-width: 0; }
11+
.detail-sidebar { flex: 3.5; }
12+
.section-title { color: #7D52F4; border-left: 5px solid #7D52F4; padding-left: 16px; margin: 42px 0 20px; font-weight: 700; font-size: 1.4rem; }
13+
.content-text { line-height: 1.9; color: #444; font-size: 1.05rem; margin-bottom: 20px; text-align: justify; }
14+
.info-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 26px 0; }
15+
.info-card { background: linear-gradient(180deg, #fcfdff 0%, #f8f6ff 100%); border: 1px solid #e8e4f8; border-radius: 16px; padding: 22px; box-shadow: 0 8px 24px rgba(125,82,244,0.06); }
16+
.info-label { color: #7D52F4; font-size: 0.88rem; font-weight: 700; margin-bottom: 10px; letter-spacing: 0.04em; text-transform: uppercase; }
17+
.info-value { color: #333; line-height: 1.7; font-size: 1rem; }
18+
.speaker-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 16px; }
19+
.speaker-card { border: 1px solid #e6ebf2; border-radius: 18px; padding: 22px; background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%); box-shadow: 0 10px 26px rgba(66,75,93,0.06); }
20+
.speaker-name { font-size: 1.05rem; font-weight: 700; color: #1f2937; margin-bottom: 8px; }
21+
.speaker-role { color: #424B5D; line-height: 1.8; font-size: 0.96rem; }
22+
.scene-list { margin: 0; padding-left: 1.2rem; line-height: 2; color: #555; }
23+
.event-main-img { width: 100%; border-radius: 18px; margin: 24px 0; box-shadow: 0 14px 40px rgba(0,0,0,0.08); }
24+
.sidebar-box { border: 1px solid #f0f0f0; border-radius: 16px; padding: 24px; background: #fff; position: sticky; top: 100px; }
25+
.sidebar-title { font-size: 1.2rem; font-weight: 700; margin-bottom: 20px; padding-bottom: 10px; border-bottom: 1px solid #eee; }
26+
.side-item { display: flex; gap: 12px; margin-bottom: 20px; text-decoration: none !important; color: inherit; transition: all 0.3s; }
27+
.side-item:hover { transform: translateX(5px); color: #7D52F4; }
28+
.side-item:last-child { margin-bottom: 0; }
29+
.side-item-img { width: 100px; height: 60px; border-radius: 8px; object-fit: cover; flex-shrink: 0; }
30+
.side-item-title { font-size: 0.9rem; font-weight: 700; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
31+
@media (max-width: 996px) { .detail-container { flex-direction: column; } .detail-sidebar { display: none; } .info-grid, .speaker-grid { grid-template-columns: 1fr; } }
32+
`}</style>
33+
34+
<div className="container detail-container">
35+
<div className="detail-content">
36+
<h1 style={{ fontSize: '2.2rem', marginBottom: '20px', lineHeight: '1.35' }}>
37+
直播回顾|PG 30 周年系列直播第五期:PG 架构的「永恒智慧」与「历史包袱」
38+
</h1>
39+
40+
<div style={{ display: 'flex', flexWrap: 'wrap', gap: '20px', color: '#666', marginBottom: '26px', fontSize: '0.97rem' }}>
41+
<span>📅 2026年7月29日(周三)19:00–20:30</span>
42+
<span>🌍 线上直播 · 视频号</span>
43+
<span>🎥 <a href="https://www.bilibili.com/video/BV1dd3p6pExa/" target="_blank" rel="noopener noreferrer">观看回放</a></span>
44+
</div>
45+
46+
<div className="content-text">
47+
为致敬 PG 三十周年,中国 PG 分会、TechTalk 技术交流社区、IvorySQL 社区联合发起「三十而立・全球时刻——PG 30 周年系列直播」。第五期直播于 7 月 29 日圆满举行。原定嘉宾熊灿灿因事未能参加,由冯若航和付超补位。
48+
</div>
49+
50+
<h2 className="section-title">活动信息</h2>
51+
<div className="info-grid">
52+
<div className="info-card">
53+
<div className="info-label">直播时间</div>
54+
<div className="info-value">2026 年 7 月 29 日(周三)19:00–20:30</div>
55+
</div>
56+
<div className="info-card">
57+
<div className="info-label">直播平台</div>
58+
<div className="info-value">视频号</div>
59+
</div>
60+
<div className="info-card">
61+
<div className="info-label">主办方</div>
62+
<div className="info-value">PG 分会、IvorySQL 社区、TechTalk 技术交流社区</div>
63+
</div>
64+
<div className="info-card">
65+
<div className="info-label">主持人</div>
66+
<div className="info-value">尚雷(TechTalk 主理人)</div>
67+
</div>
68+
</div>
69+
70+
<h2 className="section-title">嘉宾阵容</h2>
71+
<div className="speaker-grid">
72+
<div className="speaker-card">
73+
<div className="speaker-name">德哥(周正中)</div>
74+
<div className="speaker-role">PostgreSQL ACED、IvorySQL 专家顾问委员(公众号:digoal德哥)</div>
75+
</div>
76+
<div className="speaker-card">
77+
<div className="speaker-name">吕海波</div>
78+
<div className="speaker-role">北京大学企业导师,易景科技首席研究员,PostgreSQL ACED。从事 IT 技术工作 30 年,曾就职于阿里巴巴、京东、ebay/paypal 等知名科技企业。连续 5 年为北大硕士研究生讲授数据库内核架构与开发(公众号:IT 知识刺客)</div>
79+
</div>
80+
<div className="speaker-card">
81+
<div className="speaker-name">冯若航</div>
82+
<div className="speaker-role">独立开源贡献者,Pigsty 作者,IvorySQL 专家顾问委员(公众号:老冯云数)</div>
83+
</div>
84+
<div className="speaker-card">
85+
<div className="speaker-name">付超</div>
86+
<div className="speaker-role">Oracle ACE 与 PostgreSQL ACE 双认证专家,PG 分会西安用户组核心成员。长期从事数据库运维与技术布道工作,具备 Oracle OCM、Kubernetes CKS 等多项认证(公众号:ByteHouse)</div>
87+
</div>
88+
</div>
89+
90+
<h2 className="section-title">PG 的架构——哪些是穿越 30 年的智慧,哪些是早该退休的包袱?</h2>
91+
<div className="content-text">
92+
PostgreSQL 的源头可以追溯到 1986 年的 UC Berkeley。那一年,Windows 1.0 刚发布,C 语言标准刚刚确立,互联网还在 ARPANET 时代。30 年过去,PG 的代码从几万行膨胀到近 150 万行。第一批代码里那些核心设计决策——进程模型、MVCC、基于规则的查询重写、扩展机制——到今天依然在支撑着全世界最复杂的数据库应用。但 PG 不是完美的。
93+
</div>
94+
<div className="content-text">
95+
进程模型——每开一个连接就 fork 一个进程——在 2026 年还合理吗?为什么 MySQL 用线程,Oracle 用进程+线程混合,只有 PG 坚持纯进程模型?MVCC 是 PG 最伟大的设计,但 autovacuum 是不是"伟大但痛苦"的代名词?扩展机制让 Citus 能做分布式、TimescaleDB 能做时序——但它是不是反而让 PG 内核的演进变慢了?
96+
</div>
97+
<div className="content-text">
98+
这一期直播,我们<b>四位真正懂 PG 架构、看过内核源码、经历过大规模生产的老师</b>,把 PG 的架构拆开来看:哪些设计值得再学 30 年,哪些已经该被替代了。
99+
</div>
100+
101+
<h3>本期内容</h3>
102+
<ul className="scene-list">
103+
<li><b>板块一</b>:30 年前的代码,为什么还在跑?——PG 架构的历史渊源。Stonebraker 留给世界的遗产到底是什么?PG 哪个内核模块"写得最漂亮"?</li>
104+
<li><b>板块二</b>:进程模型——是 Unix 哲学还是历史包袱?在 2026 年、在容器化时代,这个设计还合理吗?</li>
105+
<li><b>板块三</b>:MVCC 与扩展机制——最伟大的设计还是最深的坑?autovacuum 是不是它的原罪?</li>
106+
<li><b>板块四</b>:哪些设计该退休了?——每人说一个 PG 架构里最应该被重构、但一直没动的历史包袱。</li>
107+
</ul>
108+
109+
<img className="event-main-img" src={useBaseUrl('/img/events/event-202612-poster.jpg')} alt="第五期直播海报" />
110+
</div>
111+
112+
<div className="detail-sidebar">
113+
<div className="sidebar-box">
114+
<div className="sidebar-title">近期活动</div>
115+
<a href="/zh-cn/events/event-202611" className="side-item">
116+
<img className="side-item-img" src={useBaseUrl('/img/events/event-202611.jpg')} alt="南京站" />
117+
<div className="side-item-title">活动回顾|PostgreSQL & IvorySQL Meetup 南京站</div>
118+
</a>
119+
<a href="/zh-cn/events/event-202610" className="side-item">
120+
<img className="side-item-img" src={useBaseUrl('/img/events/event-202610.jpg')} alt="第四期" />
121+
<div className="side-item-title">直播回顾|PG 30周年系列直播第四期</div>
122+
</a>
123+
<a href="/zh-cn/events/event-202609" className="side-item">
124+
<img className="side-item-img" src={useBaseUrl('/img/events/event-202609.jpg')} alt="第三期" />
125+
<div className="side-item-title">直播回顾|PG 30周年系列直播第三期</div>
126+
</a>
127+
</div>
128+
</div>
129+
</div>

‎i18n/zh-CN/docusaurus-plugin-content-pages/events/index.mdx‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,15 @@ import { useState, useCallback, useMemo } from 'react';
77
import useBaseUrl from '@docusaurus/useBaseUrl';
88

99
export const EventsData = [
10+
{
11+
title: "直播回顾|PG 30 周年系列直播第五期:PG 架构的「永恒智慧」与「历史包袱」",
12+
desc: "德哥、吕海波、冯若航、付超齐聚,拆解 PG 架构:进程模型、MVCC、扩展机制——哪些是穿越 30 年的智慧,哪些该退休了。",
13+
startTime: "2026-07-29",
14+
endTime: "2026-07-29",
15+
location: "线上直播",
16+
link: "/zh-cn/events/event-202612",
17+
img: "/img/events/event-202612.jpg"
18+
},
1019
{
1120
title: "活动回顾|PostgreSQL & IvorySQL 技术交流 Meetup 南京站圆满落幕",
1221
desc: "白鳝、冯若航、杨超超、张晨等嘉宾齐聚南京,六大议题涵盖 AI Agent、PITR、IvorySQL 兼容与异常恢复,面对面深度交流。",

‎src/pages/events/event-202612.mdx‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
title: Event Recap | PG 30th Anniversary Livestream Episode 5
3+
hide_table_of_contents: true
4+
---
5+
6+
<div className="container" style={{padding: '40px 20px'}}>
7+
<h1>PG 30th Anniversary — Episode 5: PG Architecture's Timeless Wisdom & Historical Baggage</h1>
8+
<p>July 29, 2026. Guests: 德哥, 吕海波, 冯若航, 付超.</p>
9+
<p>For details, visit the <a href="/zh-cn/events/event-202612">Chinese page</a>.</p>
10+
</div>
11 MB
Loading

‎static/img/events/event-202612.jpg‎

1.72 MB
Loading

0 commit comments

Comments
 (0)