Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
132 changes: 132 additions & 0 deletions i18n/zh-CN/docusaurus-plugin-content-pages/events/event-202609.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
---
title: 直播预告|PG 30周年系列直播第三期:从Oracle到PG——迁移的真实成本与避坑指南
hide_table_of_contents: true
---

import useBaseUrl from '@docusaurus/useBaseUrl';

<style>{`
.detail-container { display: flex; gap: 40px; margin-top: 40px; }
.detail-content { flex: 8; min-width: 0; }
.detail-sidebar { flex: 3.5; }
.section-title { color: #7D52F4; border-left: 5px solid #7D52F4; padding-left: 16px; margin: 42px 0 20px; font-weight: 700; font-size: 1.4rem; }
.content-text { line-height: 1.9; color: #444; font-size: 1.05rem; margin-bottom: 20px; text-align: justify; }
.event-main-img { width: 100%; border-radius: 18px; margin: 24px 0; box-shadow: 0 14px 40px rgba(0,0,0,0.08); }
.info-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 26px 0; }
.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); }
.info-label { color: #7D52F4; font-size: 0.88rem; font-weight: 700; margin-bottom: 10px; letter-spacing: 0.04em; text-transform: uppercase; }
.info-value { color: #333; line-height: 1.7; font-size: 1rem; }
.speaker-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 16px; }
.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); }
.speaker-name { font-size: 1.05rem; font-weight: 700; color: #1f2937; margin-bottom: 8px; }
.speaker-role { color: #424B5D; line-height: 1.8; font-size: 0.96rem; }
.scene-list { margin: 0; padding-left: 1.2rem; line-height: 2; color: #555; }
.cta-box { background: linear-gradient(135deg, #7D52F4 0%, #9b7df5 100%); color: #fff; border-radius: 20px; padding: 28px; margin-top: 30px; box-shadow: 0 14px 32px rgba(125,82,244,0.25); }
.cta-box p { margin: 0 0 12px; line-height: 1.85; }
.cta-box p:last-child { margin-bottom: 0; }
.sidebar-box { border: 1px solid #f0f0f0; border-radius: 16px; padding: 24px; background: #fff; position: sticky; top: 100px; }
.sidebar-title { font-size: 1.2rem; font-weight: 700; margin-bottom: 20px; padding-bottom: 10px; border-bottom: 1px solid #eee; }
.side-item { display: flex; gap: 12px; margin-bottom: 20px; text-decoration: none !important; color: inherit; transition: all 0.3s; }
.side-item:hover { transform: translateX(5px); color: #7D52F4; }
.side-item:last-child { margin-bottom: 0; }
.side-item-img { width: 100px; height: 60px; border-radius: 8px; object-fit: cover; flex-shrink: 0; }
.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; }
@media (max-width: 996px) { .detail-container { flex-direction: column; } .detail-sidebar { display: none; } .info-grid, .speaker-grid { grid-template-columns: 1fr; } }
`}</style>

<div className="container detail-container">
<div className="detail-content">
<h1 style={{ fontSize: '2.2rem', marginBottom: '20px', lineHeight: '1.35' }}>
直播预告|PG 30周年系列直播第三期:从 Oracle 到 PG——迁移的真实成本与避坑指南
</h1>

<div style={{ display: 'flex', flexWrap: 'wrap', gap: '20px', color: '#666', marginBottom: '26px', fontSize: '0.97rem' }}>
<span>📅 2026年6月30日(周二)19:00–20:30</span>
<span>🌍 线上直播</span>
</div>

<div className="content-text">
1996 到 2026,PostgreSQL 走过整整三十载春秋。为致敬 PG 三十周年,中国 PG 分会、TechTalk 技术交流社区、IvorySQL 社区联合发起「三十而立・全球时刻——PG 30 周年系列直播」。第三期直播将于 6 月 30 日开启。
</div>

<h2 className="section-title">活动信息</h2>
<div className="info-grid">
<div className="info-card">
<div className="info-label">直播时间</div>
<div className="info-value">2026 年 6 月 30 日(周二)19:00–20:30</div>
</div>
<div className="info-card">
<div className="info-label">直播平台</div>
<div className="info-value">视频号</div>
</div>
<div className="info-card">
<div className="info-label">主办方</div>
<div className="info-value">PG 分会、IvorySQL 社区、TechTalk 技术交流社区</div>
</div>
<div className="info-card">
<div className="info-label">主持人</div>
<div className="info-value">尚雷(TechTalk 主理人)</div>
</div>
</div>

