V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Hyxiao
V2EX  ›  程序员

感觉这两年 PostgreSQL 明显越来越火了

  •  1
     
  •   Hyxiao ·
    HyxiaoGe · 50 天前 · 15275 次点击
    这是一个创建于 50 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在研究各种 LLM 相关项目时发现一个有趣的现象:绝大多数项目都选择了 PostgreSQL 作为默认数据库,比如:

    • Dify (默认 PostgreSQL )
    • n8n (推荐 PostgreSQL )
    • Supabase (基于 PostgreSQL )
    • Vercel (很多模板用 PostgreSQL )

    这让我有点困惑,因为:

    1. 按理说 MySQL 的用户基础更大(个人猜测)
    2. 虽然 PostgreSQL 有 pgvector ,但如果真需要向量功能,为什么不直接用专门的向量数据库?
    3. 对于普通的 CRUD 操作和 JSON 存储,MySQL 完全够用

    而且我在使用 cursor 或者 claude code 进行编码时,他们也是默认推荐使用 postgreSQL 来搭建数据库,感觉应该是社区/生态的影响?

    真心求教哈,不是挑起数据库之争😄

    129 条回复    2025-08-02 14:03:00 +08:00
    1  2  
    orFish
        101
    orFish  
       50 天前
    我也发现了,最近几年用不少的开源项目,好多都只支持 pg
    zhouyin
        102
    zhouyin  
       50 天前
    @cwcc
    我的讨厌点:pg 不支持内存引擎 需要 mount ram 当作虚拟磁盘给 pg 用 太麻烦
    yh7gdiaYW
        103
    yh7gdiaYW  
       50 天前   ❤️ 1
    @w568w 如果插入百万条数据是数据恢复场景的话,mysqlsh 的性能可能没 7 秒这么快,但也够用了;
    如果是业务需求需要频繁插入百万数据的话(我们有个类似的产品一个报告上亿条数据),pg 估计也抗不了多久,直接上列存好了
    strive
        104
    strive  
       50 天前
    pgsql 对向量的存储、查询、相似度计算这些都非常方便
    YetToCome
        105
    YetToCome  
       50 天前
    pg 的奥利奥现在能落地了吗,不能的话还是接着 mysql 吧
    victorc
        106
    victorc  
       50 天前   ❤️ 1
    纯粹有病,吹 pg 的和鼓吹 rust 的一样,总有小撮人人选择小众方案,来自我感动,幻想自己被人排挤,怀才不遇

    信创魔改 pg 的多,是 因为 pg 代码结构优良,好改
    sagaxu
        107
    sagaxu  
       50 天前
    十多年前,国内某行业就大量使用 pgsql 做非核心系统了,核心库还是 oracle/sqlserver/db2 。选 pg 的理由很简单,一是商业库的存储过程往 pg 迁移比往 mysql 迁移更简单些,二是 pgsql 查询时索引的选择比 mysql 靠谱,mysql 不但要指定索引还要指定连表顺序。我不知道现在 mysql 8 之后执行计划有无改进,现在的 pg 有无改进主从同步热备。
    ThinkCat
        108
    ThinkCat  
       50 天前
    我印象中之前 oracle 对 mysql 好像搞过协议变更什么的( oracle 已经搞过 java 了),后面社区弄了个 MariaDB ,特别是国外注重这些法律风险,会规避这些问题,会导致一些 mysql 用户流失。pg 一直国外用的蛮多的,之前搞 rust 的时候,很多开源的 orm 组件都有 pg ,反而 mysql 有些不是第一时间支持。
    bootvue
        109
    bootvue  
       50 天前
    mysql 有 pt-online-schema-change 超大表 online ddl 操作很丝滑, pgsql 你们都怎么搞
    Configuration
        110
    Configuration  
       50 天前
    baiic
        111
    baiic  
       50 天前
    不管啥项目,好像都可以将 pg 直接放到自己项目中发行,mysql 好像都是要用户自己安装,我作为开发者肯定选 pg 了
    bootvue
        112
    bootvue  
       50 天前
    @Configuration 后边我试试
    edisonwong
        113
    edisonwong  
       50 天前
    以下是个人真实体验

    mysql:成熟、文档多、网上疑难杂症方案多、懂得人多、配套的大中小工具多

    pg:存向量用 pg ,个人玩具,公司普通业务用 mysql 。至于性能,有那么多追求极致性能的场景?

    milvus:存向量也可以,但我感觉大多场景 pg 就够了。老版本的 milvus 在老版本 centos 下起不来(好像什么系统 signal 无法识别问题)

    mongo:前司大规模用,维护起来真是一坨 shit ,难维护。迁移时出现问题,连腾讯 T11 级别的专家解决起来都一头雾水...

    doris:文档,教程简陋,出了问题,个性化需求都不知道在哪找解决方案
    edisonwong
        114
    edisonwong  
       50 天前
    参数、性能、排名报告不是一切,除非你能自己读、改源码,不然有问题你都不知道问谁。想起了前几年体验 cockroach db ,一言难尽
    Alias4ck
        115
    Alias4ck  
       50 天前
    因为 llm 大多是 python 项目. mysql 的异步 python 库 aiomysql(还是基于 pymysql pure python 实现) 对比 pg 的 asyncpg 库太慢了 还不说 mysql 各种奇葩的问题.
    changz
        116
    changz  
       50 天前 via Android
    emmm...评论区居然没人提这个,pgsql 在大部分场景下能比 mysql 少写很多代码
    jackmod
        117
    jackmod  
       50 天前
    公司项目已经从 oracle 转到 pg 了。
    BadAngel
        118
    BadAngel  
       50 天前
    @Fisherder 我也看了这个,看完觉得 Mysql 啥 b 玩意儿。偷笑
    fan123199
        119
    fan123199  
       49 天前
    就说下 ,chatgpt 用的 pgsql
    fan123199
        120
    fan123199  
       49 天前
    @fan123199 不严谨,应该是说 openai
    Dlad
        121
    Dlad  
       49 天前
    sql 标准希望数据库逻辑完善,承担更多工作。
    这实际上并不符合软件工程预期,也不符合实际创业的场景 —— 一个特性,是交给业务逻辑工程师实现,还是交给数据库工程师实现,如何界定?
    谈到语言、方案、平台,就想要一站式,多泛型,大而全,“一处编写处处运行”;喷 mysql/mariadb 就想要:每个开发都熟识数据库特性,愿意维持两个版本库和两套调试系统,每个公司每个项目都有个会编程的 DBA 。
    各位架构师几时见过 RPC 、微服务架构,覆盖了数据库调用?

    本来没有门户之间,横评哪个好用哪个 —— mysql 都卖产品摆烂了,没理由为他张目。
    跟着评论去看了 B 站两个视频,觉得要写一点——视频会误导不了解 mysql 生态、和互联网时代的新人。

    很多判断,需要经验和踩坑时的切身体会。claude code reach limit 跑来回个帖子,着实没时间吵架。
    举几个例子尝试传达吧:

    1 、mysql / mariadb 有自己的局限,也有自己的思考。
    就说全文索引,前有 sphinx 、lucene ,后有 elastic search ,meilisearch ,mariadb 做不过他们,pgsql 也做不过他们。“最好”不仅需要努力,也需要运气,是实践遴选出来的(否则大厂就不会有失败的技术框架)。
    一件事做不到 100%,不能成为首选或杀手级应用,还去做只说明有余力。这其实不符合 unix 原则。

    2 、架构师选型 mysql / mariadb ,是选了整个生态。
    十万 UV ,过亿 PV 的架构已经是大路货了,顶尖流量的负载方案也有几个。主从同步,分库分表,sphinx 中间层,gossip 一致性集群,ocean db 改造……架构盘旋上升,mariadb 是职责明确的一环,只看到 mariadb 是错过了选型的精髓。

    3 、不必让关公战秦琼
    db 横评每天都有无数人在做。如果 pgsql 全时段超越 mariadb ,mariadb 不会长期成为各 linux 发行版默认数据库。
    当年的运维、coder 、架构、产品、CTO 也有脑子的…… pgsql 崛起了,中小型项目有更标准的数据库,好事。进而认为 pgsql 被埋没了十几年,排行榜首 mysql 一无是处,是常见的非理性。


    我今天把开发中的项目从 mariadb 迁移到 pgsql 了 —— 身为 coder ,身处 AI 时代,“难度曲线”、“踩坑实践”对选型的影响越来越小了,想用哪个用哪个。
    我觉得 #49 楼视频中的情绪大于逻辑,近乎历史虚无主义了。照猫画虎的话:纸带机更经不起审视,python 也经不起推敲,支持向量机更是忝居高位多年。

    唯有理解那个狂飙突进的时代,才能真正理解实践为王(解决实际问题),速度优先(官方满足需求的速度),定位明确(与 IOE 打差异化)的 mysql 的克制与流行。
    bytecc
        122
    bytecc  
       49 天前
    @Erona 楼战都说了不挑起数据库之争,你还杠
    masterArcher
        123
    masterArcher  
       49 天前
    够用就行,就像论坛全是 go rust ,我还以为国内变天了呢
    论坛里永远只是一小撮
    qqqyh
        124
    qqqyh  
       49 天前
    StackOverflow 2025 全球开发者调研数据发布了,今年基本上已经没有任何悬念,PostgreSQL 以碾压性的使用率数据与增长态势主宰了数据库世界,成为了 DB 领域的 Linux 内核。
    https://mp.weixin.qq.com/s/BzLUhc1XeEtMbZGv9xq46g
    COW
        125
    COW  
       49 天前
    mysql 简单易上手是最大的优势,我 n 年前接触 pg 的时候就发现这玩意比 mysql 先进了,但是高可用方案不成熟、基本概念比 mysql 理解起来复杂一点,文档也不如 mysql 成熟,这才是早期 pg 先进而不流行的原因。
    shylockhg
        126
    shylockhg  
       49 天前
    @cwcc 啥叫静态编译 libpq
    johnmichael09
        127
    johnmichael09  
       49 天前
    建议去看一下两千万怎么计算得出来的
    qi1
        128
    qi1  
       49 天前
    @WasteNya 骂人太脏了
    Gilfoyle26
        129
    Gilfoyle26  
       48 天前
    标准 SQL ,就这一点就足以傲视群雄。
    1  2  
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2170 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 16:08 · PVG 00:08 · LAX 09:08 · JFK 12:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.