V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
unt
V2EX  ›  数据库

过来人说说, postgresql 和 mysql 究竟怎么选

  •  1
     
  •   unt · 23 小时 20 分钟前 · 6824 次点击
    从客户要求,系统架构,公司内部技术栈,领导偏好,个人使用体验等多方面聊聊
    98 条回复    2025-02-07 14:50:28 +08:00
    Seanfuck
        1
    Seanfuck  
       23 小时 18 分钟前   ❤️ 2
    没有硬性要求就无脑 mysql ,简单省事。
    whevether
        2
    whevether  
       23 小时 17 分钟前   ❤️ 1
    sql 玩的不好的还是 mysql 吧。简单。高手可以玩 pg
    rekulas
        3
    rekulas  
       23 小时 11 分钟前
    看业务,如果未来业务对 json 需求高的可以上 pg ,如果不高就 mysql 又成熟又稳
    以基础框架为例,优先适配、测试用例覆盖更全的也是 mysql ,找库也好找些
    laikick
        4
    laikick  
       23 小时 5 分钟前
    必须使用独立自主的 mysql
    defunct9
        5
    defunct9  
       23 小时 5 分钟前
    mysql ,pg 的模式很麻烦的。
    hefish
        6
    hefish  
       23 小时 4 分钟前
    哈哈哈, 我选 sql2000 。咳咳。。。
    8355
        7
    8355  
       23 小时 2 分钟前
    mysql 已经不是以前的 mysql 了,支持 mysql 协议的数据库很多,性能也有很好的,扩展和迁移方案也很多。
    iFerrari860
        8
    iFerrari860  
       23 小时 2 分钟前
    之前业务系统从 mysql 转 pg ,改到冒烟。。想轻松就无脑选 mysql.
    beneo
        9
    beneo  
       23 小时 1 分钟前
    pg ,真的,从 0 到 1000 都可以,云,本地,包括信创过渡都没问题
    qqjt
        10
    qqjt  
       22 小时 59 分钟前
    ……哥们你来收集话术的吗?这类讨论网上多的是啊
    luckyrayyy
        11
    luckyrayyy  
       22 小时 58 分钟前
    绝大多数业务不用选,你抽签就完了。
    chendy
        12
    chendy  
       22 小时 55 分钟前
    政策法规 > 领导喜好 > 使用成本 >> 其他
    gimp
        13
    gimp  
       22 小时 55 分钟前
    没啥理由,我投 PG 一票
    knightdf
        14
    knightdf  
       22 小时 54 分钟前
    pgpgpg
    FrankFang128
        15
    FrankFang128  
       22 小时 51 分钟前
    pg
    mistsobscure
        16
    mistsobscure  
       22 小时 47 分钟前
    @FrankFang128 方老师最近有啥好玩的项目吗
    fffq
        17
    fffq  
       22 小时 27 分钟前
    团队对哪个熟悉选哪个
    encro
        18
    encro  
       22 小时 24 分钟前
    那么必须是扩展有几百个的 pg 啊。

    装一个扩展,就变身了!!!
    shiny
        19
    shiny  
       22 小时 23 分钟前
    postgresql ,运维更容易点
    ymmud
        20
    ymmud  
       22 小时 22 分钟前
    pg,如果哪天要转国产化,会少一些痛苦
    0x1001
        21
    0x1001  
       22 小时 9 分钟前
    @ymmud 非常准确,信创数据库都是用的 pg 改的
    guanhui07
        22
    guanhui07  
       21 小时 45 分钟前
    mysql
    wangtian2020
        23
    wangtian2020  
       21 小时 42 分钟前
    mysql 的时序支持度不如 pgsql ,所以 pgsql 完爆 mysql
    FrankFang128
        24
    FrankFang128  
       21 小时 37 分钟前
    @mistsobscure ai + 浏览器插件项目较多
    dbskcnc
        25
    dbskcnc  
       21 小时 36 分钟前
    sql server 2000 转 pg 8 后从没用过其它数据库,pg 实在太省心了
    hingle
        26
    hingle  
       21 小时 34 分钟前
    一般问这种问题的,大多数都是两者都不熟。

    建议选 mysql ,出问题搜搜问问都好解决,等熟悉了想换 pg 也不迟。
    defunct9
        27
    defunct9  
       21 小时 31 分钟前
    https://bajie.dev/posts/20240205-postgres_user_manager/ pg 的权限管理,比 MySQL 简单? crazy
    murmur
        28
    murmur  
       21 小时 31 分钟前
    秒选 postgres ,信创的东西都是 postgres 翻版
    billbob
        29
    billbob  
       21 小时 29 分钟前
    postgresql
    billbob
        30
    billbob  
       21 小时 26 分钟前
    PG 原生支持 全文搜索, 数据统计物化视图洗数据, AI 支持空间数据'向量数据,中文分词,免费,大量的开源扩展.
    Rickkkkkkk
        31
    Rickkkkkkk  
       21 小时 25 分钟前
    你这个提问方式适合问 ai
    Leviathann
        32
    Leviathann  
       21 小时 22 分钟前
    用 pg 的大部分项目可以只用 pg
    用 mysql 还得另外加一堆东西
    AmaQuinton
        33
    AmaQuinton  
       21 小时 22 分钟前
    选 pg
    Geon97
        34
    Geon97  
       21 小时 11 分钟前
    工作还是 MySQL 省心,虽然还是 pg 好,但我工作的话还是选 mysql ,自己用就选 pg
    AdamMing
        35
    AdamMing  
       21 小时 10 分钟前
    以后可能因为信创转库的话,推荐用 pg 。
    zoharSoul
        36
    zoharSoul  
       21 小时 9 分钟前
    mysql
    postgre 那个设置自动更新 update_time 非要设个触发器, 简直服了
    iminto
        37
    iminto  
       19 小时 37 分钟前 via Android
    菜就 mysql
    水平高就 pg
    momo2789
        38
    momo2789  
       19 小时 13 分钟前   ❤️ 2
    当然无脑 postgresql ,mysql 可以丢进历史的垃圾桶了。
    mmmhhhddd
        39
    mmmhhhddd  
       19 小时 4 分钟前
    如果没啥人用的简单的数据库就 mysql,如果奔着要发展起来就 postgresql ,本人项目 pg 集群 16c32g * 50 台
    bjfane
        40
    bjfane  
       18 小时 55 分钟前
    @murmur 也不全是,oceanbase 不是吧,虽然是分布式, 但是符合信创,且兼容 mysql 的程序 :)
    seansong
        41
    seansong  
       18 小时 5 分钟前
    熟悉哪个用哪个,客户要求哪个用哪个,领导要求哪个用哪个
    wencan
        42
    wencan  
       17 小时 58 分钟前
    之前都是 mysql ,现在 pg ,一样的,sql 稍有不同而已
    zhouyin
        43
    zhouyin  
       17 小时 35 分钟前
    @mmmhhhddd
    你的什么大数据项目 产生多少钱了?
    huage
        44
    huage  
       17 小时 21 分钟前
    能问这个问题的,还用选吗?
    donaldturinglee
        45
    donaldturinglee  
       16 小时 48 分钟前
    All in PostgreSQL!
    yeqizhang
        46
    yeqizhang  
       16 小时 9 分钟前 via Android
    投 pg 一票
    ponyfk
        47
    ponyfk  
       15 小时 36 分钟前
    我用的 pg ,如果要让我重新选的话,我肯定会用 mysql 。因为 pg 占用内存太高了,买机器都要多花点钱。
    Soo0
        48
    Soo0  
       15 小时 22 分钟前 via iPhone
    谁出钱谁说了算,业主不说,熟悉什么用什么
    phithon
        49
    phithon  
       13 小时 43 分钟前
    个人使用就无脑 pg
    iwdmb
        50
    iwdmb  
       13 小时 14 分钟前
    Postgres is eating the database world
    no13bus
        51
    no13bus  
       10 小时 44 分钟前
    orm 的话不在乎数据库是啥吧。还有没有说具体的场景,没法判断。
    scienhub
        52
    scienhub  
       7 小时 58 分钟前
    这里有个类似的讨论 https://www.reddit.com/r/node/comments/rv6u8u/why_do_you_choose_mysql_over_postgres/

    Top 2 评论:

    1. The big advantage MySQL had, which is rapidly fading, is that it was easily available on cPanel and Plesk hosts, which postgres was not. There was a time that that was 95% of non-expensive hosting.

    Back in the era when PHP was everything, that was a big deal. Now, not so much.

    If you have to support self-install people on cheap hosting, it can still matter, but that is a vanishing goal these days


    2. I haven't found any benefits in MySQL, and I wish I could switch to Postgres.
    zhouyin
        53
    zhouyin  
       7 小时 41 分钟前 via Android
    没人说 pg 的 sql 语句更严格吗 需要把 groupby 后面的字段都出现在 select 子句里
    mysql 我一直以来都把 sql_mode 设为空
    mistsobscure
        54
    mistsobscure  
       6 小时 35 分钟前
    @FrankFang128 我昨天才想开始做一个浏览器插件哈哈,就不在这个楼里 ot 了,希望方老师之后再出点好玩的文章或者视频~
    AlexHsu
        55
    AlexHsu  
       6 小时 23 分钟前
    大多数系统都是拿 pg 当 mysql 用吧 没啥区别
    flowerains
        56
    flowerains  
       6 小时 14 分钟前
    mysql8.0 以上的没有那么不堪,怕就怕业务系统强制要用 5.7 的,这个可太常见了(某些草台班子框架代码好几百年不更新了,mysql 就只支持 5.7 )
    ice2016
        57
    ice2016  
       6 小时 2 分钟前
    pg
    VampireDemon
        58
    VampireDemon  
       6 小时 2 分钟前
    无脑 pg 啊,后期也好扩展
    cooltechbs
        59
    cooltechbs  
       6 小时 2 分钟前
    我在国内的时候如果自建几乎都是 MySQL ,来了硅谷发现他们都用 Postgres (以上均不分大厂小厂),我也不是很理解……
    ufan0
        60
    ufan0  
       5 小时 57 分钟前
    冲 RLS 和优秀的边缘函数选的 PG
    afeiche
        61
    afeiche  
       5 小时 37 分钟前
    听 dba 的
    debuggerx
        62
    debuggerx  
       5 小时 28 分钟前
    除非是超大型项目,或者开发素质极差,可能还需要对比一下两者哪个更适合团队,否则无脑 PG 没毛病。对一般规模的项目,同样负载 PG 资源消耗小得多,同配置下 PG 性能强得多,开发时 PG 灵活得多,除了历史原因找不到新项目还用 MySQL 的理由。
    Huelse
        63
    Huelse  
       5 小时 25 分钟前
    postgresql 性能和扩展各方面都更优秀,嫌麻烦怕是 mysql 舒适圈呆惯了。
    mPatrickStar
        64
    mPatrickStar  
       5 小时 24 分钟前
    PostgreSQL !
    daimaosix
        65
    daimaosix  
       5 小时 16 分钟前
    我宣布,本帖热门 DB 是 PostgreSQL
    Jinnyu
        66
    Jinnyu  
       5 小时 16 分钟前   ❤️ 1
    之前在 12306
    互联网层用的是 MySQL
    客票底层用的是 PG
    qq135449773
        67
    qq135449773  
       4 小时 58 分钟前
    这个问题大概率还是取决于与你共事的人会用什么。

    某些国内底层 Java 仔 MySQL 能用懂就已经很不错了。
    hd7771
        68
    hd7771  
       4 小时 52 分钟前
    你业务 tps 不高,哪个熟悉用哪个。如果业务可以吃满机器,MySQL 的机器利用率一般会高一些。
    duanxianze
        69
    duanxianze  
       4 小时 46 分钟前
    建议一步到位直接用国产数据库
    niubiman
        70
    niubiman  
       4 小时 45 分钟前
    无脑 pg, 战未来
    nm1st
        71
    nm1st  
       4 小时 44 分钟前
    pg
    站未来
    elltor
        72
    elltor  
       4 小时 44 分钟前
    从客户和领导偏好来讲,谁维护系统,更倾向用谁的技术栈;从系统架构和技术栈来讲,哪个成熟用哪个,需要考虑的点:可用性(是否支持多 az 、多环境),运维(数据同步&迁移&恢复&安全)、扩展性( sharding 支持、ETL )。

    个人观点:一般公司里 mysql 基础设施比较全,比较推荐 mysql 。从项目大小来看,大项目推荐 mysql ,小项目无所谓。
    kestrelBright
        73
    kestrelBright  
       4 小时 36 分钟前
    自己哪个熟用哪个
    aincvy
        74
    aincvy  
       4 小时 23 分钟前   ❤️ 1
    pg 支持 int[], float[] 之类得数组类型,mysql 好像不支持。
    pg 可以用插件做向量数据库, mysql 9 好像支持了
    pg 好像不能调整字段顺序,mysql 可以
    pg 支持 json 类型,可以直接应用 sql 语句查询 json 元素, mysql 8 支持了, 程度和 pg 是否一致不清楚
    pg 修改字段类型得时候 我有点玩不懂 好像允许使用 cast 转换原有数据, mysql 感觉 比较简单一些, 比如 int -> float
    dzdh
        75
    dzdh  
       4 小时 19 分钟前
    pg 不能调整字段顺序真的好难受。。。
    dzdh
        76
    dzdh  
       4 小时 18 分钟前
    加一层字段映射好难吗。我不管底层咋存。我只想我通过工具看的时候是那个顺序。。。
    securityCoding
        77
    securityCoding  
       4 小时 0 分钟前
    @0x1001 能说说为什么国产信创大多用 pg 吗?
    Huelse
        78
    Huelse  
       3 小时 59 分钟前
    @dzdh 这个问题很早以前就讨论过,结论是 select 字段自己调整顺序,没必要多存数据
    partner666
        79
    partner666  
       3 小时 57 分钟前
    @securityCoding #77 因为国内有 HighGo 啊
    yoyolichen
        80
    yoyolichen  
       3 小时 21 分钟前
    gis 行业必选 pg
    angryfish
        81
    angryfish  
       3 小时 16 分钟前   ❤️ 1
    作为一个懒惰的程序员,我只会 mysql ,所以我只用 mysql 。(又不是不能用,凭啥让我多学一个数据库。)
    me1onsoda
        82
    me1onsoda  
       3 小时 16 分钟前
    无脑 pg 就完了
    rlds
        83
    rlds  
       2 小时 13 分钟前
    没啥理由,我选 PG
    dwu8555
        84
    dwu8555  
       2 小时 9 分钟前
    pg

    用过 pg+citus 你就懂了,处理大数据分片很方便,也不需要额外引入一个 TiDB 。
    处理 GIS 又有 PostGIS ,各种空间几何运算,很方便。
    june4
        85
    june4  
       2 小时 5 分钟前
    我是全用 mysql ,只是因为之前学的就是这个。
    但已经明显感受到 mysql 的功能有点力不从心,如果重头开始的话,我会选 pg 。
    yinxs2003
        86
    yinxs2003  
       1 小时 47 分钟前
    无脑 mysql ,真出问题,那帮吹 pg 的,又不会来帮你搞
    yplam
        87
    yplam  
       1 小时 45 分钟前 via Android
    选择 pg 因为支持向量运算,做相关推荐之类的功能很方便
    dragondove
        88
    dragondove  
       1 小时 41 分钟前
    @securityCoding pg 的源码写的好,易读易修改
    ala2008
        89
    ala2008  
       1 小时 14 分钟前
    pg 很强大,扩展插件很方便
    ala2008
        90
    ala2008  
       1 小时 14 分钟前
    @mmmhhhddd 集群方案是啥,pgpool ?
    dmanbu
        91
    dmanbu  
       1 小时 2 分钟前
    pg 对运维极不友好
    Jinnrry
        92
    Jinnrry  
       41 分钟前
    @cooltechbs 因为国内 mysql 的 DBA 多,好招人
    adoal
        93
    adoal  
       39 分钟前
    用小地瓜上的说法:你这样不负责任地起号,你浮木知道吗?
    tracebundy
        94
    tracebundy  
       38 分钟前
    必须 MySQL , pg 和 mysql 占有率不是一个量级的
    wdhwg001
        95
    wdhwg001  
       37 分钟前
    pg ,说实话 my 会死锁这个设计始终非常弱智,但是 pg 的 vacuum 有时候有写入性能和占用空间的坑,上个透明压缩会好很多。
    Zakl21
        96
    Zakl21  
       36 分钟前
    讲一个事情,500w 级别的表数据,三表联查,pg 毫无压力,mysql cpu,内存打满,响应是六七倍的耗时。。。
    zhouyin
        97
    zhouyin  
       20 分钟前
    @gimp
    @knightdf
    @FrankFang128
    @shiny
    @encro
    @ymmud
    @0x1001
    @wangtian2020
    @dbskcnc
    @defunct9
    @billbob
    @murmur
    @billbob
    @Leviathann
    @AmaQuinton
    @Geon97
    @AdamMing
    @zoharSoul
    @momo2789
    @mmmhhhddd
    @wencan
    @donaldturinglee
    @ala2008
    @dmanbu

    诸位 真心用过 pg 和 mysql 的说说 mysql 有 memory 引擎 postgresql 最新版有没有?
    defunct9
        98
    defunct9  
       11 分钟前
    都用到啥 memory 了,用 redis 吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5407 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 07:01 · PVG 15:01 · LAX 23:01 · JFK 02:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.