暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

PostgreSQL 人物采访 - 安德鲁·邓斯坦

digoal 2020-09-11
313

作者

digoal

日期

2020-09-11

标签

PostgreSQL , 人物采访


背景

谷歌翻译的, 便于阅读, 英文阅读没有障碍的同学建议阅读原文.

原文
https://postgresql.life/post/andrew_dunstan/

PostgreSQL是世界上最先进的开源关系数据库。采访系列“ PostgreSQL一周之人”介绍了使该项目成为今天的人们。在这里阅读所有采访。

请告诉我们您自己,您的爱好以及您的来历。

最初来自澳大利亚,现在居住在美国北卡罗来纳州。双重公民。66岁,使我成为Postgres社区中最老的人之一。主要消遣:散步。

pic

我们应该注意您的任何社交媒体渠道吗?

2ndQuadrant博客
领英
脸书

您何时开始使用PostgreSQL,为什么?

在2002年,我的任务是选择一个参考数据库,然后我所在的公司可以与我们的产品一起发货。PostgreSQL在许可证和功能方面都满足了所有方面的要求,但是没有Windows端口。但是,由于我的推荐,我们开始在内部使用它,我爱上了它,并开始做出贡献。

您还记得您开始使用哪个版本的PostgreSQL吗?

我以7.2或7.3开始,我的第一个贡献是7.4,然后是8.0的很多贡献(例如CSV导入/导出和完全重写的initdb)。

你上过大学吗?如果是,那与计算机有关吗?您的学习对您目前的工作有帮助吗?

我拥有计算机科学专业(以及历史专业)。后来,我在阿德莱德大学(University of Adelaide)教授了计算机科学几年,在此期间,我学到的知识远比我学习时要多。是的,它经常对我有帮助。例如,当我回到9.3中重写PostgreSQL JSON解析器时,对递归下降解析器模式的了解和理解是非常宝贵的。

您还在使用其他哪些数据库?哪一个是你的最爱?

当我使用的其他软件需要时,我偶尔会使用MySQL和SQLite。除此之外,我总是使用PostgreSQL。

您目前正在从事哪些与PostgreSQL相关的项目?

大多数情况下,我还不准备公开谈论一些事态发展:-)

您如何为PostgreSQL做贡献?

通常:

审查并提交补丁
开发功能
PostgreSQL构建场
我全部或部分贡献了一些重要功能:

Windows端口
美元报价
CSV导入/导出
log_line_prefix
CSV记录
并行pg_restore
JSON功能
枚举可扩展性
Redis外部数据包装器
对PostgreSQL的任何贡献都与编写代码无关?
会议演讲和网络研讨会,但大多数都是一种或另一种方式编码。

您最喜欢的PostgreSQL扩展是什么?

黑洞FDW :-)
逻辑的

您能想到的最烦人的PostgreSQL是什么?还有修复它的机会吗?

整个吸尘和冻结歌舞uki。这很烦人,而且很必要,不会给您的收益增加一分钱。有一些机会可以改善它,但是要完全修复它将非常困难。

在最新的PostgreSQL版本中,您最喜欢的功能是什么?

REINDEX CONCURRENTLY

除此之外,您想在PostgreSQL中看到什么功能/机制?又为什么呢

能够对大型表进行分区,而无需长时间使它脱机。通常,您没有意识到需要对表进行分区,直到为时已晚。从该设计决策中恢复是非常困难的。

您能描述一下PostgreSQL开发工具箱吗?

相当低级的工具。几乎所有事情都是通过命令行完成的。我使用emacs进行任何实质性的编辑工作。除Windows工作外,开发平台均为Fedora。在Windows上,我主要使用msys或(最近使用的)msys2。对于任何实质性的开发,我通常通常先通过buildfarm客户端运行代码,该客户端进行相当全面的测试(甚至比进行检查世界更重要)。我讨厌调试器,只能将它们用作最后​​的手段。在开发过程中,我通常会使用大量跟踪写入来装饰代码,以发现正在发生的事情。这些将在提交或提交补丁之前被删除。

如果需要在隔离的环境中进行测试,可以使用vagrant,Virtualbox提供程序或vagrant-aws插件在Amazon上运行。有时我也使用Docker。

