Skip to content

Latest commit

 

History

History
120 lines (69 loc) · 12.9 KB

20200911_19.md

File metadata and controls

120 lines (69 loc) · 12.9 KB

PostgreSQL 人物采访 - 迪米特里·方丹

作者

digoal

日期

2020-09-11

标签

PostgreSQL , 人物采访


背景

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

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

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

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

嗨!我叫Dimitri Fontaine,我是法国人,目前居住在大巴黎地区。当我不坐在电脑前工作时,我喜欢和孩子们在一起。我们玩棋盘游戏,玩得开心,聊天,一起看电影……或者至少尝试找到我们每个人都喜欢看的电影……我也弹吉他。

尽管它确实是从那开始的,但这并不是真正的业余爱好,我还写了一本书来帮助应用程序开发人员了解您可以用Postgres做多少事情。它的名称为“ PostgreSQL的艺术 ”,请查看!

pic

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

我在我的Twitter帐户@tapoueh上转发了许多PostgreSQL内容。我还在两个博客领域中写文章:tapoueh.org和我的书的网站中的一个,以及theartofpostgresql.com/blog/上的其他系列文章。

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

我认为我第一次接触PostgreSQL是在我的大学时代,大约是1998年或1999年,诸如此类。本地系统管理员没有足够的时间成为DBA,并且因为我是首先要求他为我们提供RDBMS的人,所以他给了我Unix特权来管理数据库服务。我们使用的是HP-UX服务器,在那里安装PostgreSQL(从源代码)很容易:花了很多年的时间才意识到这绝非偶然:再次感谢Tom Lane!

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

我认为我对Postgres的第一次认真使用是在某家公司管理生产的情况下发生的,即7.2到7.4。这意味着我记得随着巨大的进步,一些非常古老的Postgres版本…

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

显然,作为一个很小的孩子,我曾梦想过有一天我会成为一名“工程师”。我想我什至不知道那意味着什么。不过,由于法国拥有公共教育体系,我做到了。所以,是的,我做了5年的计算机科学相关研究:IUT的“GénieInformatique”(CS基础知识),然后又是一所计算机科学大学。从那里,我很好地介绍了Unix操作系统及其在Internet设计中的影响,以及一些其他的文化知识,使人们可以比较汇编,Ada和C编程。不过,没有什么实用的工具,例如使用CVS或类似工具。例如,在我们的RDBMS类中,我们将学习规范化和查询计划,但不会学习如何编写SQL查询…

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

在pgloader工具的上下文中,有时我不得不与其他数据库一起工作……但是仅在将它们迁移到Postgres的上下文中。然后在工作中,我面临使用Citus(对Postgres的扩展)的麻烦,使它成为分布式RDBMS。因此,在大多数方面,这仍然是Postgres。

毫无疑问,我最喜欢的RDBMS是Postgres。

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

我目前的全职工作是花在改进pg_auto_failover上,这是一个开放源代码项目,通过实现用于在生产中运行Postgres的自动故障转移解决方案来提供容错能力。我们已经有该工具的生产级用户,并且我们目前正在开发1.3版。pg_auto_failover意味着非常易于使用,并且可以与简单的体系结构一起使用。虽然说实话,版本1.4应该保持简单性并在支持的生产体系​​结构方面增加一些灵活性。

另一个仍然引起我注意的项目是pgloader:一款全自动工具,用于在Postgres中加载数据,也可以在单个命令中迁移整个数据库。它可以像pgloader mysql:// user @ host / dbname pgsql:// user @ host / dbname一样简单,您就完成了架构和数据!我想围绕该项目创建一个团队,因此,如果您有兴趣,请加入我们:找到问题,重现问题,然后解决并解决问题。打开PR,寻求帮助,我将很乐意伸出援手,欢迎新的贡献者!

您如何为PostgreSQL做贡献?

在9.1和9.3时代,当我开发CREATE EXTENSION和CREATE EVENT TRIGGER命令时,我曾经向Postgres提供代码。如今,我通过pg_auto_failover和pgloader在自由软件方面,在会议上发表讲话以及通过我的《PostgreSQL的艺术》一书做出了贡献。

