以下仅为个人建议与感悟,如有不妥,请您见谅!
一、学习建议
一)夯实Linux基础
Linux基础是任何从事系统运维、开发人员、部署人员必备的基础知识。我们在安装部署时,根据实际应用场景可能会面临不同的Linux操作系统,因此我们需熟知如:redhat、centos、ubuntu、麒麟、龙蜥等Linux操作系统(初期学习阶段选择1-2个Linux操作系统学习即可),进一步拓展Linux操作系统视野。当然,Linux有没有快速提升的捷径呢?答案是没有的。如果大家有意学习Linux的话,初期学习一定不要错过《鸟哥的私房菜》,后期可以看看shell编程以及Linux内核方面的书。
二)熟悉常用数据库架构
学习掌握Mysql、oracle及其他数据库部署、安装方法(比如oracle的RAC、MYSQL的MHA),了解或熟悉相应的架构及原理,有助于进一步提升对PG的认知(当然大家对国产数据库有兴趣的话,可以继续拓展学习)。
三)熟练掌握数据库对象的创建及删除
每个数据库管理员(这里不一定是DBA)应掌握PG表空间、用户与角色、 数据库、SCHEMA 、TABLE、 视图、物化视图、 函数、序列、索引、约束等常见对象创建、删除方法,如有可能请您深深的记在自己的脑海里。
四)掌握数据库的权限配置
数据库的权限分离,是在生产环境中必需要做的。因此需考虑数据库查询、dml、ddl多场景的账号权限分离。
五)掌握数据库备份及还原
备份及还原是我们保障数据安全的必要手段。定时的全量、增量、归档日志备份有益于数据库出现故障时,数据安全性得到可靠的保障。因此我们需掌握常用的pg备份及还原命令:如pg_dump、pg_restore、psql、pg_rewind等。
六)掌握适当的优化技巧
需掌握一定的SQL优化技巧、PG数据库操作系统层面的参数优化技巧。 个人认为这是数据库的进阶部分了,也是每个专业DBA需要熟练掌握的高级技巧。
七)其他
PG要学习的东西仍有很多,包括审计、slots、消息订阅、插件使用等,所以大家要做好打攻坚战的准备。




