就想问问多少人知道 PostgreSQL ? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dhysum
V2EX    PostgreSQL

就想问问多少人知道 PostgreSQL ?

  •  
  •   dhysum 2020-11-27 16:06:21 +08:00 11401 次点击
    这是一个创建于 1778 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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


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

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

    mysql 用的越来越少了, 就算用也是 mariadb
    yeqizhang
        41
    yeqizhang  
       2020-11-28 01:14:02 +08:00 via Android
    pg 不是号称世界上最先进的开源关系数据库吗

    还有不知道的?
    hooopo
        42
    hooopo  
       2020-11-28 01:33:22 +08:00
    我大概是个异类,MySQL 我不太懂,我一直用的 PostgreSQL
    Keyes
        43
    Keyes  
       2020-11-28 01:37:45 +08:00 via iPhone
    mysql 和 postgre 最大的区别是

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

    哈哈,所以我现在做数据库设计全部小写了
    laminux29
        51
    laminux29  
       2020-11-28 15:47:14 +08:00   1
    PostgreSQL 这玩意用之前,建议还是先调研一下功能。

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

    你要是有空,把 Mysql 、PostgreSQL 、MSSQL 的功能全调研一遍后,你会发现,Oracle 贵是有贵的道理。
    JCZ2MkKb5S8ZX9pq
        52
    JCZ2MkKb5S8ZX9pq  
       2020-11-28 15:52:03 +08:00
    一开始装 MySQL 一直出错,直接走向了 mongodb 。。。
    ZHenJ
        53
    ZHenJ  
       2020-11-28 16:07:13 +08:00
    我厂搞大数据是 SAS 里面用 PostgreSQL
    neoblackcap
        54
    neoblackcap  
       2020-11-28 16:50:27 +08:00 via iPhone
    @chaleaoch 不是,因为富士通在 pg 那边有投入,日本人更加熟悉 pg
    musi
        55
    musi  
       2020-11-28 17:41:44 +08:00
    知道是知道,也有过了解,但基本上没用过
    真做项目关系型数据库直接 MySQL 了,非关系型数据库直接 MongoDB
    DoctorCat
        56
    DoctorCat  
       2020-11-28 21:10:18 +08:00
    PostgreSQL 是个坑。坚持用 MySQL 身体很舒适。
    secondwtq
        57
    secondwtq  
       2020-11-29 01:07:49 +08:00   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:reddt.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  
       2020-11-29 14:10:32 +08:00
    postgresql 到现在大小写不敏感查询都支持的不好,这个是我用 pg 最大的障碍。 (可选方案都不太好用)
    dvaknheo
        59
    dvaknheo  
       2020-11-29 15:11:51 +08:00
    phpmyadmin 太好用了。pg 有没有类似工具

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

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

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

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

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

    \d
    \dt
    \l
    echowuhao
        73
    echowuhao  
       2020-12-01 12:00:51 +08:00
    @MoccaCafe

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

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

    如果非要跨库,不仅可以跨,还可以跨不同服务器上面的,postgres_fdw 速度会慢一点。
    echowuhao
        74
    echowuhao  
       2020-12-01 12:01:38 +08:00
    @jmyz0455 postgrest 一分钟搭建一个 rest 后端,哈哈。
    MoccaCafe
        75
    MoccaCafe  
       2020-12-01 13:20:08 +08:00 via iPhone
    @echowuhao 你那个\d 只是在命令行里使用,无法像 show create table 一样随时查询,甚至集成到程序里。而 pg 想实现这点,又是 command 又是 shell 的,一点也不优雅
    MoccaCafe
        76
    MoccaCafe  
       2020-12-01 13:22:46 +08:00 via iPhone
    @echowuhao 你说的这个 fdw 也正是我想说的,oracle fdw 之前出现语法不兼容直接报错,而 mysql fdw 时不时断开连接无法请求。需要注意的是,这些 fdw 都不是核心人员开发,都是 github 一些爱好者开发得,换做是你,你敢用非核心的开源 fdw 来替换跨库查询吗?
    连本机跨库查询都这么复杂,难怪 pg 不火。性能虽然好那么一点,但开发起来总是很拉胯的样子
    MoccaCafe
        77
    MoccaCafe  
       2020-12-01 13:24:24 +08:00 via iPhone   1
    所以 pg 就像 wp 一样,看起来好像什么功能都有,但实际每个功能都只是有而已,用起来很拉胯,一点也不贴近码农的实际需求,天天弄些不切实际的
    630071099
        78
    630071099  
       2022-12-16 11:51:29 +08:00
    @secondwtq 好办法,看了下 golang ,的果断 postgresql 。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     6071 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 03:06 PVG 11:06 LAX 20:06 JFK 23:06
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86