对PostgreSQL的任何贡献都与编写代码无关?

演讲,博客和书本不是代码,仍然可以使整个社区受益,所以,是的。

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

这是一个很难的问题。我想我将不得不在这里转而说,我喜欢Postgres允许用户安装扩展,而开发人员可以提出非常有趣的扩展来回答引人注目的用例。对于我来说,很难选择一个最喜欢的扩展名,有那么多选择!

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

我认为我们可以提高Postgres中功能的可发现性。我们那里有很多东西不容易找到或理解其影响。例如,让我们提到不起眼的generate_series()SRF。这是Postgres中包含的Set Returning Function,它允许以简单的方式解决相当高级的问题。另一个这样的例子是局部唯一索引,它是如此有用,并且在没有巨型锁的情况下几乎不可能在应用程序级别进行替换。

这就是为什么我首先写书的原因。我一直认为我们应该对Postgres文档教程进行全面改革,但是我仍然没有为我的许多项目和想法找到时间。

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

每个版本的Postgres都具有某种程度的自动化,以实现以前难以调整的参数。这些改进是我的最爱。当然,提高对SQL标准的支持是紧随其后的。

总而言之,我喜欢Postgres允许其用户以简单的方式实现复杂的事情。它将为您完成艰苦的工作,这就是我喜欢的事情!

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

当第一次被引入到新的SQL标准版的match_recognize子句(感谢Vik!)时,我花了一些时间来解决它。但是后来在Markus在modern-sql.com/feature/match_recognize上有关它的文章的帮助下,我现在非常希望看到它对Postgres做出了贡献。

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

我认为使用Postgres时最有用的技能是应用程序和系统架构。了解您编写的代码将如何在生产环境中运行,以及哪个组件提供什么服务,这才是真正利用Postgres以及部署的任何其他服务的关键。

每当我看到Postgres被视为“存储系统”时,我都会感到畏缩。如果您要解决的是存储,则将内存转储为XML或JSON文件(或者,实际上是您更喜欢的任何格式),并在此基础上提供基于HTTP的API,或者您知道的东西。问题解决了。

Postgres和RDBMS正在解决同时访问单个数据集的问题。那不是存储……在我看来,理解这是理解复杂SQL甚至有时存储过程的吸引力的关键。能够可视化整个应用程序运行时系统是一项复杂的任务,需要培训和耐心。我认为作为应用程序开发人员,这是最有用的。

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

如今,我们处于锁定状态,这种状态可能会持续一段时间。我希望我们能够在今年晚些时候维持PostgreSQL Conference Europe,并很高兴参加。其中我最喜欢的Postgres会议是pgDay巴黎和北欧PGD​​ay,PGCon在渥太华,然后一些。我很幸运,环游世界,例如在巴西的圣保罗和日本的东京与人们会面!

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

我认为Postgres的许多用户不太确定为什么要使用该技术或其特殊之处。主要是因为开发人员是在已经在使用Postgres的现有项目中聘用的,并且通常在其之上具有多个抽象层。当我参加编程语言聚会和会议时,我与使用Postgres的开发人员进行了聊天,因为这是他们最喜欢的Web框架所使用的。许多用户从来没有问过为什么要使用Postgres。

是的,从应用程序开发人员的角度来看,我们在解释Postgres在可用于生产的应用程序堆栈中的作用方面可以做得更好。

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

当Lætitia向我提出相同的问题时,我的答案是找到一个非常简单且清晰的错误要修复,或者发现SQL标准中缺少一个错误。由于Postgres错误通常是在同一天修复的,因此很难以这种方式成功完成,因此也许仍然要进行良好的培训,然后再将最终提交的错误与学习的曲线进行比较,这是一次很好的培训。

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

毫无疑问。谁想要从头开始实现这种完整性的替代方案?同样,如果您考虑并发访问单个数据集,那么……我知道我很高兴不必在自己的应用程序代码中解决该问题。毕竟,这就是为什么pg_auto_failover使用Postgres作为其监视器的原因。

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

两者当然。

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

digoal's wechat