在 EDB 最近的虚拟活动Postgres Vision 2020中,我谈到了我在数据库管理领域的经历,从初级 Oracle DBA 开始,绕过 SQL Server 和 Sybase ,然后 20 年后才到达 PostgreSQL 。
-
发现 PostgreSQ
我回想起20 年来作为Oracle DBA 的经验第一次接触PostgreSQL 的感觉,感觉就像是新招的的初级DBA 。我与与会者分享了如何自学安装,配置和管理PostgreSQL 数据库。
我还讨论了Oracle 和PostgreSQL 之间的一些相似之处,使我减少了失落的感觉:数据库,实例,数据文件,表空间,模式,配置文件,表,视图,索引,约束。
另外,我比较了Oracle 和PostgreSQL 之间的一些差异:WAL 与REDO ,小写与大写对象名称,自动提交模式,它们处理并发读/ 写的不同方式(多版本并发控制或MVCC )
-
深层发掘
我遇到了一些挫败感,例如,尝试退出11 版之前的psql 或不得不学习有关PostgreSQL 目录和信息模式的方法。我还遇到了很多惊喜,例如安装PostgreSQL 和创建数据库实例的速度有多快,或者没有DUAL 表的事实。
在我的课程中,我谈到了PostgreSQL 中缺少的东西,例如分区功能(尽管每个新版本中逐渐引入了分区功能)和集群。
我强调了PostgreSQL 表现出色的许多方面。例如,文档,布尔值,管理特权(可以在整个模式中授予对所有对象的特权,可以授予默认特权,即对尚不存在的对象的特权或对表的截断特权)。
-
分享我的经验
我共享了一些我学习调整的主要配置参数,以便从数据库中获得最佳性能(因为postgresql.conf 中某些参数的默认值旨在创建一个使用最少资源而不是最小资源的数据库)。一种针对实际应用而设计的)。
我简要地谈了TOAST (我学到的与烤面包无关,而是《超大属性存储技术》,其中PostgreSQL 将大字段值分成多个块)和VACUUM (清除过时的行并回收表中的空间) )。
然后,我列出了一些可用于数据库监视和管理的不同工具(pgAdmin ,DBeaver ),备份和还原(Barman ,pgBackrest ,EDB BART ),复制和高可用性(repmgr ,repmgrd ,心脏起搏器,corosync ,pgBouncer , pgPool ),以在开发和测试数据库上生成活动以进行基准测试(pgBench )和分析(pgBadger )。
关于PostgreSQL 我有很多东西很喜欢。例如,这个令人惊叹的社区充满了热情友好的人们,他们喜欢通过PGDays ,PGConfs ,Meetups ,Twitter feed ,博客和邮件列表分享很多知识。
尽管在我的会议上,我并没有回答所有人似乎都在问的问题:“您更喜欢Oracle 还是PostgreSQL ?”,我对PostgreSQL 的热情在整个故事中都很明显,而且事实上,选择成为EDB 的高级数据库顾问,帮助客户完成PostgreSQL 之旅。
原文链接: