Does truncate a timestamp break the indexes?

I was wondering if my indexes are working well since I am using nodejs and the dates with microseconds are not allowed in this language. So in my query for some good comparison I am doing this kind of thing:

`WHERE (created_at::timestamp(0), uuid) < (${createdAt}::timestamp(0), ${uuid})`

Since I am using a the cast which truncate to seconds, I supposed that the indexes are break. Am I right ? The solution then would be to change the precision of the timestamps stored, or is there another solution to keep the old ones ?


Solution 1:

You could change the PostgreSQL data type to millisecond precision:

ALTER TABLE tab ALTER created_at TYPE timestamp(3) without time zone;