テクノロジー

MySQLが好きな私が、今はPostgreSQLを勧めたい理由

1: nguyen-oi 2026/03/12 13:08

やっぱりPostgreSQLが安牌か。MySQL 8になっても抜けない根本的な設計差はデカい

2: soulfulmiddleagedman 2026/03/12 13:34

わかりやすい。どうもありがとう。

3: deep_one 2026/03/12 13:39

「RETURNINGがかなり強い」これ昔苦労したやつだ…

4: canadie 2026/03/12 14:08

そういうとこやぞMySQL… “foreign_key_checks=0で制約を無効化できる”“新しいcollationが入り、既存システムと混在”

5: sin20xx 2026/03/12 14:09

わかる。自分もここ1年ぐらいPostgreSQLへの移行を考えている。使い分けとは思いつつなかなか移行に踏み込めないのは技術的云々よりも、単純に無意味な過去の経験や感想による思い込みだと自覚している。がんばろうかな

6: emmeleia 2026/03/12 14:13

とてもわかる。MySQLはTimestampの2038年問題もずっと放置してるし…

7: auto_chan 2026/03/12 14:26

SQLServerのOUTPUTからポスグレのRETURNINGに引っ越してきたので普通の機能だと思ってた。「外部キーを使うほどテストが面倒になるなら、「じゃあ外部キーをやめよう」という文化が生まれやすいのは自然」マジソレナ~。

8: snowcrush 2026/03/12 14:41

MySQLの何が嫌かってMySQLユーザーの多くがこういう便利機能が他のDBにあることに気づいてすらいないところなんだよな…

9: tofu-kun 2026/03/12 14:44

完全に同意

10: ssig33 2026/03/12 14:53

“性能を出しやすい” 結局最後の最後はこれになっちゃわないか

11: circled 2026/03/12 15:00

PostgreSQLが毎年高速化してるのにMySQLは8になってから速くなるどころか遅くなってるし、DBとしての機能面もPostgreSQLに劣るので、そもそも何で今MySQL使う必要がある?みたいになってる現実

12: kamm 2026/03/12 15:23

“RETURNING”いいなあ。MySQLにも欲しい機能。実装されないかしら

13: knjname 2026/03/12 15:54

もう新規案件にMySQLを勧めることは無いよな

14: vbcom 2026/03/12 16:24

おいおい。10年前からタイムスリップしてきたのか?

15: nilab 2026/03/12 16:30

VACUUMの話はちらっとしか書かれていないけどもう周回遅れなのだろうか(;´∀`) 「PostgreSQLにはpgvectorがあり、ベクトルを保持できるだけではなく、距離演算や類似検索まで」「部分インデックスは明確に機能差がある」

16: yo_aibou 2026/03/12 17:00

Aurora PostgreSQLがかなり便利で、VACUUM FULL制御やPush型レプリケーションといった運用負荷をほぼ気にする必要がなくなった。インデックス関連だと関数インデックスという機能がすごいと感じている。

17: mohno 2026/03/12 17:04

こういうSQL文を使う機会は今後もないだろうけど(というか、もうそういう仕事をする機会がなさそう)、わりと差が付いてるんだな。/処理速度を気にする人の方が多い気はするが、↓そこでもPostgreSQLが優位なのか。

18: k-holy 2026/03/12 17:28

“PostgreSQLでは遅延制約が使える”これ強いな。MySQLユーザーで外部キー制約重視は少数派なのか…MariaDBに移行するよりも、むしろPostgreSQLに変えた方が良い気がするな。もともとMySQL固有の機能ってそんなに使ってないし。

19: aktkro 2026/03/12 18:31

httpドライバーが整っててサーバーレスフレンドリーなのもPostgreSQLの良いところ

20: cbkf 2026/03/12 18:56

随分前に学んでみた時timezoneの扱いが変?(C# / SQLServer の DateTimeOffset 型のような扱いができない?)と思って調べた結果そうらしいと判ったのだけど、(AIに訊いた感じだと)今も変わらなそう。あと分散トランザクション……

21: unmarshal 2026/03/12 19:13

勉強になる

22: GARAPON 2026/03/12 21:18

mysqlって出た当時は良かったけど5-7あたりはめちゃ使いにくい印象。よく耐えてたなこの人

23: yayugu 2026/03/12 22:06

MySQLどっぷりの人間ですがおおむね同意です。あとMySQLにマテリアルビューがないのは本当に面倒

24: Anonymous2000 2026/03/12 23:00

良記事!

25: napsucks 2026/03/12 23:08

かつてLAMPと呼ばれ一時代を築いたMySQLもいまや…って感じだね。やはりoracleが全て悪いのかもしれない。

26: tengo1985 2026/03/12 23:20

好きだった時期はないけれど、2010年ごろのオンプレミス時代は明確に強かったとは思うものの、ポスグレは毎年ちゃんとリリースされ続けたし継続的に改良されたよね。互換データベースが広がったのも大きいと思う。

27: bellonieta 2026/03/12 23:58

JSON(B)型の扱いがPostgreSQLの方がちょっとずつ便利なんだよな、GINとか@>とか

28: peketamin 2026/03/13 01:10

めちゃめちゃわかりやすい…ありがとうございます…

29: rzi 2026/03/13 01:36

今からノーマルのMySQLはないけど、TiDBは気になるよね…

30: boxshiitake 2026/03/13 05:26

単純に性能がpostgtesのほうが良いんだよな

31: oinume 2026/03/13 06:10

知らない機能がいっぱいあった

32: Kil 2026/03/13 06:11

遅延制約とRETURNINGいいなぁ。

33: KoshianX 2026/03/14 04:14

最近の PostgreSQL の利点こんな感じか。いや昔から psql コマンド立ち上げたあとに補完が効くので PostgreSQL 好きだったが。遅延制約とRETURNING便利だなあ