PostgreSQL 中字段类型varchar的用法

PostgreSql数据库中varchar类型与sql server中字段用法有差别,PostgreSql中如果字段设置为varchar类型长度为10,则无论存字母、数字或其它符号,长度最大为10个,也就是字母和汉字占的位置是一样的。

Sql server中如设置字段类型为nvarchar类型长度为10,则存汉字最大为5个,字母为10个,字母加汉字混合时,字母和汉字占的长度一样

补充:Postgresql 数据库 varchar()字符占用多少字节

如下所示:

create table tmp1
(
name varchar(3)
);
select pg_size_pretty(pg_relation_size(‘tmp1’));
— 0 bytes
insert into tmp(name) values(‘欧阳子’);
— 8192 bytes
8192 bytes = 8KB = 1页(数据库的最小单位)
8页 = 1区 = 64KB(记不清磁头一次取1区还是1页数据了)

pg_relation_size()函数用于查询表占用空间.

当表创建的时候, 是不占空间的, 插入数据后, 数据库至少使用1KB去保存数据, 不够会继续增加.(不包含MateData)

首先postgresql中varchar()保存的是字符.

即可以插入3个中文, 也可以插入三个字母或者数字.

一般数据库都是UTF-8编码.

在UTF-8编码下, 一个中文 3个字节. 字母或者英文 1个字节.

另外

1KB = 1024B = 1024Bytes

1Bytes = 1B = 8bit

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。


数据运维技术 » PostgreSQL 中字段类型varchar的用法