PostgreSQL开发人员/用户必须具备哪些技能?

在这里假设您是指使用PostgreSQL的开发人员,而不是PostgreSQL的开发人员。对于任何关系数据库,他们都应该了解关系代数和数据库范式的基础。他们应该知道何时具有多对多关系,何时具有多对一关系,以及如何去代表这些关系。他们应该熟悉SQL及其复杂性。

对于PostgreSQL,他们应该了解不同的联接类型及其性能特征,以及如何影响PostgreSQL将为给定查询选择的执行计划的类型。他们还需要了解PostgreSQL提供的丰富的数据类型和索引类型数组,以及何时需要使用它们。

他们需要了解整个PostgreSQL生态,包括第三方扩展和实用程序。

您是否使用任何git最佳实践,这使使用PostgreSQL更容易?

我在一个单独的分支上进行任何重要的开发。这样,我可以轻松地在开发任务和提交者任务之间切换。

在开发分支上,我通常会花很多时间,因此如果开发线无法正常工作,我可以轻松回滚。

您访问哪些PostgreSQL会议?你提交演讲吗?

pgCon,以及在美国的一些会议。是的,我几乎总是提交演讲。

您认为Postgres的入门门槛很高吗?

如今,如果您喜欢这种东西,那么会有一些相当不错的GUI(例如https://omnidb.org/en/)。这些可以大大减轻疼痛。在几乎任何平台上,PostgreSQL的安装几乎都是小菜一碟。您无需了解有关PostgreSQL的所有内容即可上手。您确实需要了解表的基本知识和基本数据类型。PostgreSQL由于其丰富的功能而令人生畏,但是您并不需要大多数功能。

对于想要开始PostgreSQL开发的人(例如为该项目做贡献的人),您有什么建议?他们应该从哪里开始?

阅读pgsql-hackers邮件列表。首先查看补丁。了解社区编码约定。通常最好使您的第一笔捐款少一些。也许是一百行或更少的代码。然后建立庞大的标题功能,这将使您成为社区中的传奇人物。另请注意,我们的态度通常是“向我展示代码”。您在社区中获得的尊重越多,您做出的贡献就越大,您将得到相应的聆听。

您认为PostgreSQL会在未来很多年出现吗?

我希望这里的时间比我长。除此之外,我不知道。

您是将Postgres推荐用于商业还是副项目?

是的,两个。

您正在阅读-hackers邮件列表吗?还有其他清单吗?

是的,还有-committers和-performance。我不经常读别人的书。

您还在其他哪些地方闲逛?

在第二象限之外没有任何东西。我曾经在IRC上闲逛,但已经习惯了。

您参与或感兴趣的其他哪些开源项目?

在某种程度上说,这是一个单独的项目,即PostgreSQL Buildfarm。这是我在2004年创建的,并且一直保持至今。当时它是革命性的,甚至在Jenkins和Appveyor的今天,作为跨平台测试系统,它仍然是相当独特的。在我们获得它之前,我们不知道,有时是几个星期或几个月,如果某个已提交的补丁破坏了我们不使用的平台。现在,我们可以在几个小时内找到有关它的信息。这是我最引以为傲的事情之一,并且可能对我所做的一切都对PostgreSQL产生了最深远的影响。(并期待真正的重大改进)。

许多年前,我为Bugzilla创建了一个独立于数据库的抽象架构系统,从而有可能将PostgreSQL作为主线后端支持-在此之前仅支持MySQL。

您还想添加其他内容吗?

Postgres很有趣!做自己喜欢的事的人并不多。我是其中的幸运者之一。他们并没有为此付出代价,但是我应该说2ndQuadrant是一家值得工作的伟大公司。

PostgreSQL 许愿链接

您的愿望将传达给PG kernel hacker、数据库厂商等, 帮助提高数据库产品质量和功能, 说不定下一个PG版本就有您提出的功能点. 针对非常好的提议,奖励限量版PG文化衫、纪念品、贴纸、PG热门书籍等,奖品丰富,快来许愿。开不开森.

9.9元购买3个月阿里云RDS PostgreSQL实例

PostgreSQL 解决方案集合

德哥 / digoal's github - 公益是一辈子的事.

digoal's wechat

文章转载自digoal,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论