Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql Postgres字符串数据类型存储分配_Postgresql - Fatal编程技术网

Postgresql Postgres字符串数据类型存储分配

Postgresql Postgres字符串数据类型存储分配,postgresql,Postgresql,我们正在运行Postgres 8.3.3,文档()给我留下了一些关于如何分配存储的问题 在本次讨论中,我想坚持假设字符=1字节 我知道字符(n)是空白的,所以你总是有n个字节存储 如果char(n)>126个字符长,则开销为4个字节(可能用于存储长度),否则开销为1个字节 我对varchar(n)发生了什么感兴趣 如果我使用varchar(255)并在其中存储一个4个字符的字符串,那么我的字符串是否有4个字节&4个字节的开销,还是只有一个字节的开销,直到达到126个字符的限制 我已经在谷歌上搜索

我们正在运行Postgres 8.3.3,文档()给我留下了一些关于如何分配存储的问题

在本次讨论中,我想坚持假设字符=1字节

我知道字符(n)是空白的,所以你总是有n个字节存储

如果char(n)>126个字符长,则开销为4个字节(可能用于存储长度),否则开销为1个字节

我对varchar(n)发生了什么感兴趣

如果我使用varchar(255)并在其中存储一个4个字符的字符串,那么我的字符串是否有4个字节&4个字节的开销,还是只有一个字节的开销,直到达到126个字符的限制

我已经在谷歌上搜索过了,在任何地方都找不到这个文档


有什么想法吗?

控制开销的是存储的数据长度,而不是列的最大长度。因此,在达到126之前,您将有一个字节的开销。

谢谢Magnus。这回答了我的问题。。。锦上添花的是这是否在任何地方都有记录…@nos-问题是关于varchar,而不是char@apz74-该页面实际上有它。当然,从中得出结论并不那么容易。。。