<h2 className="section-title">嘉宾阵容</h2>
<div className="speaker-grid">
<div className="speaker-card">
<div className="speaker-name">刘华阳</div>
<div className="speaker-role">PostgreSQL ACE,20 年数据库经验,公众号"Austin Database"主理人</div>
</div>
<div className="speaker-card">
<div className="speaker-name">王丁丁</div>
<div className="speaker-role">PostgreSQL/Oracle ACE,工业互联网 DBA,10 年以上 DBA 经验,全网 15 万+粉丝,公众号"IT 邦德"</div>
</div>
<div className="speaker-card">
<div className="speaker-name">崔鹏</div>
<div className="speaker-role">PostgreSQL ACE,计算机博士,15 年数据库经验,ORACLE OCM + PG ACE 双认证,海能达通信 DBA 总监,公众号"CP 的 PostgreSQL 厨房"主理人</div>
</div>
<div className="speaker-card">
<div className="speaker-name">杨向博</div>
<div className="speaker-role">PostgreSQL ACE,PG 分会西安用户组负责人,公众号"PostgreSQL 运维之道"主理人</div>
</div>
</div>

<h2 className="section-title">从 Oracle 到 PG,真的能低成本平滑切换吗?</h2>
<div className="content-text">
Oracle 到 PostgreSQL 的迁移,在今天已经不是"能不能迁"的问题。但真正让企业决策者和 DBA 们夜不能寐的问题是:能不能在低风险、低业务中断的前提下,把核心系统平滑地切过去?迁移一半发现数据对不上怎么办?存储过程和包要全部重写,成本谁来兜底?割接当晚出问题,有没有快速回退的方案?
</div>
<div className="content-text">
这一期直播,我们不谈概念、不讲 PPT——四位经历过数十甚至上百个迁移项目的实战派老师,把他们踩过的坑、趟过的路,全都摊开来讲。
</div>

<h3>本期内容抢先看</h3>
<ul className="scene-list">
<li><b>板块一</b>:为什么要迁?——从 Oracle 到 PG 的驱动力与决策</li>
<li><b>板块二</b>:怎么迁?——迁移工具选型与方案设计</li>
<li><b>板块三</b>:坑在哪?——迁移中最容易翻车的三个环节</li>
<li><b>板块四</b>:迁完了然后呢?——割接、验证与长期运维</li>
</ul>

<div className="cta-box">
<p>观看本次直播还能参与互动抽奖,精美好礼免费相送,边学技术边赢奖品!</p>
</div>

<img className="event-main-img" src={useBaseUrl('/img/events/event-202609-poster.jpg')} alt="第三期直播海报" />
</div>

<div className="detail-sidebar">
<div className="sidebar-box">
<div className="sidebar-title">近期活动</div>
<a href="/zh-cn/events/event-202608" className="side-item">
<img className="side-item-img" src={useBaseUrl('/img/events/event-202608.jpg')} alt="第二期" />
<div className="side-item-title">直播回顾|PG 30 周年系列直播第二期——三十而立,根深叶茂</div>
</a>
<a href="/zh-cn/events/event-202607" className="side-item">
<img className="side-item-img" src={useBaseUrl('/img/events/event-202607.jpg')} alt="西安站" />
<div className="side-item-title">活动回顾|PG 校园行——PostgreSQL 技术峰会西安站</div>
</a>
<a href="/zh-cn/events/event-202606" className="side-item">
<img className="side-item-img" src={useBaseUrl('/img/events/event-202606.jpg')} alt="第一期" />
<div className="side-item-title">直播回顾|PG 30 周年系列直播第一期——三十而立・全球时刻</div>
</a>
</div>
</div>
</div>
9 changes: 9 additions & 0 deletions i18n/zh-CN/docusaurus-plugin-content-pages/events/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,15 @@ import { useState, useCallback, useMemo } from 'react';
import useBaseUrl from '@docusaurus/useBaseUrl';

export const EventsData = [
{
title: "直播预告|PG 30周年系列直播第三期:从Oracle到PG——迁移的真实成本与避坑指南",
desc: "四位实战派老师齐聚,从 Oracle 迁移到 PG 的真实成本、工具选型、避坑指南与割接验证,全程干货不容错过。",
startTime: "2026-06-30",
endTime: "2026-06-30",
location: "线上直播",
link: "/zh-cn/events/event-202609",
img: "/img/events/event-202609.jpg"
},
{
title: "直播回顾|PG 30 周年系列直播第二期——三十而立,根深叶茂",
desc: "白鳝、萧少聪、吕海波、韩锋四位大咖齐聚,聊 PG 与中国数据库的二十年、厂商选型逻辑、「套壳」争议与 AI 新赛道。",
Expand Down
10 changes: 10 additions & 0 deletions src/pages/events/event-202609.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: Event Preview | PG 30th Anniversary Livestream Episode 3
hide_table_of_contents: true
---

<div className="container" style={{padding: '40px 20px'}}>
<h1>PG 30th Anniversary Livestream — Episode 3: Oracle to PG Migration</h1>
<p>June 30, 2026 (Tuesday) 19:00. Guests: 刘华阳, 王丁丁, 崔鹏, 杨向博.</p>
<p>For details, visit the <a href="/zh-cn/events/event-202609">Chinese page</a>.</p>
</div>
Binary file added static/img/events/event-202609-poster.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/img/events/event-202609.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.