postgresql中的标识符和关键字

sql标识符和关键字必须以字母(a-z以及带变音符的字母和非拉丁字母)或下划线(_),其后的字母可以是字母,下划线,数字或美元符($)。$不是sq标准中的字母。

系统使用不超过NAMEDATALEN-1个字节的标识符,更长的名字可以出现在command中,但是会被截断。默认情况下,NAMEDATALEN=64,所以标识符的最大长度是63bytes。可以通过修改文件src/include/pg_config_manual.h修改NAMEDATALEN。

标识符和关键字大小写是不敏感的。

还有一种标识符是:分隔符和引号。是由引号包围的任意字符组成的。分隔符也是一种标识符,不是一个关键字,所以"select"可以作为一个表名或者列名。没有引号的select是一个关键字,当作为一个表名或列名的时候会导致解析错误。

引号标识符能包含任何的字符,除了编码为0的字符。

例如:以下两句sql文是等效的。

UPDATE my_table SET a = 5;

UPDATE "my_table" SET "a" = 5;

posted @ 2012-12-13 13:11  lanse_yan  阅读(5909)  评论(0编辑  收藏  举报