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

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

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