PostgreSQL表名可以多长时间?

rep*_*rep 3 postgresql

我打算为一系列数据库名称使用前缀,并且需要确保我没有遇到长度限制.PostgreSQL支持多长的表名?

rep*_*rep 7

根据PostgreSQL文档:

标识符 ...标识表,列或其他数据库对象的名称....

系统使用不超过NAMEDATALEN-1标识符的字节; 较长的名称可以用命令编写,但它们会被截断.默认情况下,NAMEDATALEN为64,因此最大标识符长度为63个字节.

您可以使用此注释建议的查询来查看此限制:SELECT length(repeat('xyzzy', 100)::NAME);创建一个500个字符的字符串并将其强制转换为PostgreSQL的NAME类型,然后检查长度.结果是63.

  • 答案中奇怪的查询部分的大道具 (4认同)