Thread:
Hello, Usually, I use Oracle for develop database application. However, I change my computer to Linux system (Mandrake 8) and I decide change database to Postgresql. In Oracle when I create a table where a colum is a char(n) or varchar(n), if I try to insert in this table value bigger than n , I get an error. That doesn't happen in Postgresql, if I try to insert a value bigger than n, it's accept because trunk the value. I don't want that, if the value is bigger I want an error. I created a check constraint with the function [char_length (parameter) < (n+1)] but still not working. Can you help me to resolve this problem? The version of Postgresql that I have is 7.1.2. Best Regards, Cláudia Portugal
This will be fixed in the 7.2 release. > Hello, > > Usually, I use Oracle for develop database application. However, I > change my computer to Linux system (Mandrake 8) and I decide change database > to Postgresql. > In Oracle when I create a table where a colum is a char(n) or varchar(n), if > I try to insert in this table value bigger than n , I get an error. That > doesn't happen in Postgresql, if I try to insert a value bigger than n, it's > accept because trunk the value. I don't want that, if the value is bigger I > want an error. I created a check constraint with the function [char_length > (parameter) < (n+1)] but still not working. Can you help me to resolve this > problem? The version of Postgresql that I have is 7.1.2. > > Best Regards, > Cl?udia > > Portugal > > ---------------------------(end of broadcast)--------------------------- > TIP 4: Don't 'kill -9' the postmaster > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
On Mon, 24 Sep 2001, Ana Claudia wrote: > Hello, > > Usually, I use Oracle for develop database application. However, I > change my computer to Linux system (Mandrake 8) and I decide change database > to Postgresql. > In Oracle when I create a table where a colum is a char(n) or varchar(n), if > I try to insert in this table value bigger than n , I get an error. That > doesn't happen in Postgresql, if I try to insert a value bigger than n, it's > accept because trunk the value. I don't want that, if the value is bigger I > want an error. I created a check constraint with the function [char_length > (parameter) < (n+1)] but still not working. Can you help me to resolve this > problem? The version of Postgresql that I have is 7.1.2. I believe this will be fixed in the upcoming 7.2 release. The reason the constraint doesn't work is probably that the truncation happens before the check.