this post was submitted on 18 Jul 2025
802 points (99.4% liked)

Programmer Humor

25139 readers
917 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
 
top 50 comments
sorted by: hot top controversial new old
[–] jubilationtcornpone@sh.itjust.works 41 points 3 days ago* (last edited 2 days ago) (1 children)

What's that? Did you say you needed an RDBMS that can also handle JSON data? Well have I got good news for you!

[–] derpgon@programming.dev 11 points 3 days ago (1 children)

Mysql / Mari can handle it too! Just use BLOB 🀣

[–] lime@feddit.nu 27 points 2 days ago (2 children)

pg can actually query into json fields!

[–] Tanoh@lemmy.world 13 points 2 days ago (1 children)

And you can add indexes on those JSON fields too!

[–] Tja@programming.dev 6 points 2 days ago (2 children)

Kind of. I hope you don't like performance...

[–] Tanoh@lemmy.world 1 points 1 day ago

Sure, if you use a field often it is most likely better to extract it into a column with auto-updates from the JSON data.

But you have to tune it and see what is best for your use case. Just saying that you can add indexes to JSON fields as well!

[–] jubilationtcornpone@sh.itjust.works 2 points 2 days ago (1 children)

The performance is actually not bad. You're far better off using conventional columns but in the one off cases where you have to store queryable JSON data, it actually performs quite well.

[–] Tja@programming.dev 2 points 2 days ago

Quite well is very subjective. It's much slower than columns or specialized databases like MongoDB.

[–] derpgon@programming.dev 3 points 2 days ago (1 children)

Mysql can too, slow af tho.

[–] lime@feddit.nu 4 points 2 days ago (1 children)

oh i didn't know that. iirc postgres easily beats mongo in json performance which is a bit embarrassing.

[–] derpgon@programming.dev 1 points 2 days ago

Holy, never knew, and never would expect. Postgres truly is king.

[–] msage@programming.dev 42 points 3 days ago (4 children)

This is literally me at every possible discussion regarding any other RDBMS.

My coworkers joked that I got paid for promoting Postgres.

Then we switched from Percona to Patroni and everyone agreed that... fuck yes, PostgreSQL is the best.

[–] sp3ctr4l@lemmy.dbzer0.com 19 points 3 days ago (1 children)

After having suffered with T SQL at MSFT for a number of years... yep, PostGres is almost always the best for almost any enterprise setup, despite what most other corpos seem to think.

Usually their reasons for not using it boil down to:

We would rather pay exorbitant licescing fees of some kind, forever, than rework a few APIs.

Those few APIs already having a fully compatible rewrite, done by me, working in test, prior to that meeting.

Gotta love corpo logic.

[–] msage@programming.dev 7 points 2 days ago

Yes, had those issues as well, though lately not a big corp, but mid-sized company.

One manager just wanted MySQL. We had trouble getting required performance from MySQL, when Postgres had good numbers. I had the app fully ready, just to be told no, you make it work in MySQL. So we dropped some 'useless stuff' like deferring flushing to disk and such.

[–] locuester@lemmy.zip 11 points 2 days ago (4 children)

I used to agree, but recently tried out Clickhouse for high ingestion rate time series data in the financial sector and I’m super impressed by it. Postgres was struggling and we migrated.

This isn’t to say that it’s better overall by any means, but simply that I did actually find a better tool at a certain limit.

[–] qaz@lemmy.world 12 points 2 days ago* (last edited 2 days ago) (1 children)

I've been using ClickHouse too and it's significantly faster than Postgres for certain analytical workloads. I benchmarked it and while Postgres took 47 seconds, ClickHouse finished within 700ms when performing a query on the OpenFoodFacts dataset (~9GB). Interestingly enough TimescaleDB (Postgres extension) took 6 seconds.

Insertion Query speed
Clickhouse 23.65 MB/s β‰ˆ650ms
TimescaleDB 12.79 MB/s β‰ˆ6s
Postgres - β‰ˆ47s
SQLite 45.77 MB/s^1^ β‰ˆ22s
DuckDB 8.27 MB/s^1^ crashed

^All^ ^actions^ ^were^ ^performed^ ^through^ ^Datagrip^

^1^ ^Insertion^ ^speed^ ^is^ ^influenced^ ^by^ ^reduced^ ^networking^ ^overhead^ ^due^ ^to^ ^the^ ^databases^ ^being^ ^in-process.^

Updates and deletes don't work as well and not being able to perform an upsert can be quite annoying. However, I found the ReplacingMergeTree and AggregatingMergeTree table engines to be good replacements so far.

Also there's !clickhouse@programming.dev

load more comments (1 replies)
load more comments (3 replies)
[–] cute_noker@feddit.dk 5 points 3 days ago (2 children)

I have a colleague like that too, and then the other camp that loves MySQL.

Why do you like postgres

[–] msage@programming.dev 21 points 3 days ago* (last edited 3 days ago) (2 children)

I made several lengthy presentations about many features, mainly those that are/were missing in MySQL.

In short, MySQL (has been) shit since its inception, with insane defaults and lacking SQL support.

After Oracle bought it, it got better, but it's catching up with stuff that Postgres has had for 20+ years (in some cases).

