PostgreSQL 中字段类型varchar的用法

时间:2021-05-24

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 bytesinsert into tmp(name) values('欧阳子');-- 8192 bytes8192 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

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章