Hacker News new | ask | show | jobs
by piskov 80 days ago
On a tangent note it’s amazing how hard it is to have a good case-insensitive search in Postgres.

In SQL Server you just use case-insensitive collation (which is a default) and add an index (it’s the only one non-clustered) and call it a day.

In postgres you need to go above and beyond just for that. It’s like postgres guys were “nah dog, everybody just uses lowercase; you don’t need to worry of people writing john doe as John Doe)”.

And don’t get me started with storing datetime with timezone (e.g “4/2/2007 7:23:57 PM -07:00“). In sql server you have datetimeoffset; in Postgres you fuck off :-)

2 comments

> And don’t get me started with storing datetime with timezone (e.g “4/2/2007 7:23:57 PM -07:00“). In sql server you have datetimeoffset; in Postgres you fuck off :-)

`TIMESTAMPTZ` / `TIMESTAMP WITH TIME ZONE` exists?

I don’t know who was the genius who invented that but timestamp *with time zone* doesn’t store the time zone.

Timestamp with time zone actually means gmt time created from a time zone which is then discarded because fuck you that’s why.

They dont store original timezone
citext doesn't solve your problem of case-insensitive search?
It’s good for ids where you would like complete match (username, localeId, etc.) but not really for stuff like lastname where you would like to support at least most common prefix search as well