An example:
test=# create table bargle (f1 varchar(10));
CREATE TABLE
test=# insert into bargle values ('01234567890123');
ERROR: value too long for type character varying(10)
On 4/28/20 10:10 AM, Holger Jakobs wrote:
> Truncation will NEVER happen. PostgreSQL throws an ERROR on any attempt of
> saving more characters (not bytes!) into a VARCHAR(50) column.
>
> There is some other well-known system which silently truncates, but we all
> know why we would never use that.
>
> Am 28.04.20 um 13:46 schrieb Ashutosh Bapat:
>> On Tue, Apr 28, 2020 at 2:53 PM Rajin Raj <rajin.raj@opsveda.com> wrote:
>>> Is there any impact of using the character varying without providing the
>>> length while creating tables?
>>> I have created two tables and inserted 1M records. But I don't see any
>>> difference in pg_class. (size, relpage)
>>>
>>> create table test_1(name varchar);
>>> create table test_2(name varchar(50));
>> I don't think there's a difference in the way these two are stored
>> on-disk. But if you know that your strings will be at most 50
>> characters long, better set that limit so that server takes
>> appropriate action (i.e. truncates the strings to 50).
>>
--
Angular momentum makes the world go 'round.