Remix.run Logo
piskov 3 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 :-)

arnitdo 2 days ago | parent | next [-]

> 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?

piskov 2 days ago | parent | next [-]

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.

nopurpose 2 days ago | parent | prev [-]

They dont store original timezone

legedemon 2 days ago | parent | prev [-]

citext doesn't solve your problem of case-insensitive search?

piskov 2 days ago | parent [-]

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