咨询热线:    40000-53353(全国)    0571-28976118(浙江)    
 

PostgreSQL数据库培训 预约试听

 

序号

培训课程

课程长度

1

PostgreSQL    SQL基础

2天/12小时

2

PostgreSQL    数据库管理

3天/18小时

3

PostgreSQL    数据库备份恢复, 复制, 负载均衡与高可用

3天/18小时

4

PostgreSQL    服务端编程

3天/18小时

5

PostgreSQL    性能优化

3天/18小时

6

PostgreSQL    大数据应用

3天/18小时

7

PostgreSQL    内核

2天/12小时



PostgreSQL  SQL基础


第一天

    1. PostgreSQL的安装, 架构基础介绍, 如何创建和访问数据库;

    2. SQL语言基础(创建表, 操作表数据, 表关联查询, 聚合查询);

    3. SQL高级应用(视图, 外键, 事务, 窗口函数, 继承);

    4. SQL语义结构介绍(关键字, 常量, 操作符, 特殊字符, 注释, 操作符的优先级);

    5. 值表达式介绍(列, 位置参数, 数组下标, field引用, 操作符调用, 函数调用, 聚合表达式, 窗口函数调用, 类型转换,    collate表达式, 标量子查询, 数组构造器, 行构造器, 表达式逻辑运算规则);

    6. 函数调用用法介绍(位置参数调用, 命名参数调用, 混合调用);

    7. 数据定义(默认值, 约束, 系统列, 表结构和定义修改, 权限, schema, 继承, 分区, 外部数据);

第二天

    1. 数据查询(from子句, where子句, group by having子句, 窗口子句, select子句, 结果集合操作, 排序, 限制, 位移, values子句, CET用法);

    2. 数据类型(数字, 货币, 字符, 字节, 时间, 布尔, 枚举, 几何, 网络, 比特, 文本搜索, UUID, XML, JSON, 数组, 复合类型, 范围类型, 对象类型, 伪类型)

    3. 函数与操作符(逻辑, 比较, 数学运算, 字符串, 字节流, 比特位, 样式匹配, 格式化, 时间, 枚举, 几何, 网络, 全文检索, XML, JSON, 序列, 条件, 数组, 范围, 聚合, 窗口, 子查询, 行与数组的比较, SRF函数, 系统信息函数, 系统管理函数, 触发器函数, 事件触发器函数);

    4. 类型转换;

    5. 索引用法;

    6. 全文检索用法;

    7. 并行控制;

    8. SQL性能优化;


 

PostgreSQL 数据库管理


第一天

    1. PostgreSQL源代码安装(源码结构介绍, 配置介绍, 自定义FLAG介绍, 内核参数优化, 安装);

    2. 数据库服务器配置(OS USER, 初始化集群, 启动数据库集群, 关闭数据库集群,    升级数据库软件, 防止欺骗, 数据封装方法, SSL, SSH隧道)

    3. 数据库集群进程结构介绍(postmaster,    logger, checkpointer, writer, wal writer, autovacuum launcher, autovacuum    worker, stats collector, backend, worker);

    4. 认证和连接(客户端认证方法介绍, 认证配置, 常用认证方法使用举例,    常见认证错误排错);

    5. pgAdmin III 使用介绍(安装, 使用, 调试函数, 维护数据);

    6. 数据库配置(guc.c, 参数优先级, 参数含义, 开发参数, guc隐含参数, 如何修改参数并使之生效, 如何查看当前参数值, 如何查看参数值的范围);

    7. 用户管理(创建角色, 角色权限管理, 角色membership管理, 角色成员权限管理);

    8. 数据库逻辑结构(cluster,    database, schema, object, field, access privilege);

    9. 数据库物理结构(tablespace,    datafile, segment, block, controlfile, xlog, archivelog);

第二天

    1. 数据库管理(创建表空间, 创建数据库, 创建数据库模板, 数据库配置, 删除数据库, 跨数据库的数据访问);

    2. 基于角色的对象权限管理(表, 列, 序列, 数据库, 域, 外部数据, 函数, 语言, 大对象, schema,    表空间, 类型);

    3. 默认权限和继承权限(default    privilege, inherit privilege);

    4. 数据库安全(认证, 网络, 数据存储, 密码, 注入, 欺骗);

    5. 数据库监控(状态监控, 趋势监控, 预警, 常用监控工具和插件nagios, zabbix, pg_statsinfo);

    6. 多版本并发控制和垃圾回收;

    7. 日常维护(垃圾回收,数据重组,索引维护,VM维护,预防XID溢出,日志维护)

第三天

    1. 数据迁移(逻辑备份和还原, 增量数据迁移的方法, 异构数据迁移的方法(如oracle to postgresql));

    2. 如何打数据库补丁;

    3. 数据库版本升级(小版本升级方法, 大版本升级方法);

    4. 建模与Benchmark(如何根据业务形态建立数据库测试模型, 测试工具的使用, 根据测试模型和硬件标准输出benchmark);

    5. 数据库日志分析(错误代码介绍, 日志的筛选过滤, 日志的维护);

    6. 数据库审计(参数层面的审计开关, 定制化审计(如触发器结合HSTORE),    审计数据的维护手段);

    7. 本地化(字符集, collate, 编码转换, 如何防止乱码);

    8. 数据库性能分析(OS性能分析报表, SQL性能分析报表);

    9. 数据库巡检(如何定制巡检项, 指标, 如何分析巡检报告);

 

 

