SQL标识符和关键词必须以一个字母(a-z,也可以是带变音符的字母和非拉丁字母)或一个下划线(_)开始。
后续字符可以是字母、下划线(_)、数字(0-9)或美元符号($)
注意根据SQL标准的字母规定,美元符号是不允许出现在标识符中的,因此它们的使用可能会降低应用的可移植性。
SQL标准不会定义包含数字或者以下划线开头或结尾的关键词,因此这种形式的标识符不会与未来可能的标准扩展冲突 。
系统中一个标识符的长度不能超过 NAMEDATALEN-1 字节(超长默认被截断)。
默认情况下,NAMEDATALEN 的值为64,因此标识符的长度上限为63字节。
如果这个限制有问题,可以在src/include/pg_config_manual.h中修改 NAMEDATALEN 常量。
关键词和不被引号修饰的标识符是大小写不敏感的。一个常见的习惯是将关键词写成大写,而名称写成小写。
受限标识符或被引号修饰的标识符。它是由双引号(")包围的一个任意字符序列。
一个受限标识符总是一个标识符而不会是一个关键字。(“select”是标识符合,select才是关键字)
转义字符可以是除了16进制位、加号、单引号、双引号、空白字符之外的任意单个字符。
注意转义字符是被写在单引号而不是双引号内。(双引号是受限标识符)
PostgreSQL将非受限名字转换为小写形式与SQL标准是不兼容 的,SQL标准中要求将非受限名称转换为大写形式