Question: ```
create table abc(name character(n), name1 character varying(n), name2 text); 

```

In the above query what is the limit of 'n'?

```
create table abc(name character(), name1 character varying(), name2 text);      

```

In the above query what it will take if we not specify any value to 'n'?

Answer: 
[Quote from the manual](https://www.postgresql.org/docs/current/static/datatype-character.html)

> 
> The notations `varchar(n)` and `char(n)` are aliases for `character varying(n)` and `character(n)`, respectively. `character` without length specifier is equivalent to `character(1)`. If `character varying` is used without length specifier, the type accepts strings of any size. 
> 
> 
> 

and further down:

> 
> In any case, the longest possible character string that can be stored is about 1 GB
> 
> 
>
While creating table the limit of 'n' for CHARACTER and CHARACTER VARYING datatype is,

```
                           MIN        MAX 
CHARACTER(n)          -->    1    to   10485760 characters(not bytes)
CHARACTER VARYING(n)  -->    1    to   10485760 characters(not bytes)

```

* character() if you do not specify the length it take default as character(1) when you create the table, but you can leave the column values empty.
* character varying() if you do not specify the length it will create the column with no errors, you can insert values from 0 to 10485760 characters to the column.
* For `text` datatype you cannot specify the length, you can insert values from 0 to 10485760 characters to the column.