PostgreSQL 数据库备份与恢复, 数据复制, 负载均衡与高可用


第一天

    1. 逻辑数据备份和还原(定制备份目标, 备份集压缩, 编辑TOC文件, 可选还原, 文本还原, 命令详解pg_dump, pg_dumpall, pg_restore);

    2. 物理数据备份和基于时间点,XID,还原点的还原(物理备份原理, 参数配置,    fsync接口可靠性测试, 归档脚本编写, 备份演示, 三种还原截止的演示, WAL不写场景的数据修正方法);

    3. 逻辑备份设计案例(在被管理的数据库较多的场景中, 如何设计集中备份和元数据的管理, 分布式文件系统的应用);

    4. 物理备份设计案例(在被管理的数据库较多的场景中, 如何设计集中备份和元数据的管理);

    5. 数据库流复制概念(流复制协议的介绍, 同步和异步的流复制架构, 相关的参数, 利用流复制协议的命令讲解pg_basebackup,    pg_receivexlog);

    6. 容灾设计案例(log shipping,    stream replication异地容灾架构, 容灾需要考虑的WAN网络安全, 数据加密, 数据压缩, 网络稳定性等问题);

第二天

    1. 数据复制的分类和应用场景(中间件数据分发的前端复制, 基于触发器的后端复制, 基于块变更的物理复制, 基于xlog的逻辑复制);

    2. 前端数据复制应用案例(pgpool-II);

    3. 后端数据复制应用案例(londiste3,    slony-I, 触发器);

    4. 物理复制应用案例(同步和异步stream replication, log shipping);

    5. XLOG逻辑复制应用案例(stream    replication 9.4);

    6. standby在升级PostgreSQL版本中的应用举例

第三天

    1. 高可用方案(介绍高可用的两种架构以及优缺点 - 共享存储, replication standby; 这两种HA架构的具体实施方法; 流复制HA的使用注意事项, WAL不写场景, 异步场景的角色切换);

    2. 负载均衡案例(读写分离架构以及实现方法举例(pgpool-II), 读写负载均衡架构以及实现方法举例(pgpool-II,plproxy,pg-xc));

 


 

PostgreSQL 服务端编程


第一天

    1. SQL函数(参数: 基本类型, 复杂类型,    OUTPUT, 可变参数, 默认值, 表参数; 返回结果集; 返回表; 任意类型参数)

    2. 函数重载(同名, 但是参数类型不同或参数个数不同)

    3. 函数稳定性(volatile,    stable, immutable详解)

    4. 函数成本和执行计划

    5. 函数PLAN CACHE

第二天

    1. 过程语言(安装语言, 语言可信度, plpgsql, plpython, ...)

    2. 触发器

    3. 事件触发器

    4. 规则系统

第三天

    1. C语言函数

    2. 聚合函数开发

    3. 函数内容加密

    4. 模块发布

    5. 代理函数语言(针对大数据的scale out, plproxy)

 

 

PostgreSQL 性能优化


第一天

    1. 硬件架构(CPU,内存,磁盘,存储缓存,存储可靠性)

    2. 硬件benchmark(cpu, 内存, 块设备)

    3. 文件系统特性以及优化(ext4,    xfs, zfs, btrfs, ...)

    4. 内核参数优化

    5. 缓存(本地缓存shared buffer, os cache; 外部缓存memcached,    redis)

    6. 参数调优

    7. 多版本并发控制, 锁, 垃圾回收, HOT, 如何减少产生垃圾

第二天

    1. 建模和压力测试, 数据库benchmark(tpc-b, 自定义benchmark)

    2. 索引(btree, hash, gin,    gist, spgist索引用法, 复合索引, 排他索引, 部分索引, 函数索引, 全文检索)

    3. 查询优化(柱状图, 成本因子以及校准, explain, 数据访问开关, plan cache, 函数三态, join优化, geqo, CET, 窗口函数)

    4. 统计信息(pg_stat*,    pg_statio*)

    5. 状态监控和趋势报表

第三天

    1. 连接池

    2. 读写分离

    3. 数据分区(本地分区, 异地分区)

    4. 负载均衡

    5. DEBUG, TRACE, 性能分析工具

    6. 性能优化案例


 

PostgreSQL 大数据应用


第一天

    1. 本地数据分区

    2. 异地数据分区

    3. 负载均衡

    4. 物化视图在大数据中的应用

    5. 加速数据加载

    6. 加速数据导出

    7. plproxy的架构以及用法

第二天

    1. londiste3的架构以及用法

    2. pg-xc的架构以及用法

    3. pgpool-II的架构以及用法

第三天

    1. citusdb的架构以及用法

    2. greenplum的架构以及用法

    3. fdw for MPP

    4. 实时大数据统计案例


 

PostgreSQL 内核


第一天

    1. 进程结构

    2. backend工作流(初始化工作流, 主查询工作流, 命令, 辅助进程)

第二天

    1. 探针

    2. 动态内核跟踪