查看原文
其他

Postgres or PostgreSQL?

米拉 Bytebase 2022-12-19

从决定将 Bytebase 的内嵌数据库从 SQLite 迁移到 PostgreSQL;到之后由社区同学发起,Bytebase 支持用户使用外部 PostgreSQL 来保存系统的元数据「Bytebase 1.0.4 - 2022.4.28」,Bytebase 算是彻底拥抱了 PostgreSQL

然而到了实际操作的时候,首席拧巴官天舟·陈发现大家对于「它」的称呼不尽相同。于是就在 BB 群里发起一个投票👇

通过内部投票,Bytebase 选择了 PostgreSQL (估计投 PostgreSQL 都是研发同学,毕竟代码实现上用的已经都是 PostgreSQL 或者 postgresql,Bytebase console --pg 以及 bb --dsn 选项支持的也都是 postgresql:// 而不是 postgres://)。

那么问题来了,为什么会有这种困扰?


速成历史课


PostgreSQL 并不是从最开始就叫做 PostgreSQL,最早期甚至没有 SQL 支持。

  • 为填补当代数据库系统的空白,计算机科学教授 Michael Stonebraker 于 1986 年在加州大学伯克利分校开始了 "The Berkeley POSTGRES Project",一个「后 Ingres」 (Post-Ingres) 的 RDBMS,并使用 POSTQUEL 查询语言;

  • 1994 年,一个 SQL 语言解释器被添加到 POSTGRES 中,POSTGRES 被改名为 Postgres95

  • 到了 1996 年,很显然 Postgres95 这个名字就过时了,为了体现最初的 POSTGRES 和具有 SQL 功能(1995 年才加上)的最新版本之间的联系,PostgreSQL 这个名字便诞生了。

  • 自从改名,用户的困惑也逐渐多了起来:

    • 该怎么发音?*官方读法:post-GRES-que-ell

    • 该怎么拼写?是 Postgre 还是 PostgresQL?

    • Postgres 是一个 fork 吗?我该用哪个版本?

总结一下:POSTGRES -> Postgres95 -> PostgreSQL(所以严格说来并没有哪个时候的官方拼写方法是 "Postgres"?)



困惑,都可以困惑


让我们来看看过去一年 "postgresql"(蓝色)和 "postgres"(红色)在谷歌全球范围内的搜索量对比。(BTW 中间那个明显的下降是 2021 年圣诞 - 元旦那周估计大家都休假去了😅)

可以看出,"postgresql" 的搜索量始终超过 "postgres",虽然不清楚大家是真的不清楚正确拼写,还是懒得多打两个字母,但是显然的事呈线性相关。


那再来看看过去十年的!

可以看出,期间有一段时间困惑似乎减少了,但是随后又被拉开,即便已经改名超过 25 年,这个问题持续困扰大家。。。

Tom Lane [PostgreSQL 在过去十多年中最主要贡献者之一,https://en.wikipedia.org/wiki/Tom_Lane_(computer_scientist)] 就在 2006 年的一封邮件中表示,改成 PostgreSQL 而不是改回 Postgres 是该项目犯的最糟糕的错误。

[>> Can i get data in postgre from non-postgre db?
> The name is PostgreSQL or Postgres, not postgre.
It might help to explain that the pronunciation is "post-gres" or "post-gres-cue-ell", not "post-gray-something".
I heard people making this same mistake in presentations at this past weekend's Postgres Anniversary Conference :-( Arguably, the 1996 decision to call it PostgreSQL instead of reverting to plain Postgres was the single worst mistake this project ever made. It seems far too late to change now, though.
regards, tom lane


但是考虑到(再次)改名之后的成本、新的困扰,以及对于其他上下游项目的影响,估计官方能做的也就是继续努力来消除大众现存的困惑,比如在谷歌搜 postgres,会自动跳出 postgresql,以及在浏览器输入 https://www.postgres.org 会重定向到 https://www.postgresql.org。



总结一下


  1. 官方是 PostgreSQL,但是也接受 Postgres 作为昵称。

  2. Bytebase 的选择是 PostgreSQL。

  3. 看起来这个问题会一直持续下去。。

当然坏处就是大家要多打几个字,外加切换大小写,估计在念的时候,大家还是习惯 Postgres,但怎么办呢,就像 Tom Lane 所说,民主有代价的这个锅是社区的。



References

  1. https://www.postgresql.org/message-id/2693.1152762174@sss.pgh.pa.us

  2. https://www.craigkerstiens.com/2018/10/30/postgres-biggest-mistake/

  3. https://tableplus.com/blog/2018/10/postgres-vs-postgresql.html

  4. https://wiki.postgresql.org/wiki/Postgres

  5. https://www.postgresql.org/about/press/faq/

  6. https://www.postgresql.org/docs/current/history.html#HISTORY-BERKELEY

  7. http://www.postgres.cn/v2/about



bb - 管理数据库的 Bytebase 命令行 CLI

通过 Webhook 接收数据库变更通知

DBA, Database and Developer 十日谈

从 SQLite 到 PostgreSQL



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存