说到关系型数据库,很多人就会说 MySQL 。其实严格来讲,MySQL 5.6 以前都不像一个严谨的关系型数据库,5.7 、8.0 之后虽有改观,但相比 PostgreSQL 、Oracle 、SQLServer 其实还有距离。
当然现实情况是,国內大家都比较熟悉 MySQL,虽然 DBEngine 上的排名显示 PostgreSQL 与 MySQL 的比例已经从前两年的 1:5 到了现在的 1:2.x 。
这里就想做个简单的调研,有多少人知道或者用过 PostgreSQL ?
说到关系型数据库,很多人就会说 MySQL 。其实严格来讲,MySQL 5.6 以前都不像一个严谨的关系型数据库,5.7 、8.0 之后虽有改观,但相比 PostgreSQL 、Oracle 、SQLServer 其实还有距离。
当然现实情况是,国內大家都比较熟悉 MySQL,虽然 DBEngine 上的排名显示 PostgreSQL 与 MySQL 的比例已经从前两年的 1:5 到了现在的 1:2.x 。
这里就想做个简单的调研,有多少人知道或者用过 PostgreSQL ?
|
yingtaopNov 27, 2020
1
一直在用,搞 IOT
|
|
MonoBiaoNov 27, 2020
3
PostgreSQL 很多人用吧?感觉没有这么小众
|
|
AnsenNov 27, 2020
5
习惯 mysql 了,pg 用得很少
|
|
sfz97308Nov 27, 2020
6
知道而且用过
|
|
0x663Nov 27, 2020
7
PostgreSQL 大写是个坑
|
|
8
这里应该问多少人不知道
|
|
mengxin39Nov 27, 2020
9
今年接触刚开始觉得很坑 加上时序的一个插件数据查询速度确实提高了不少
|
|
nukNov 27, 2020
10
公司以前用 pg,不过不知道为什么很久以前就转到 mysql 了
|
|
JavabusNov 27, 2020
11
pgsql 应该是那三个之后用的最多的了
|
|
aegon466Nov 27, 2020
12
这知道的不少吧 我做项目都是首选 pgsql 比 mysql 好用
|
|
TinkNov 27, 2020 via Android
13
应该开发都知道吧。。。。。
|
|
nxforceNov 27, 2020
14
虽说 pg 项目优秀,但 mysql 用的人超级多,人均花在 mysql 的时间也多,网上大把学习资料,踩坑分享,解决方案也多,用的人自然就越来越多,基本上新手入门 mysql 靠搜索引擎都能用的很好,其实这是一个历史遗留问题。
|
|
boris93Nov 27, 2020 via Android
15
只自己随便玩过,没深入了解
公司用的分别是 MySQL,Oracle,Google Spanner |
|
F281M6Dh8DXpD1g2Nov 27, 2020
16
@joyhub2140 哈哈用的很好?
勉强能跑还差不多 |
|
natashahollyzNov 27, 2020
17
mysql 随便一个 vps 都能跑
|
|
CbdyNov 27, 2020 via Android
18
Heroku 的免费 Postgre 还行
|
|
westoyNov 27, 2020
19
早年 mysql 3.x 、4.0x 主流各种不支持的时候, 很多 cp 主机都预装 postgresql 和 mysql 的
然后 pg 有几年整个好像死了一样, 类似的还有 freebsd........直接送了人头....... |
|
singerllNov 27, 2020 via Android
20
pg 的 linix 部署,库、角色啥的对新手很不友好,工作一两年的基本上都得一两周看懂,注定了小公司不会用,关键是现在小公司真的多。
顺便吐槽一下,mysql8 以前连开窗函数都没有 |
|
lowerNov 27, 2020
22
好是好,就是名字太长了……
|
|
msg7086Nov 27, 2020
23
pg 我用过一段时间,折腾了很久,用得脑阔疼。
因为接手的一个外包项目是用的 pg,无奈去碰的。 做 replication 也是研究了好久才弄出来。 现在是打死了不碰的,我 MySQL 系用起来熟悉很多,平时主要用 Percona 。 |
|
woshiahaNov 27, 2020
25
业界苏宁 腾讯 阿里都有 PG 的研发部门吧 我司也在搞 因为 PG 开源协议友好 Oracle 收费就不说了 Mysql 自从被收购以后也有未来的风险存在 不过 PG 的资料是真的少 搞个高可用方案一搜没几篇文章 开源组件也少 真的头痛
|
|
hws8033856Nov 27, 2020
26
没吃过猪肉还没见过猪跑么
pgsql 易用性上不如 mysql,我也只是因为 GIS 需要跑 pgrouting 的一些空间分析函数才用 pgsql 的 等哪天有空了把那些方法全都改到 mysql |
|
felixinNov 27, 2020 via Android
27
性能对比 mysql 更好吧?
|
|
wtks1Nov 27, 2020 via Android
28
知道,但 mysql 部署起来更方便快捷...
|
|
chawuchirenNov 27, 2020
29
因为用了 spring webflux,才接触到 pg
|
|
rothNov 27, 2020
30
不上内存数据库的前提下,mpp 架构的 pg 或者 gp (我用 greenplum 比较多)就是大数据量下性价比最高的选择,又便宜,增加节点后性能和容量都线性提升,高可用也可靠,数据批量装载速度也不错,新增函数也简单
|
|
desNov 27, 2020
31
@natashahollyz PostgreSQL 占用更低
|
|
MoccaCafeNov 27, 2020
32
PostgreSQL 的缺点:
1,没有 show create table/show tables/show database/show variables 等方法,你要找这张表有多少列,有点麻烦,可以说对开发人员很不友好(学院派) 2,不能跨库查询,如果 PostgreSQL 数据文件完全损坏,那真的就是损坏了 3,资源少,解决方案少,你要找监控方案很费劲,更不用小众的监控软件了,人家支持 MySQL,而 PostgreSQL 只是顺带支持 |
|
tldayNov 27, 2020
33
我大概是个异类,MySQL 我不太懂,我一直用的 Postgres...
|
|
arischowNov 27, 2020
34
我大概是个异类,MySQL 我不太懂,我一直用的 PostgreSQL...
|
|
levelwormNov 27, 2020 via Android
35
好像北美这边用 pg 的比例大一些,看大家的讨论有感。mysql 之前连窗口函数都没有,不知道大家怎么过来的。。。
|
|
hoyixiNov 27, 2020
36
多年前开始个人项目一直用 PG,个人项目从没用过 MySQL 。 没什么高大上理由,最初理由很简单:省资源省钱( VPS )
|
|
OrenoidNov 27, 2020
37
问多少人用过比较合理,问多少人知道有点离谱了……
|
|
ijk0Nov 28, 2020 via iPhone
38
该问谁不知道 pg 吧...
|
|
PonysDadNov 28, 2020 via iPhone
39
正在用着。。。
每天都在祈祷不要出毛病。因为尼玛的资料忒少。 |
|
chaleaochNov 28, 2020
40
小日本公司喜欢用 PG 可能因为 mysql 呗 Oracle 收购了吧?
mysql 用的越来越少了, 就算用也是 mariadb |
|
yungo8Nov 28, 2020 via Android
41
pg 不是号称世界上最先进的开源关系数据库吗
还有不知道的? |
|
hooopoNov 28, 2020
42
我大概是个异类,MySQL 我不太懂,我一直用的 PostgreSQL
|
|
KeyesNov 28, 2020 via iPhone
43
mysql 和 postgre 最大的区别是
可以出口伊朗( 2333 ) |
|
Visitor233Nov 28, 2020
44
因为看到对高并发友好,我司开方平台项目就开始改用 pgsql
|
|
dbskcncNov 28, 2020
45
只用 Pg 的路过,9.0 到现在没变过
|
|
suotmNov 28, 2020
46
我大概也是个异类,MySQL 我不太懂,我一直用的 PostgreSQL
|
|
u823tgNov 28, 2020 via Android
47
大概自己玩省内存所以选择 pg
|
|
ethusdtNov 28, 2020
49
我做前端的(现在不做了)都知道 PostgreSQL
|
|
miceanNov 28, 2020
50
|
|
51
PostgreSQL 这玩意用之前,建议还是先调研一下功能。
我不用它的原因是,都什么年代了,连内存表都不支持。 你要是有空,把 Mysql 、PostgreSQL 、MSSQL 的功能全调研一遍后,你会发现,Oracle 贵是有贵的道理。 |
|
JCZ2MkKb5S8ZX9pqNov 28, 2020
52
一开始装 MySQL 一直出错,直接走向了 mongodb 。。。
|
|
ZHenJNov 28, 2020
53
我厂搞大数据是 SAS 里面用 PostgreSQL
|
|
neoblackcapNov 28, 2020 via iPhone
54
@chaleaoch 不是,因为富士通在 pg 那边有投入,日本人更加熟悉 pg
|
|
musiNov 28, 2020
55
知道是知道,也有过了解,但基本上没用过
真做项目关系型数据库直接 MySQL 了,非关系型数据库直接 MongoDB |
|
DoctorCatNov 28, 2020
56
PostgreSQL 是个坑。坚持用 MySQL 身体很舒适。
|
|
57
做个 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 |
|
PopRainNov 29, 2020
58
postgresql 到现在大小写不敏感查询都支持的不好,这个是我用 pg 最大的障碍。 (可选方案都不太好用)
|
|
dvaknheoNov 29, 2020
59
phpmyadmin 太好用了。pg 有没有类似工具
o 记故意把 mysql 的兼容性弄得乱七八糟的。 说不定哪一天就不用 mysql 了。 |
|
Kylin30Nov 29, 2020
60
你也来网上冲浪啊
|
|
lihongmingNov 30, 2020 via iPhone
61
两个都在用,但觉得楼主的“不像个严谨的关系型数据库”观点有些舍本逐末。用户要的并不是关系型数据库本身,而是关系型数据库的优点,所以只要实现了那些优点就可以了,其它无所谓的。多数情况下,特别教条反而会带来不便,我想这也是 MySQL 流行的一个原因吧。
|
|
AeoluzeNov 30, 2020
62
有多少人没用过 Postgres ?
|
|
DganzhNov 30, 2020
63
pg 资料是真的少! MySQL 的一大堆!
|
|
PopRainNov 30, 2020
65
@levelworm like ilike 业务系统很少会用到,主要还是 = 等比较, 另外,ilike 属于特定预防,ORM 不改造不会自动映射(只会应收到 like ) , 另外 citext 有类似问题,如果参数不加 ::citext 强制转换也搜索不到,这个也要改造 ORM 或者 SQL 语句,不方便。
虽然一个系统很少切换后台数据库,但是能用标准的语法还是用标准的语法比较好。 |
|
66
@levelworm (上面打错了,不知道怎么改)
like ilike 业务系统很少会用到,主要还是 = 比较, 另外,ilike 属于特定语法,ORM 不改造不会自动映射(只会映射到 like ) , 另外 citext 有类似问题,如果参数不加 ::citext 强制转换也搜索不到,这个也要改造 ORM 或者 SQL 语句,不方便。 虽然一个系统很少切换后台数据库,但是能用标准的语法还是用标准的语法比较好。 |
|
zcszNov 30, 2020
68
GP 数仓,就当它 PG 在用了,出去沟通也说 PG,节省沟通成本,还是有很多人知道的
|
|
darknollNov 30, 2020
69
是很优秀,关键是没多少人用
就跟 java 和 C#一样 |
|
HolmLohNov 30, 2020
70
不懂 MySQL,现在公司正在把 Oracle 转到 PG,新研发的项目都用 pg 了
|
|
jmyz0455Nov 30, 2020
71
听说 PostgreSQL 可以直接输出 API ?
|
|
echowuhaoDec 1, 2020
72
@MoccaCafe
PostgreSQL 的缺点: 1,没有 show create table/show tables/show database/show variables 等方法,你要找这张表有多少列,有点麻烦,可以说对开发人员很不友好(学院派) \d \dt \l |
|
echowuhaoDec 1, 2020
73
@MoccaCafe
2,不能跨库查询,如果 PostgreSQL 数据文件完全损坏,那真的就是损坏了 postgres 里面有 schema 的概念,有点像 mysql 里面的 db 了。就是一个 schema 里面可以有很多表。你把 mysql 里面的不同数据库放到不同 schema 里面,就可以了。 如果非要跨库,不仅可以跨,还可以跨不同服务器上面的,postgres_fdw 速度会慢一点。 |
|
MoccaCafeDec 1, 2020 via iPhone
75
@echowuhao 你那个\d 只是在命令行里使用,无法像 show create table 一样随时查询,甚至集成到程序里。而 pg 想实现这点,又是 command 又是 shell 的,一点也不优雅
|
|
MoccaCafeDec 1, 2020 via iPhone
76
@echowuhao 你说的这个 fdw 也正是我想说的,oracle fdw 之前出现语法不兼容直接报错,而 mysql fdw 时不时断开连接无法请求。需要注意的是,这些 fdw 都不是核心人员开发,都是 github 一些爱好者开发得,换做是你,你敢用非核心的开源 fdw 来替换跨库查询吗?
连本机跨库查询都这么复杂,难怪 pg 不火。性能虽然好那么一点,但开发起来总是很拉胯的样子 |
|
77
所以 pg 就像 wp 一样,看起来好像什么功能都有,但实际每个功能都只是有而已,用起来很拉胯,一点也不贴近码农的实际需求,天天弄些不切实际的
|
|
79
五年过去了,结论有什么变化吗?
|