PostgreSQL表名可以有多长?

PostgreSQL表名可以有多长?,postgresql,Postgresql,我计划对一系列数据库名称使用前缀,并且需要确保我没有遇到长度限制。PostgreSQL支持多大长度的表名?根据: 标识符…标识表、列或其他数据库对象的名称 系统使用的标识符不超过NAMEDATALEN-1字节;可以在命令中写入更长的名称,但它们将被截断。默认情况下,NAMEDATALEN为64,因此标识符的最大长度为63字节 您可以使用以下建议的查询查看此限制:selectlength(repeat('xyzy',100)::NAME)创建一个500字符的字符串,并将其强制转换为PostgreS

我计划对一系列数据库名称使用前缀,并且需要确保我没有遇到长度限制。PostgreSQL支持多大长度的表名?

根据:

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

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


您可以使用以下建议的查询查看此限制:
selectlength(repeat('xyzy',100)::NAME)
创建一个500字符的字符串,并将其强制转换为PostgreSQL的
名称
类型,然后检查长度。结果是
63

如果有疑问,请阅读手册:答案中奇怪查询部分的大道具