Postgres or PostgreSQL?

数据库学习】Postgres(PG)概览与PostgreSQL基本语法 -数组可以定义长度、也可以不给。也可以定义多维数组。但定义长度多维数组在实际使用中是无效的。如下面两种定义是等价的。类似于C的结构体, 阅读详情

从决定将 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 所说,民主有代价的这个锅是社区的。

PostgreSQL 数据库简介 PostgreSQL(通常简称为 Postgres)是一种功能强大的开源对象关系型数据库系统。它以其高度的可靠性灵活性而闻名,支持复杂的查询、数据完整性、可扩展性以及对多种数据类型的处理。开源地址此外,PostgreSQL 的社区还提供了丰富的文档、教程工具,帮助开发者用户更好地使用管理数据库 阅读详情

相关推荐

PostgreSQL】扩容postgres存放数据目录,报错“/pgsql/data“ is missing or empty 数据目录找不到

PostgreSQL】扩容postgres存放数据目录,报错"/pgsql/data" is missing or empty 数据目录找不到

好学的小师弟的博客;华为云社区月度积极博主 2455

Postgres95到PostgreSQL9.5:新版亮眼特性

编者按:高可用架构分享及传播在架构领域具有典型意义的文章,本文由萧少聪分享。转载请注明来自高可用架构公众号「ArchNotes」。萧少聪(花名:铁庵),广东中山人,阿里云...

weixin_45583158的博客 927

PostgreSQL AND & OR 运算符详解

本文详细介绍了PostgreSQL中的ANDOR运算符,包括它们的用法、注意事项以及在实际应用中的使用方法。掌握这些运算符对于提高数据库查询技能具有重要意义。希望本文能对您有所帮助。

xyq2024的博客 696

数据库知识】PostgreSQL介绍

概述一、起源与发展二、特性与功能三、PL/pgSQL语言四、应用场景五、配置与优化核心概念一、基础数据结构二、数据操作三、高级特性四、应用场景多版本控制MVCC说明一、MVCC的基本概念二、MVCC的实现原理三、MVCC的工作流程四、MVCC的优势五、MVCC的局限性可扩展性说明一、核心可扩展性机制二、水平垂直扩展三、扩展插件社区支持四、复制故障转移五、性能优化扩展策略索引类型说明一、B-Tree索引二、Hash索引三、GiST索引四、GIN索引五、多列索引(复合索引)六、唯一索引七、表达式索引。

wendao76的专栏 5157

postgresql简介对比.

前言 之前就听说pg功能强大,而且使用排名也比较高,正好要接入pg管控运维,需要快速学习,下面是pg与mysqlOracle的简单对比,可以在大的层面上有所了解 pg与mysql对比 MySQL pg SQL语法支持弱(不支持sequence,子查询性能弱) 主流夺标查询能力强(Nest loop, hash join, sort merge join), sql语法能力强...

zhangjikuan的专栏 560

postgres_fdw.control: No such file or directory

postgres源码安装扩展

yxb_xb的博客 2438

pgAdmin 登录错误,还是添加 PostgreSQL 服务器时的连接错

场景检查点快速修复pgAdmin 登录界面报错容器环境变量PASSWORD删除容器,用新邮箱/密码重建pgAdmin 添加服务器报错PostgreSQL 容器的进入 PostgreSQL 容器重置密码如果你能确认是在哪一步遇到的错误,我可以给出更精确的命令。你也可以直接尝试重新创建 pgAdmin 容器(记得先 stop + rm),这通常能解决大部分登录问题。

399

Sentry 9.1.2安装中PostgreSQL连接问题的排查与解决

本文详细排查了Sentry 9.1.2安装过程中出现的经典PostgreSQL连接错误“could not translate host name 'postgres'”。文章从容器状态、Docker网络、配置核对及版本兼容性等维度,提供了逐步诊断与解决方案,重点解决了因密码未设置、服务启动顺序及网络配置不当导致的数据库连接失败问题,并给出了确保安装成功的完整操作流程。

