citext question
Hi
I have played around a bit with the citext
extention. It looks like it is a lot like the
text data type - allmost like a memo
field. Is there any way to restrict the
length of citext fields, like char and
varchar fields?
Thanks
H.F.
On Oct 13, 2012, at 17:48, Heine Ferreira <heine.ferreira@gmail.com> wrote:
Hi
I have played around a bit with the citext
extention. It looks like it is a lot like the
text data type - allmost like a memo
field. Is there any way to restrict the
length of citext fields, like char and
varchar fields?Thanks
H.F.
Try "citext(25)"...if it works then "yes" otherwise "no"...
David J.
On Oct 13, 2012, at 6:34 PM, David Johnston <polobo@yahoo.com> wrote:
Hi
I have played around a bit with the citext
extention. It looks like it is a lot like the
text data type - allmost like a memo
field. Is there any way to restrict the
length of citext fields, like char and
varchar fields?Thanks
H.F.
Try "citext(25)"...if it works then "yes" otherwise "no"...
No, citext(length) not supported.
However, you can define check constraint, if that fulfill your requirement as given below:
create table test2(col citext check(length(col) < 3));
Or
you can create a domain which you can use in CREATE TABLE command as given below:
CREATE domain citext_char as CITEXT CHECK(length(value) <= 3);
Thanks & Regards,
Vibhor Kumar
EnterpriseDB Corporation
The Enterprise PostgreSQL Company
Blog: http://vibhork.blogspot.com
On 10/14/2012 05:48 AM, Heine Ferreira wrote:
Hi
I have played around a bit with the citext
extention. It looks like it is a lot like the
text data type - allmost like a memo
field. Is there any way to restrict the
length of citext fields, like char and
varchar fields?
First, don't use "char(n)" or plain "char". Neither do what you (as a
sane and sensible person) probably expect them to do.
In PostgreSQL, "varchar(n)" is effectively the same as "text" with a
"length(col_name) <= n" CHECK constraint. There is no difference in how
they are stored, and there's no advantage to using "varchar" over "text".
It's similar with citext. While citext doesn't accept a typmod to
constrain its length, you can and should use CHECK constraints as
appropriate in your data definitions.
--
Craig Ringer