|
|
|
|
@ -0,0 +1,104 @@
|
|
|
|
|
# 邹佳轩第 12 周学习总结
|
|
|
|
|
|
|
|
|
|
第 12 周(2025-12-08 至 2025-12-14)
|
|
|
|
|
|
|
|
|
|
## 本周完成情况概览
|
|
|
|
|
|
|
|
|
|
### 已完成内容
|
|
|
|
|
|
|
|
|
|
1. **PostgreSQL 环境搭建与网络配置(12/8)**
|
|
|
|
|
|
|
|
|
|
- 在主机 A/B 完成 PostgreSQL 安装(版本统一为 15)
|
|
|
|
|
- 修改 `postgresql.conf` 配置 `listen_addresses='*'` 与最大连接数
|
|
|
|
|
- 配置 `pg_hba.conf` 开放网段访问权限,并配置防火墙放行 5432 端口
|
|
|
|
|
- 涉及文件:`postgresql.conf`、`pg_hba.conf`
|
|
|
|
|
|
|
|
|
|
2. **跨主机远程访问与权限控制(12/9)**
|
|
|
|
|
|
|
|
|
|
- 创建远程访问专用角色 `remote_user` 并设置加密密码
|
|
|
|
|
- 实施最小权限策略,仅授予指定模式/表的只读或读写权限
|
|
|
|
|
- 验证从主机 B 通过 `psql` 客户端成功连接主机 A
|
|
|
|
|
- 交付物:用户权限配置脚本、连接测试截图
|
|
|
|
|
|
|
|
|
|
3. **FDW(外部数据包装器)数据共享(12/10)**
|
|
|
|
|
|
|
|
|
|
- 在主机 B 启用 `postgres_fdw` 扩展
|
|
|
|
|
- 创建外部服务器(Server)与用户映射(User Mapping)
|
|
|
|
|
- 成功导入主机 A 的 `public` 模式表至主机 B 的 `foreign_public`
|
|
|
|
|
- 验证:在主机 B 可直接查询主机 A 的数据,性能符合预期
|
|
|
|
|
- 交付物:FDW 配置 SQL 脚本
|
|
|
|
|
|
|
|
|
|
4. **逻辑复制增量同步(12/11)**
|
|
|
|
|
|
|
|
|
|
- 在主机 A(发布端)创建 Publication:`pub_demo`
|
|
|
|
|
- 在主机 B(订阅端)创建 Subscription:`sub_demo`
|
|
|
|
|
- 验证数据同步:在主机 A 插入数据,主机 B 毫秒级自动同步
|
|
|
|
|
- 交付物:逻辑复制配置文档与验证记录
|
|
|
|
|
|
|
|
|
|
5. **文档与风险控制方案(12/12)**
|
|
|
|
|
|
|
|
|
|
- 整理完整的《PostgreSQL 跨主机协作配置指南》
|
|
|
|
|
- 制定安全策略(IP 白名单、密码轮换)与回滚预案(撤销 FDW/订阅)
|
|
|
|
|
- 涉及文档:配置变更清单、操作手册、回滚脚本
|
|
|
|
|
|
|
|
|
|
### 部分完成/待完善内容
|
|
|
|
|
|
|
|
|
|
1. 逻辑复制在大批量数据写入时的延迟监控与冲突处理机制尚需优化
|
|
|
|
|
2. FDW 跨大表查询的性能调优(如算子下推)还需进一步测试
|
|
|
|
|
3. 目前仅实现了基础的主从同步,高可用故障切换(Failover)暂未涉及
|
|
|
|
|
|
|
|
|
|
### 各领域掌握程度评估
|
|
|
|
|
|
|
|
|
|
#### 数据库运维与管理
|
|
|
|
|
|
|
|
|
|
- 掌握状态:熟悉 PostgreSQL 配置文件与网络访问控制
|
|
|
|
|
- 具体表现:独立完成跨主机网络打通与权限配置
|
|
|
|
|
- 能力描述:具备构建安全、可访问的数据库服务环境的能力
|
|
|
|
|
|
|
|
|
|
#### 分布式数据协作技术
|
|
|
|
|
|
|
|
|
|
- 掌握状态:掌握 FDW 与逻辑复制的核心原理与实践
|
|
|
|
|
- 具体表现:实现跨库查询与增量数据同步
|
|
|
|
|
- 能力描述:能够根据业务需求选择合适的数据共享方案(联邦查询 vs 复制)
|
|
|
|
|
|
|
|
|
|
#### 系统安全与风险控制
|
|
|
|
|
|
|
|
|
|
- 掌握状态:具备基础的安全意识与预案制定能力
|
|
|
|
|
- 具体表现:实施最小权限原则,制定回滚与应急方案
|
|
|
|
|
- 能力描述:能在保障功能的前提下,有效控制系统风险
|
|
|
|
|
|
|
|
|
|
## 问题分析与反思
|
|
|
|
|
|
|
|
|
|
### 主要收益
|
|
|
|
|
|
|
|
|
|
1. 打通了跨主机数据库协作流程,为后续微服务拆分或读写分离奠定基础
|
|
|
|
|
2. 深入理解了 PostgreSQL 的扩展机制(FDW)与复制架构
|
|
|
|
|
3. 提升了多环境下的网络排查与配置能力
|
|
|
|
|
|
|
|
|
|
### 存在不足与改进方向
|
|
|
|
|
|
|
|
|
|
1. 对网络波动导致的复制中断缺乏自动恢复测试
|
|
|
|
|
2. FDW 在复杂 Join 场景下的性能表现未做深入评估
|
|
|
|
|
3. 监控指标(如复制延迟、连接数)尚未集成到统一监控平台
|
|
|
|
|
|
|
|
|
|
## 下周重点与计划
|
|
|
|
|
|
|
|
|
|
1. 对逻辑复制进行压力测试,模拟网络中断并验证自动恢复能力
|
|
|
|
|
2. 探索 PostgreSQL 的高可用方案(如 Patroni 或 Repmgr)
|
|
|
|
|
3. 将数据库监控指标(Exporter)接入 Prometheus + Grafana
|
|
|
|
|
4. 配合后端团队,将应用层连接切换至新搭建的数据库环境进行联调
|
|
|
|
|
|
|
|
|
|
## 经验总结与启示
|
|
|
|
|
|
|
|
|
|
1. 网络配置(防火墙/监听地址)是跨主机协作的第一道坎,需细致排查
|
|
|
|
|
2. 权限控制应从一开始就严格遵循最小化原则,避免后期收缩困难
|
|
|
|
|
3. 逻辑复制相比物理复制更灵活,适合特定表的数据分发场景
|
|
|
|
|
|
|
|
|
|
## 总体评价与展望
|
|
|
|
|
|
|
|
|
|
本周按计划完成了 PostgreSQL 的跨主机环境搭建与数据协作配置,掌握了 FDW 与逻辑复制两项关键技术,并输出了完整的配置文档与安全方案。为团队后续的分布式开发与测试环境提供了有力支撑。下周将重点关注稳定性与监控,确保数据库服务的高可用。
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
**总结人**:邹佳轩
|
|
|
|
|
**总结时间**:第 12 周末
|