9o8p7i6u5y的博客 429

psql: error: could not connect to server: No such file or directory

报错 [postgres@psql] (~) $ psql psql: error: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.15432"? 原因 pg_config_manual.h 中定义默认socket目录为: #d

你好我是李白 5287

postgresql xlog初始化分析

初始化过程 在initdb的initialize_data_directory create_xlog_or_symlink() 创建wal日志目录 PG_CMD_OPEN通过 popen打开主程序postgres snprintf(cmd, sizeof(cmd), "\"%s\" --boot -x1 -X %u %s %s %s", backend_exec, wal_segment_size_mb * (1024 * 1024), data_checks..

一个追逐梦想的码农 1095

Postgres.app vs Homebrew:Mac上两种PostgreSQL安装方案深度对比(含性能测试)

本文深度对比了Mac上PostgreSQL的两种主流安装方案Postgres.appHomebrew,涵盖安装流程、性能测试及适用场景。通过实测数据展示Postgres.app在ARM适配内存占用上的优势,以及Homebrew在团队协作多版本管理中的灵活性,帮助开发者根据项目需求做出最优选择。

ppp33的博客 623

PostgreSQL入门到实战-第十弹

PostgreSQL: 世界上最先进的开源关系数据库

笑三年-Dylen 568

MySQL or PostgreSQL?

Rubbishing MySQL and recommending PostgreSQL?

DBADaily 的博客 314

PostgreSQL 任意字段数组合 AND\OR 条件,指定返回结果条数,构造测试数据算法举例 ...

标签 PostgreSQL , 构造测试数据 , 任意字段组合AND,OR查询 , 指定结果集大小 背景 在进行一些实际的POC测试时,需要根据业务提出的需求构造数据,比如按照任意字段数组合 AND\OR 条件,指定返回结果条数,构造测试数据。 需求 表记录数A 表字段数B 1、N个字段等值OR,命中M条记录 (两个条件无法同时满足) 2、X个字段...

weixin_33726943的博客 400

prometheus + postgres_exporter监控postgresql

pg_total_relation_size_bytes:每个数据库中所有表索引的总大小。pg_stat_user_indexes_tup_read:用户索引扫描期间读取的元组数。pg_stat_user_indexes_scan_count:用户索引扫描的次数。pg_stat_activity_waiting_count:当前等待中的连接数。pg_stat_activity_idle_count:当前空闲的连接数。pg_stat_activity_count:当前活跃的连接数。

manba_24的专栏 4855

mysql8 vs postgresql_摊牌:MySQL 8 vs PostgreSQL 10

David Marcu摄既然MySQL 8PostgreSQL 10已经淘汰,现在是重新审视两个主要的开源关系数据库如何相互竞争的好时机。在这些版本之前,人们普遍认为,尽管Postgres在功能集及其谱系方面更胜一筹,但MySQL在大规模并发读/写操作方面进行了更多的大规模测试。但是随着最新版本的发布,两者之间的差距已大大缩小。功能比较让我们看一下我们都喜欢谈论的“时髦”功能。 过去常常说My...

weixin_32745665的博客 415

PostgreSQLpostgres主进程

PostgreSQL数据库系统中,主要的后台进程各司其职,保证数据库的高效运行。其中,主进程postgres(也称为Postmaster)是整个数据库的核心,它负责管理协调所有其他后台进程,并处理客户端的连接请求。理解主进程的作用是了解PostgreSQL架构的关键。

文牧之的博客 1726

【AI 测评】Prometheus怎么监控PostgreSQLPostgres Exporter部署教程

我是小假 期待与你的下一次相遇 ~

纵有疾风起 人生不言弃 6475
上一篇: 资深工程师教你写出研发喜欢的文档
下一篇: 二分 debug 法 yyds
Bytebase
博客等级 码龄5年 1233粉丝 258原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值