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