Using CITEXT in Postgres

I’m starting a new project that I plan to market to largish companies where technical stuff (like installation) shouldn’t be an issue. One of the requirements will be the installation of a newish version of PostgreSQL.

For some fields that would ultimately be user-searchable (first_name, last_name, and the like) I plan to use the CITTEXT type rather than VARCHAR. I’ve read the stuff about the upside and downside of performance, but am interested in the experiences of the users here. Is there something I’m not considering that would make you yell, “STOP YOU FOOL!”?

No, I don’t think so, as citext is essentially the same as varchar, with the little difference that it handles comparisons differently.
Well, varchar obviously allows you to add a length check conveniently, but you can just manually add a CHECK-constraint that does the same thing.

For some reason I always use TEXT and create functional indexes to enable indexed case-insensitive queries, but there is nothing wrong with using citext. I guess I am just worried about me forgetting what the difference between citext and text exactly was.

I’m working on a PostgreSQL based project and using TEXT everywhere in place of VARCHAR.
Can’t advice about problems yet, but it seems there is a general consensus about this practice.

@Massimo Valle Did you mean you will be using TEXT or CITEXT data types?

I meant TEXT, however from PostgreSQL documentation:
“The citext module provides a case-insensitive character string type, citext. Essentially, it internally calls lower when comparing values. Otherwise, it behaves almost exactly like text.”

Also from PostgreSQL docs:
“citext is not as efficient as text because the operator functions and the B-tree comparison functions must make copies of the data and convert it to lower case for comparisons. It is, however, slightly more efficient than using lower to get case-insensitive matching.”

Read more here:

Then why not make all TEXT fields as CITEXT for convenience? BTW I use TEXT everywhere myself and am wondering if I should have used CITEXT.

This is good stuff, thanks for the viewpoints.