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@xxxxxxxxxxx> 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.