Postgresql VARCHAR(255)的最大可能大小是多少?

Postgresql VARCHAR(255)的最大可能大小是多少?,postgresql,drupal,character,byte,Postgresql,Drupal,Character,Byte,在Drupal文档页()上,我读到: 确保您了解多字节字符集的效果。VARCHAR(255)存储255个字符,可能超过255个字节 所以我很好奇255个字符的最大可能大小是多少?根据,最大可能的字符(代码点0x7FFF FFFF)可以由6个字节表示。在PostgreSQL中可以表示的最高代码点是0x10FFFF,它占用4个字节: SELECT E'\U0010FFFF'; ?column? ══════════ (1 row) SELECT E'\U00110000'; ERROR:

在Drupal文档页()上,我读到:

确保您了解多字节字符集的效果。VARCHAR(255)存储255个字符,可能超过255个字节

所以我很好奇255个字符的最大可能大小是多少?

根据,最大可能的字符(代码点0x7FFF FFFF)可以由6个字节表示。在PostgreSQL中可以表示的最高代码点是0x10FFFF,它占用4个字节:

SELECT E'\U0010FFFF';

 ?column? 
══════════
 
(1 row)

SELECT E'\U00110000';
ERROR:  invalid Unicode escape value at or near "\U00110000"
LINE 1: SELECT E'\U00110000';
                 ^

SELECT CAST(E'\U0010FFFF' AS bytea);

   bytea    
════════════
 \xf48fbfbf
(1 row)

因此,如果您假定每个字符的上限为4字节,那么您是安全的。

谢谢。那么0x10FFFF是某种表情符号还是什么表情符号呢?不,它在“补充私人使用区域-B”中,所以我想这是一个可以用于私人目的的字符。但您可以将其存储在PostgreSQL中。