this post was submitted on 19 Oct 2023
1709 points (98.8% liked)

Programmer Humor

32031 readers
1678 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] icydefiance@lemm.ee 6 points 11 months ago* (last edited 11 months ago) (1 children)

Postgres normalizes table and field names to lowercase, unless you put them in quotes. It's also case sensitive.

That means if you use quotes and capital letters when creating the table, then it's impossible to refer to that table without using quotes.

It also means if you rename the table later to be all lowercase, then all your existing code will break.

Still a much better database than MySQL though.

[–] xmunk@sh.itjust.works 2 points 11 months ago (1 children)

I'm quite aware... basically it means that novice devs can create a table in camelCase and query in camelCase... but you can clean it all up as long as they didn't realize you needed double quotes.

[–] icydefiance@lemm.ee 2 points 11 months ago* (last edited 11 months ago)

Fair point. I always disliked the design because ORMs pretty much always use quotes, so an entity-first approach can create a lot of tables with capital letters if you're not careful, which is then really annoying if you need to use raw SQL for anything.