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

就想问问多少人知道 PostgreSQL ?

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

    说到关系型数据库,很多人就会说 MySQL 。其实严格来讲,MySQL 5.6 以前都不像一个严谨的关系型数据库,5.7 、8.0 之后虽有改观,但相比 PostgreSQL 、Oracle 、SQLServer 其实还有距离。

    当然现实情况是,国內大家都比较熟悉 MySQL,虽然 DBEngine 上的排名显示 PostgreSQL 与 MySQL 的比例已经从前两年的 1:5 到了现在的 1:2.x 。

    这里就想做个简单的调研,有多少人知道或者用过 PostgreSQL ?

    77 条回复    2020-12-01 13:24:24 +08:00
    yingtaop
        1
    yingtaop   52 天前
    一直在用,搞 IOT
    dhysum
        2
    dhysum   52 天前
    @yingtaop 哪些特性用得比较多些? IoT 的话,JSON 、timescaleDB 可能会比较有用
    MonoBiao
        3
    MonoBiao   52 天前
    PostgreSQL 很多人用吧?感觉没有这么小众
    dhysum
        4
    dhysum   52 天前
    @MonoBiao 就接触来看,很多传统行业用得其实挺多的;互联网圈的话,感觉还是 MySQL 多些,导致声音上会多些
    Ansen
        5
    Ansen   52 天前
    习惯 mysql 了,pg 用得很少
    sfz97308
        6
    sfz97308   52 天前
    知道而且用过
    liushaokang
        7
    liushaokang   52 天前
    PostgreSQL 大写是个坑
    levon
        8
    levon   52 天前 via iPhone   ❤️ 14
    这里应该问多少人不知道
    mengxin39
        9
    mengxin39   52 天前
    今年接触刚开始觉得很坑 加上时序的一个插件数据查询速度确实提高了不少
    nuk
        10
    nuk   52 天前
    公司以前用 pg,不过不知道为什么很久以前就转到 mysql 了
    Javabus
        11
    Javabus   52 天前
    pgsql 应该是那三个之后用的最多的了
    aegon466
        12
    aegon466   52 天前
    这知道的不少吧 我做项目都是首选 pgsql 比 mysql 好用
    Tink
        13
    Tink   52 天前 via Android
    应该开发都知道吧。。。。。
    joyhub2140
        14
    joyhub2140   52 天前
    虽说 pg 项目优秀,但 mysql 用的人超级多,人均花在 mysql 的时间也多,网上大把学习资料,踩坑分享,解决方案也多,用的人自然就越来越多,基本上新手入门 mysql 靠搜索引擎都能用的很好,其实这是一个历史遗留问题。
    boris93
        15
    boris93   52 天前 via Android
    只自己随便玩过,没深入了解
    公司用的分别是 MySQL,Oracle,Google Spanner
    liprais
        16
    liprais   52 天前
    @joyhub2140 哈哈用的很好?
    勉强能跑还差不多
    natashahollyz
        17
    natashahollyz   52 天前
    mysql 随便一个 vps 都能跑
    Cbdy
        18
    Cbdy   52 天前 via Android
    Heroku 的免费 Postgre 还行
    westoy
        19
    westoy   52 天前
    早年 mysql 3.x 、4.0x 主流各种不支持的时候, 很多 cp 主机都预装 postgresql 和 mysql 的

    然后 pg 有几年整个好像死了一样, 类似的还有 freebsd........直接送了人头.......
    singerll
        20
    singerll   52 天前 via Android
    pg 的 linix 部署,库、角色啥的对新手很不友好,工作一两年的基本上都得一两周看懂,注定了小公司不会用,关键是现在小公司真的多。


    顺便吐槽一下,mysql8 以前连开窗函数都没有
    lplk
        21
    lplk   52 天前
    @Tink #13 我之前面试,面试官不知道。。。
    lower
        22
    lower   52 天前
    好是好,就是名字太长了……
    msg7086
        23
    msg7086   52 天前
    pg 我用过一段时间,折腾了很久,用得脑阔疼。
    因为接手的一个外包项目是用的 pg,无奈去碰的。
    做 replication 也是研究了好久才弄出来。

    现在是打死了不碰的,我 MySQL 系用起来熟悉很多,平时主要用 Percona 。
    Tink
        24
    Tink   52 天前
    @lower #22 是的,知道的人不少,能念对的真不多
    woshiaha
        25
    woshiaha   52 天前
    业界苏宁 腾讯 阿里都有 PG 的研发部门吧 我司也在搞 因为 PG 开源协议友好 Oracle 收费就不说了 Mysql 自从被收购以后也有未来的风险存在 不过 PG 的资料是真的少 搞个高可用方案一搜没几篇文章 开源组件也少 真的头痛
    hws8033856
        26
    hws8033856   52 天前
    没吃过猪肉还没见过猪跑么
    pgsql 易用性上不如 mysql,我也只是因为 GIS 需要跑 pgrouting 的一些空间分析函数才用 pgsql 的
    等哪天有空了把那些方法全都改到 mysql
    felixin
        27
    felixin   52 天前 via Android
    性能对比 mysql 更好吧?
    wtks1
        28
    wtks1   52 天前 via Android
    知道,但 mysql 部署起来更方便快捷...
    chawuchiren
        29
    chawuchiren   52 天前
    因为用了 spring webflux,才接触到 pg
    roth
        30
    roth   51 天前
    不上内存数据库的前提下,mpp 架构的 pg 或者 gp (我用 greenplum 比较多)就是大数据量下性价比最高的选择,又便宜,增加节点后性能和容量都线性提升,高可用也可靠,数据批量装载速度也不错,新增函数也简单
    des
        31
    des   51 天前
    @natashahollyz PostgreSQL 占用更低
    MoccaCafe
        32
    MoccaCafe   51 天前
    PostgreSQL 的缺点:
    1,没有 show create table/show tables/show database/show variables 等方法,你要找这张表有多少列,有点麻烦,可以说对开发人员很不友好(学院派)
    2,不能跨库查询,如果 PostgreSQL 数据文件完全损坏,那真的就是损坏了
    3,资源少,解决方案少,你要找监控方案很费劲,更不用小众的监控软件了,人家支持 MySQL,而 PostgreSQL 只是顺带支持
    tlday
        33
    tlday   51 天前
    我大概是个异类,MySQL 我不太懂,我一直用的 Postgres...
    arischow
        34
    arischow   51 天前
    我大概是个异类,MySQL 我不太懂,我一直用的 PostgreSQL...
    levelworm
        35
    levelworm   51 天前 via Android
    好像北美这边用 pg 的比例大一些,看大家的讨论有感。mysql 之前连窗口函数都没有,不知道大家怎么过来的。。。
    hoyixi
        36
    hoyixi   51 天前
    多年前开始个人项目一直用 PG,个人项目从没用过 MySQL 。 没什么高大上理由,最初理由很简单:省资源省钱( VPS )
    Orenoid
        37
    Orenoid   51 天前
    问多少人用过比较合理,问多少人知道有点离谱了……
    ijk0
        38
    ijk0   51 天前 via iPhone
    该问谁不知道 pg 吧...
    PonysDad
        39
    PonysDad   51 天前 via iPhone
    正在用着。。。
    每天都在祈祷不要出毛病。因为尼玛的资料忒少。
    chaleaoch
        40
    chaleaoch   51 天前
    小日本公司喜欢用 PG 可能因为 mysql 呗 Oracle 收购了吧?

    mysql 用的越来越少了, 就算用也是 mariadb
    yeqizhang
        41
    yeqizhang   51 天前 via Android
    pg 不是号称世界上最先进的开源关系数据库吗

    还有不知道的?
    hooopo
        42
    hooopo   51 天前
    我大概是个异类,MySQL 我不太懂,我一直用的 PostgreSQL
    Keyes
        43
    Keyes   51 天前 via iPhone
    mysql 和 postgre 最大的区别是

    可以出口伊朗( 2333 )
    Visitor233
        44
    Visitor233   51 天前
    因为看到对高并发友好,我司开方平台项目就开始改用 pgsql
    dbskcnc
        45
    dbskcnc   51 天前
    只用 Pg 的路过,9.0 到现在没变过
    suotm
        46
    suotm   51 天前
    我大概也是个异类,MySQL 我不太懂,我一直用的 PostgreSQL
    u823tg
        47
    u823tg   51 天前 via Android
    大概自己玩省内存所以选择 pg
    hantsy
        48
    hantsy   51 天前
    @dhysum 我想知道做开发的有多少人不知道 PG 。。。
    FaiChou
        49
    FaiChou   51 天前
    我做前端的(现在不做了)都知道 PostgreSQL
    micean
        50
    micean   51 天前
    @liushaokang

    哈哈,所以我现在做数据库设计全部小写了
    laminux29
        51
    laminux29   51 天前
    PostgreSQL 这玩意用之前,建议还是先调研一下功能。

    我不用它的原因是,都什么年代了,连内存表都不支持。

    你要是有空,把 Mysql 、PostgreSQL 、MSSQL 的功能全调研一遍后,你会发现,Oracle 贵是有贵的道理。
    JCZ2MkKb5S8ZX9pq
        52
    JCZ2MkKb5S8ZX9pq   51 天前
    一开始装 MySQL 一直出错,直接走向了 mongodb 。。。
    ZHenJ
        53
    ZHenJ   51 天前
    我厂搞大数据是 SAS 里面用 PostgreSQL
    neoblackcap
        54
    neoblackcap   51 天前 via iPhone
    @chaleaoch 不是,因为富士通在 pg 那边有投入,日本人更加熟悉 pg
    musi
        55
    musi   51 天前
    知道是知道,也有过了解,但基本上没用过
    真做项目关系型数据库直接 MySQL 了,非关系型数据库直接 MongoDB
    DoctorCat
        56
    DoctorCat   50 天前
    PostgreSQL 是个坑。坚持用 MySQL 身体很舒适。
    secondwtq
        57
    secondwtq   50 天前   ❤️ 1
    做个 TIOBE 式的统计吧,对象是 Reddit 不同频道的 Google 搜索结果数目:

    差不多的:
    mysql site:reddit.com/r/programming - 1900
    postgresql site:reddit.com/r/programming - 2210

    postgresql site:reddit.com/r/freebsd - 264
    postgresql site:reddit.com/r/freebsd - 250

    mysql site:reddit.com/r/openbsd - 20
    postgresql site:reddit.com/r/openbsd - 21

    mysql site:reddit.com/r/javascript - 549
    postgresql site:reddit.com/r/javascript - 404

    mysql site:reddit.com/r/cpp - 69
    postgresql site:reddit.com/r/cpp - 41

    mysql site:reddit.com/r/vim - 61
    postgresql site:reddit.com/r/vim - 41

    mysql site:reddit.com/r/sql - 8740
    postgresql site:reddit.com/r/sql - 8690

    postgresql ite:reddit.com/r/Database - 3440
    mysql ite:reddit.com/r/Database - 3220

    MySQL 占明显优势的:
    mysql site:reddit.com/r/compsci - 100
    postgresql site:reddit.com/r/compsci - 27

    mysql site:reddit.com/r/ruby - 1650
    postgresql site:reddit.com/r/ruby - 1030

    mysql site:reddit.com/r/vscode - 209
    postgresql site:reddit.com/r/vscode - 162

    mysql site:reddit.com/r/java - 1800
    postgresql site:reddit.com/r/java - 690

    mysql site:reddit.com/r/rust - 2520
    postgresql site:reddit.com/r/rust - 694

    mysql site:reddit.com/r/csharp - 1550
    mysql site:reddit.com/r/csharp - 754

    mysql site:reddit.com/r/golang - 2750
    postgresql site:reddit.com/r/golang - 653

    mysql site:reddit.com/r/linux - 1020
    postgresql site:reddit.com/r/linux - 315

    mysql site:reddit.com/r/webdev -16800
    postgresql site:reddit.com/r/webdev - 1730

    mysql site:reddit.com/r/php - 5530
    postgresql site:reddit.com/r/php - 337

    PostgreSQL 占明显优势的:
    mysql site:reddit.com/r/fsharp - 6
    postgresql site:reddit.com/r/fsharp - 16

    mysql site:reddit.com/r/ocaml - 4
    postgresql site:reddit.com/r/ocaml - 19

    mysql site:reddit.com/r/coding - 78
    postgresql site:reddit.com/r/coding - 123

    mysql site:reddit.com/r/python - 2860
    postgresql site:reddit.com/r/python - 8670

    mysql site:reddit.com/r/scala - 339
    postgresql site:reddit.com/r/scala - 2040

    mysql site:reddit.com/r/emacs - 75
    postgresql site:reddit.com/r/emacs - 876

    mysql site:reddit.com/r/haskell - 231
    postgresql site:reddit.com/r/haskell - 2610

    (还有个有趣的,不过这个如何解读就不好说了 :P
    mysql site:reddit.com/r/netsec - 452
    postgresql site:reddit.com/r/netsec - 225 )

    几个不分区的社区:
    mysql site:v2ex.com - 28500
    postgresql site:v2ex.com - 3050

    mysql site:csdn.net - 26500000
    postgresql site:csdn.net - 1440000

    mysql site:news.ycombinator.com - 31100
    postgresql site:news.ycombinator.com - 21900

    mysql site:lobste.rs - 481
    postgresql site:lobste.rs - 913
    PopRain
        58
    PopRain   50 天前
    postgresql 到现在大小写不敏感查询都支持的不好,这个是我用 pg 最大的障碍。 (可选方案都不太好用)
    dvaknheo
        59
    dvaknheo   50 天前
    phpmyadmin 太好用了。pg 有没有类似工具

    o 记故意把 mysql 的兼容性弄得乱七八糟的。

    说不定哪一天就不用 mysql 了。
    Kylin30
        60
    Kylin30   49 天前
    你也来网上冲浪啊
    lihongming
        61
    lihongming   49 天前 via iPhone
    两个都在用,但觉得楼主的“不像个严谨的关系型数据库”观点有些舍本逐末。用户要的并不是关系型数据库本身,而是关系型数据库的优点,所以只要实现了那些优点就可以了,其它无所谓的。多数情况下,特别教条反而会带来不便,我想这也是 MySQL 流行的一个原因吧。
    Aeoluze
        62
    Aeoluze   49 天前
    有多少人没用过 Postgres ?
    Dganzh
        63
    Dganzh   49 天前
    pg 资料是真的少! MySQL 的一大堆!
    levelworm
        64
    levelworm   49 天前 via Android
    @PopRain ilike 就是大小写不敏感吧。
    PopRain
        65
    PopRain   49 天前
    @levelworm like ilike 业务系统很少会用到,主要还是 = 等比较, 另外,ilike 属于特定预防,ORM 不改造不会自动映射(只会应收到 like ) , 另外 citext 有类似问题,如果参数不加 ::citext 强制转换也搜索不到,这个也要改造 ORM 或者 SQL 语句,不方便。

    虽然一个系统很少切换后台数据库,但是能用标准的语法还是用标准的语法比较好。
    PopRain
        66
    PopRain   49 天前   ❤️ 1
    @levelworm (上面打错了,不知道怎么改)
    like ilike 业务系统很少会用到,主要还是 = 比较, 另外,ilike 属于特定语法,ORM 不改造不会自动映射(只会映射到 like ) , 另外 citext 有类似问题,如果参数不加 ::citext 强制转换也搜索不到,这个也要改造 ORM 或者 SQL 语句,不方便。

    虽然一个系统很少切换后台数据库,但是能用标准的语法还是用标准的语法比较好。
    levelworm
        67
    levelworm   49 天前 via Android
    @PopRain 看来的确和我这种写查询的不一样了,我们对效率不敏感,反正不 hit 生产数据库。。。
    zcsz
        68
    zcsz   49 天前
    GP 数仓,就当它 PG 在用了,出去沟通也说 PG,节省沟通成本,还是有很多人知道的
    darknoll
        69
    darknoll   49 天前
    是很优秀,关键是没多少人用
    就跟 java 和 C#一样
    HolmLoh
        70
    HolmLoh   49 天前
    不懂 MySQL,现在公司正在把 Oracle 转到 PG,新研发的项目都用 pg 了
    jmyz0455
        71
    jmyz0455   49 天前
    听说 PostgreSQL 可以直接输出 API ?
    echowuhao
        72
    echowuhao   48 天前
    @MoccaCafe

    PostgreSQL 的缺点:
    1,没有 show create table/show tables/show database/show variables 等方法,你要找这张表有多少列,有点麻烦,可以说对开发人员很不友好(学院派)

    \d
    \dt
    \l
    echowuhao
        73
    echowuhao   48 天前
    @MoccaCafe

    2,不能跨库查询,如果 PostgreSQL 数据文件完全损坏,那真的就是损坏了

    postgres 里面有 schema 的概念,有点像 mysql 里面的 db 了。就是一个 schema 里面可以有很多表。你把 mysql 里面的不同数据库放到不同 schema 里面,就可以了。

    如果非要跨库,不仅可以跨,还可以跨不同服务器上面的,postgres_fdw 速度会慢一点。
    echowuhao
        74
    echowuhao   48 天前
    @jmyz0455 postgrest 一分钟搭建一个 rest 后端,哈哈。
    MoccaCafe
        75
    MoccaCafe   48 天前 via iPhone
    @echowuhao 你那个\d 只是在命令行里使用,无法像 show create table 一样随时查询,甚至集成到程序里。而 pg 想实现这点,又是 command 又是 shell 的,一点也不优雅
    MoccaCafe
        76
    MoccaCafe   48 天前 via iPhone
    @echowuhao 你说的这个 fdw 也正是我想说的,oracle fdw 之前出现语法不兼容直接报错,而 mysql fdw 时不时断开连接无法请求。需要注意的是,这些 fdw 都不是核心人员开发,都是 github 一些爱好者开发得,换做是你,你敢用非核心的开源 fdw 来替换跨库查询吗?
    连本机跨库查询都这么复杂,难怪 pg 不火。性能虽然好那么一点,但开发起来总是很拉胯的样子
    MoccaCafe
        77
    MoccaCafe   48 天前 via iPhone   ❤️ 1
    所以 pg 就像 wp 一样,看起来好像什么功能都有,但实际每个功能都只是有而已,用起来很拉胯,一点也不贴近码农的实际需求,天天弄些不切实际的
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3615 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 10:53 · PVG 18:53 · LAX 02:53 · JFK 05:53
    ♥ Do have faith in what you're doing.