一.测试环境:
PostgreSQL 9.6.5
pgAdmin 4.1.0
测试表:
test表:
| ch4 | chvar4 | chvar | tx |
| ------------- | ------------- |------------- |------------- |
|character(4)|character varing(4)|character varing|text|

测试SQL:

.看不出有何异同:

insert into test(ch4,chvar4,chvar,tx) values('ab','ab','ab','ab');
select * from test;
 

1.发现character(4) 在不足4位时会补空格。其他则不会。

2.发现character(4)不能超过4个字符。

insert into 
    test(ch4,chvar4,chvar,tx)
values
    ('abcde','abcde','abcde','abcde');
ERROR: value too long for type character(4)
 ********** Error ********** 
ERROR: value too long for type character(4) 
SQL state: 22001

3.发现character varing(4)也不能超过4个字符。

insert into 
    test(chvar4,chvar,tx)
values
    ('abcde','abcde','abcde');
ERROR: value too long for type character varying(4)
 ********** Error ********** 
ERROR: value too long for type character varying(4) 
SQL state: 22001

4.字符无限制

insert into 
    test(chvar,tx)
values
    ('abcde','abcde');
select * from test;