PostgreSQL表名可以有多长?

32

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


3
如有疑问,请阅读手册:http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS。 - user330315
1
这个回答解决了你的问题吗?[标签(表名、列名等)中的最大字符数] (https://dev59.com/MGsy5IYBdhLWcg3w8Slc) - Vadzim
1个回答

59
根据PostgreSQL文档的说法,标识符用于标识表、列或其他数据库对象的名称。系统使用不超过NAMEDATALEN-1字节的标识符;较长的名称可以在命令中编写,但会被截断。默认情况下,NAMEDATALEN为64,因此最大标识符长度为63个字节。您可以使用由该评论建议的查询来查看此限制:SELECT length(repeat('xyzzy', 100)::NAME);创建一个500个字符的字符串并将其转换为PostgreSQL的NAME类型,然后检查其长度。结果为63

16
感谢你对我的回答中“奇怪查询部分”的赞赏。 - Darth Egregious

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接