Also, fuck Oracle, it's a shit company.

Edit: if I had to pick the best features I can't live without, it would be 'returning', copy mode and arrays

[–] sp3ctr4l@lemmy.dbzer0.com 7 points 3 days ago* (last edited 2 days ago) (1 children)

Oracle:

Only the best in B2B marketing for our shit software.

EDIT:

hah ok, round two, more directly playing on the actual company name:

Oracle:

We tell you what you think you want to hear.

load more comments (1 replies)
[–] chunkystyles@sopuli.xyz 5 points 2 days ago (1 children)

As a complete newb to Postgres, I LOVE arrays.

Postgres feels like all of the benefits of a database and a document store.

[–] msage@programming.dev 6 points 2 days ago

Yeah, that was the goal.

First make it feature-complete document-oriented database, then make if peroformant.

And you can feel the benefits in every step of the way. Things just work, features actually complement each other... and there's always a way to make any crazy idea stick.

[–] Overspark 6 points 2 days ago (1 children)

I usually tell people running MySQL that they would probably be better off using a NoSQL key-value store, SQLite, or PostgreSQL, in that order. Most people using MySQL don't actually need an RDBMS. MySQL occupies this weird niche of being optimised for mostly reads, not a lot of concurrency and cosplaying as a proper database while being incompatible with SQL standards.

[–] lagoon8622@sh.itjust.works 5 points 2 days ago

incompatible with SQL standards.

Wait... Wait a minute, is that Oracle's entrance musicβ€½

[–] only_in_ohio@sh.itjust.works 0 points 1 day ago (1 children)

Sure, once you make the move it’s great. It’s just that it takes time and resources to actually make the move

[–] msage@programming.dev 1 points 1 day ago

I mean, with mysql_fwd, I migrated the data quickly, and apart from manual 'on duplicate update' queries (or rare force index) it works the same.

[–] merari42@lemmy.world 16 points 2 days ago

As a (data) scientist I am not super familiar with most databases, but duckdb is great for what I need it for.

[–] ohshit604@sh.itjust.works 17 points 3 days ago* (last edited 3 days ago) (3 children)

Things happen magically with docker. Container needs PostgreSQL? Expose the port, define a volume, username and password, connect service to that port, forget PostgreSQL’s existence until data corruption.

[–] sneezycat@sopuli.xyz 8 points 3 days ago

Not data corruption, but I replaced by mistake my .env file for authentik, containing the password for the postgresql database...

Cue a couple existential crisis for not having set up backups, thinking about nuking the whole installation, learning about postgresql, and finally managing to manually set another password.

Yeah, I feel several years older now...

load more comments (2 replies)
[–] paulbg@programming.dev 12 points 3 days ago (4 children)

first thing i'd ask it is how to pronounce SQL

[–] eager_eagle@lemmy.world 8 points 2 days ago* (last edited 2 days ago)

Sequel with external collaborators.

Squeal with the homies.

[–] cm0002@lemmy.world 12 points 3 days ago (2 children)

Yup, and it's S-Q-L not sequel (🀒)

squeal gang rise up!

[–] sp3ctr4l@lemmy.dbzer0.com 6 points 3 days ago* (last edited 3 days ago) (5 children)

?

I've been working on and with sql dbs since... 2011?

Earlier than that if you don't count professional work.

Always pronounced it Sequel, as has everyone I have worked with, at least of those who actually have some kind of software dev related role.

Its got two syllables.

Quicker and easier to say than three syllables.

load more comments (5 replies)
[–] Valorie12@lemmy.world 4 points 2 days ago

15 years ago I called it S-Q-L and then I was told that it's wrong and it's "Sequel", and they kept calling it Sequel in college so for the past 10 years I've called it Sequel, My-Sequel, Sequel-lite, Postgres, transact-sequel, etc. Now y'all are telling me it's not Sequel

load more comments (1 replies)
[–] RustyNova@lemmy.world 12 points 3 days ago (3 children)

No need. It's the best DB... Until you need something portable

[–] verstra@programming.dev 11 points 3 days ago

My laptops runs postgres, but it is still pretty portable

[–] marcos@lemmy.world 9 points 3 days ago (1 children)

What do you mean by "portable"?

[–] Aurenkin@sh.itjust.works 5 points 3 days ago (1 children)

Just if you need to be able to take it with you.

[–] zalgotext@sh.itjust.works 5 points 2 days ago (2 children)

The whole point of a database is that you leave it where it is though

[–] marcos@lemmy.world 4 points 2 days ago (1 children)

I think the OP is trying to talk about SQLite, so yeah, he could really be talking about carrying it on his phone.

But it's just such a weird word to use there that I can't really be sure.

[–] Atherel@lemmy.dbzer0.com 2 points 2 days ago (1 children)

Or portable like on a USB stick that you can put in any computer instead of installed on a single system.

[–] marcos@lemmy.world 1 points 2 days ago

Either way, the funny thing is that Postgres can do both too. You may not want to use it for those, but you absolutely can.

load more comments (1 replies)
[–] yucandu@lemmy.world 5 points 2 days ago

I'm running it on a raspberry pi, how much more portable could you need?

load more comments
view more: next β€Ί