转载:http://man.chinaunix.net/database/postgresql_8.0_CN/sql-keywords-appendix.htmlTable C-1
列出了所由在 SQL 标准和 PostgreSQL 8.0.0 里是关键字的记号。 你可以在 Section 4.1.1 里找到相关的背景信息。
SQL 里有保留字(保留)和 非保留字之分。根据标准, 保留字是那些真正的关键字;我们决不能用它们做标识符。 非保留字只是在特定的环境里有特殊的含义,而在其它环境里是可以用做标识符的。 大多数非保留字实际上都是 SQL 声明的内建表和函数的名字。 而非保留字的概念实质上只是用来表示在某些场合里,在一个字上附加了一些预先定义的含义。
在 PostgreSQL 里,分析器的工作有些复杂。 因为存在好几种不同范畴的记号, 从那些永远不可能用做标识符的到那些和普通标识符比较起来在分析器里完全没有任何特殊状态的。 (后者通常都是 SQL 声明的函数。)即使保留关键字在 PostgreSQL 里都没有完全保留,而是可以用做字段标签(比如,SELECT 55 AS CHECK — 虽然 CHECK是保留关键字。)
在 Table C-1 里用于 PostgreSQL 的字段里, 我们把那些分析器明确知道,但是可以在大多数需要标识符的环境里用做标识符的关键字分类为"非保留"。 否则一些关键字就是非保留的,因此不能用做函数或者数据类型名字, 并且相应做了标记。(大多数这类记号代表有特殊语法的内置函数或者数据类型。 我们仍然可以使用这些函数或者类型,但是用户不能重新定义它们。) 标记为"保留"都是那些只允许出现在 "AS" 字段标签名里面的(以及可能还有很少的几个其它环境)的记号。 有些保留关键字还可以用做函数的名字;这点在表中也显示出来了。
一条通用的规则是:如果你看到任何古怪的分析错, 说命令包含任何这里列出的关键字做标识符, 那么你可以先试试用双引号把那个标识符括起来,看看问题是否消失。
在开始学习 Table C-1 之前我们还要理解的一件重要的事情是:一个关键字在 PostgreSQL 中没有保留并不意味着与该关键字相关的特性没有实现。 同样,关键字的存在并不表明某个特性就存在。
关键字 | PostgreSQL | SQL:2003 | SQL:1999 | SQL-92 | ||
---|---|---|---|---|---|---|
A | 非保留 | |||||
ABORT | 非保留 | |||||
ABS | 保留 | 非保留 | ||||
ABSOLUTE | 非保留 | 非保留 | 保留 | 保留 | ||
ACCESS | 非保留 | |||||
ACTION | 非保留 | 非保留 | 保留 | 保留 | ||
ADA | 非保留 | 非保留 | 非保留 | |||
ADD | 非保留 | 非保留 | 保留 | 保留 | ||
ADMIN | 非保留 | 保留 | ||||
AFTER | 非保留 | 非保留 | 保留 | |||
AGGREGATE | 非保留 | 保留 | ||||
ALIAS | 保留 | |||||
ALL | 保留 | 保留 | 保留 | 保留 | ||
ALLOCATE | 保留 | 保留 | 保留 | |||
ALSO | 非保留 | |||||
ALTER | 非保留 | 保留 | 保留 | 保留 | ||
ALWAYS | 非保留 | |||||
ANALYSE | 保留 | |||||
ANALYZE | 保留 | |||||
AND | 保留 | 保留 | 保留 | 保留 | ||
ANY | 保留 | 保留 | 保留 | 保留 | ||
ARE | 保留 | 保留 | 保留 | |||
ARRAY | 保留 | 保留 | 保留 | |||
AS | 保留 | 保留 | 保留 | 保留 | ||
ASC | 保留 | 非保留 | 保留 | 保留 | ||
ASENSITIVE | 保留 | 非保留 | ||||
ASSERTION | 非保留 | 非保留 | 保留 | 保留 | ||
ASSIGNMENT | 非保留 | 非保留 | 非保留 | |||
ASYMMETRIC | 保留 | 非保留 | ||||
AT | 非保留 | 保留 | 保留 | 保留 | ||
ATOMIC | 保留 | 非保留 | ||||
ATTRIBUTE | 非保留 | |||||
ATTRIBUTES | 非保留 | |||||
AUTHORIZATION | 保留(可以是函数) | 保留 | 保留 | 保留 | ||
AVG | 保留 | 非保留 | 保留 | |||
BACKWARD | 非保留 | |||||
BEFORE | 非保留 | 非保留 | 保留 | |||
BEGIN | 非保留 | 保留 | 保留 | 非保留 | ||
BERNOULLI | 非保留 | |||||
BETWEEN | 保留(可以是函数) | 保留 | 非保留 | 保留 | ||
BIGINT | 非保留(不能是函数或类型) | 保留 | ||||
BINARY | 保留(可以是函数) | 保留 | 保留 | |||
BIT | 非保留(不能是函数或者类型) | 保留 | 保留 | |||
BITVAR | 非保留 | |||||
BIT_LENGTH | 非保留 | 保留 | ||||
BLOB | 保留 | 保留 | ||||
BOOLEAN | 非保留(不能是函数或者类型) | 保留 | 保留 | |||
BOTH | 保留 | 保留 | 保留 | 保留 | ||
BREADTH | 非保留 | 保留 | ||||
BY | 非保留 | 保留 | 保留 | 保留 | ||
C | 非保留 | 非保留 | 非保留 | |||
CACHE | 非保留 | |||||
CALL | 保留 | 保留 | ||||
CALLED | 非保留 | 保留 | 非保留 | |||
CARDINALITY | 保留 | 非保留 | ||||
CASCADE | 非保留 | 非保留 | 保留 | 保留 | ||
CASCADED | 保留 | 保留 | 保留 | |||
CASE | 保留 | 保留 | 保留 | 保留 | ||
CAST | 保留 | 保留 | 保留 | 保留 | ||
CATALOG | 非保留 | 保留 | 保留 | |||
CATALOG_NAME | 非保留 | 非保留 | 非保留 | |||
CEIL | 保留 | |||||
CEILING | 保留 | |||||
CHAIN | 非保留 | 非保留 | 非保留 | |||
CHAR | 非保留(不能是函数或类型) | 保留 | 保留 | 保留 | ||
CHARACTER | 非保留(不能是函数或类型) | 保留 | 保留 | 保留 | ||
CHARACTERISTICS | 非保留 | |||||
CHARACTERS | 非保留 | |||||
CHARACTER_LENGTH | 保留 | 非保留 | 保留 | |||
CHARACTER_SET_CATALOG | 非保留 | 非保留 | 非保留 | |||
CHARACTER_SET_NAME | 非保留 | 非保留 | 非保留 | |||
CHARACTER_SET_SCHEMA | 非保留 | 非保留 | 非保留 | |||
CHAR_LENGTH | 非保留 | 非保留 | 保留 | |||
CHECK | 保留 | 保留 | 保留 | 保留 | ||
CHECKED | 非保留 | |||||
CHECKPOINT | 非保留 | |||||
CLASS | 非保留 | 保留 | ||||
CLASS_ORIGIN | 非保留 | 非保留 | 非保留 | |||
CLOB | 保留 | 保留 | ||||
CLOSE | 非保留 | 保留 | 保留 | 保留 | ||
CLUSTER | 非保留 | |||||
COALESCE | 非保留(不能是函数或者类型) | 保留 | 非保留 | 保留 | ||
COBOL | 非保留 | 非保留 | 非保留 | |||
COLLATE | 保留 | 保留 | 保留 | 保留 | ||
COLLATION | 非保留 | 保留 | 保留 | |||
COLLATION_CATALOG | 非保留 | 非保留 | 非保留 | |||
COLLATION_NAME | 非保留 | 非保留 | 非保留 | |||
COLLATION_SCHEMA | 非保留 | 非保留 | 非保留 | |||
COLLECT | 保留 | |||||
COLUMN | 保留 | 保留 | 保留 | 保留 | ||
COLUMN_NAME | 非保留 | 非保留 | 非保留 | |||
COMMAND_FUNCTION | 非保留 | 非保留 | 非保留 | |||
COMMAND_FUNCTION_CODE | 非保留 | 非保留 | ||||
COMMENT | 非保留 | |||||
COMMIT | 非保留 | 保留 | 保留 | 保留 | ||
COMMITTED | 非保留 | 非保留 | 非保留 | 非保留 | ||
COMPLETION | 保留 | |||||
CONDITION | 保留 | |||||
CONDITION_NUMBER | 非保留 | 非保留 | 非保留 | |||
CONNECT | 保留 | 保留 | 保留 | |||
CONNECTION | 非保留 | 保留 | 保留 | |||
CONNECTION_NAME | 非保留 | 非保留 | 非保留 | |||
CONSTRAINT | 保留 | 保留 | 保留 | 保留 | ||
CONSTRAINTS | 非保留 | 非保留 | 保留 | 保留 | ||
CONSTRAINT_CATALOG | 非保留 | 非保留 | 非保留 | |||
CONSTRAINT_NAME | 非保留 | 非保留 | 非保留 | |||
CONSTRAINT_SCHEMA | 非保留 | 非保留 | 非保留 | |||
CONSTRUCTOR | 非保留 | 保留 | ||||
CONTAINS | 非保留 | 非保留 | ||||
CONTINUE | 非保留 | 保留 | 保留 | |||
CONVERSION | 非保留 | |||||
CONVERT | 非保留(不能是函数或者类型) | 保留 | 非保留 | 保留 | ||
COPY | 非保留 | |||||
CORR | 保留 | |||||
CORRESPONDING | 保留 | 保留 | 保留 | |||
COUNT | 保留 | 非保留 | 保留 | |||
COVAR_POP | 保留 | |||||
COVAR_SAMP | 保留 | |||||
CREATE | 保留 | 保留 | 保留 | 保留 | ||
CREATEDB | 非保留 | |||||
CREATEUSER | 非保留 | |||||
CROSS | 保留(可以是函数) | 保留 | 保留 | 保留 | ||
CSV | 非保留 | |||||
CUBE | 保留 | 保留 | ||||
CUME_DIST | 保留 | |||||
CURRENT | 保留 | 保留 | 保留 | |||
CURRENT_DATE | 保留 | 保留 | 保留 | 保留 | ||
CURRENT_DEFAULT_TRANSFORM_GROUP | 保留 | |||||
CURRENT_PATH | 保留 | 保留 | ||||
CURRENT_ROLE | 保留 | 保留 | ||||
CURRENT_TIME | 保留 | 保留 | 保留 | 保留 | ||
CURRENT_TIMESTAMP | 保留 | 保留 | 保留 | 保留 | ||
CURRENT_TRANSFORM_GROUP_FOR_TYPE | 保留 | |||||
CURRENT_USER | 保留 | 保留 | 保留 | 保留 | ||
CURSOR | 非保留 | 保留 | 保留 | 保留 | ||
CURSOR_NAME | 非保留 | 非保留 | 非保留 | |||
CYCLE | 非保留 | 保留 | 保留 | |||
DATA | 非保留 | 保留 | 非保留 | |||
DATABASE | 非保留 | |||||
DATE | 保留 | 保留 | 保留 | |||
DATETIME_INTERVAL_CODE | 非保留 | 非保留 | 非保留 | |||
DATETIME_INTERVAL_PRECISION | 非保留 | 非保留 | 非保留 | |||
DAY | 非保留 | 保留 | 保留 | 保留 | ||
DEALLOCATE | 非保留 | 保留 | 保留 | 保留 | ||
DEC | 非保留(不能是函数或者类型) | 保留 | 保留 | 保留 | ||
DECIMAL | 非保留(不能是函数或者类型) | 保留 | 保留 | 保留 | ||
DECLARE | 非保留 | 保留 | 保留 | 保留 | ||
DEFAULT | 保留 | 保留 | 保留 | 保留 | ||
DEFAULTS | 非保留 | 非保留 | ||||
DEFERRABLE | 保留 | 非保留 | 保留 | 保留 | ||
DEFERRED | 非保留 | 非保留 | 保留 | 保留 | ||
DEFINED | 非保留 | 非保留 | ||||
DEFINER | 非保留 | 非保留 | 非保留 | |||
DEGREE | 非保留 | |||||
DELETE | 非保留 | 保留 | 保留 | 保留 | ||
DELIMITER | 非保留 | |||||
DELIMITERS | 非保留 | |||||
DENSE_RANK | 保留 | |||||
DEPTH | 非保留 | 保留 | ||||
DEREF | 保留 | 保留 | ||||
DERIVED | 非保留 | |||||
DESC | 保留 | 非保留 | 保留 | 保留 | ||
DESCRIBE | 保留 | 保留 | 保留 | |||
DESCRIPTOR | 非保留 | 保留 | 保留 | |||
DESTROY | 保留 | |||||
DESTRUCTOR | 保留 | |||||
DETERMINISTIC | 保留 | 保留 | ||||
DIAGNOSTICS | 非保留 | 保留 | 保留 | |||
DICTIONARY | 保留 | |||||
DISCONNECT | 保留 | 保留 | 保留 | |||
DISPATCH | 非保留 | 非保留 | ||||
DISTINCT | 保留 | 保留 | 保留 | 保留 | ||
DO | 保留 | |||||
DOMAIN | 非保留 | 非保留 | 保留 | 保留 | ||
DOUBLE | 非保留 | 保留 | 保留 | 保留 | ||
DROP | 非保留 | 保留 | 保留 | 保留 | ||
DYNAMIC | 保留 | 保留 | ||||
DYNAMIC_FUNCTION | 非保留 | 非保留 | 非保留 | |||
DYNAMIC_FUNCTION_CODE | 非保留 | 非保留 | ||||
EACH | 非保留 | 保留 | 保留 | |||
ELEMENT | 保留 | |||||
ELSE | 保留 | 保留 | 保留 | 保留 | ||
ENCODING | 非保留 | |||||
ENCRYPTED | 非保留 | |||||
END | 保留 | 保留 | 保留 | 保留 | ||
END-EXEC | 保留 | 保留 | 保留 | |||
EQUALS | 非保留 | 保留 | ||||
ESCAPE | 非保留 | 保留 | 保留 | 保留 | ||
EVERY | 保留 | 保留 | ||||
EXCEPT | 保留 | 保留 | 保留 | 保留 | ||
EXCEPTION | 非保留 | 保留 | 保留 | |||
EXCLUDE | 非保留 | |||||
EXCLUDING | 非保留 | 非保留 | ||||
EXCLUSIVE | 非保留 | |||||
EXEC | 保留 | 保留 | 保留 | |||
EXECUTE | 非保留 | 保留 | 保留 | 保留 | ||
EXISTING | 非保留 | |||||
EXISTS | 非保留(不能是函数或类型) | 保留 | 非保留 | 保留 | ||
EXP | 保留 | |||||
EXPLAIN | 非保留 | |||||
EXTERNAL | 非保留 | 保留 | 保留 | 保留 | ||
EXTRACT | 非保留(不能是函数或类型) | 保留 | 非保留 | 保留 | ||
FALSE | 保留 | 保留 | 保留 | 保留 | ||
FETCH | 非保留 | 保留 | 保留 | 保留 | ||
FILTER | 保留 | |||||
FINAL | 非保留 | 非保留 | ||||
FIRST | 非保留 | 非保留 | 保留 | 保留 | ||
FLOAT | 非保留(不能是函数或类型) | 保留 | 保留 | 保留 | ||
FLOOR | 保留 | |||||
FOLLOWING | 非保留 | |||||
FOR | 保留 | 保留 | 保留 | 保留 | ||
FORCE | 非保留 | |||||
FOREIGN | 保留 | 保留 | 保留 | 保留 | ||
FORTRAN | 非保留 | 非保留 | 非保留 | |||
FORWARD | 非保留 | |||||
FOUND | 非保留 | 保留 | 保留 | |||
FREE | 保留 | 保留 | ||||
FREEZE | 非保留(可以是函数) | |||||
FROM | 保留 | 保留 | 保留 | 保留 | ||
FULL | 保留(可以是函数) | 保留 | 保留 | 保留 | ||
FUNCTION | 非保留 | 保留 | 保留 | |||
FUSION | 保留 | |||||
G | 非保留 | |||||
GENERAL | 非保留 | 保留 | ||||
GENERATED | 非保留 | 非保留 | ||||
GET | 保留 | 保留 | 保留 | |||
GLOBAL | 非保留 | 保留 | 保留 | 保留 | ||
GO | 非保留 | 保留 | 保留 | |||
GOTO | 非保留 | 保留 | 保留 | |||
GRANT | 保留 | 保留 | 保留 | 保留 | ||
GRANTED | 非保留 | 非保留 | ||||
GROUP | 保留 | 保留 | 保留 | 保留 | ||
GROUPING | 保留 | 保留 | ||||
HANDLER | 非保留 | |||||
HAVING | 保留 | 保留 | 保留 | 保留 | ||
HIERARCHY | 非保留 | 非保留 | ||||
HOLD | 非保留 | 保留 | 非保留 | |||
HOST | 保留 | |||||
HOUR | 非保留 | 保留 | 保留 | 保留 | ||
IDENTITY | 保留 | 保留 | 保留 | |||
IGNORE | 保留 | |||||
ILIKE | 保留(可以是函数) | |||||
IMMEDIATE | 非保留 | 非保留 | 保留 | 保留 | ||
IMMUTABLE | 非保留 | |||||
IMPLEMENTATION | 非保留 | 非保留 | ||||
IMPLICIT | 非保留 | |||||
IN | 保留 | 保留 | 保留 | 保留 | ||
INCLUDING | 非保留 | 非保留 | ||||
INCREMENT | 非保留 | 非保留 | ||||
INDEX | 非保留 | |||||
INDICATOR | 保留 | 保留 | 保留 | |||
INFIX | 非保留 | |||||
INHERITS | 非保留 | |||||
INITIALIZE | 保留 | |||||
INITIALLY | 保留 | 非保留 | 保留 | 保留 | ||
INNER | 保留(可以是函数) | 保留 | 保留 | 保留 | ||
INOUT | 非保留(不能是函数或者类型) | 保留 | 保留 | |||
INPUT | 非保留 | 非保留 | 保留 | 保留 | ||
INSENSITIVE | 非保留 | 保留 | 非保留 | 保留 | ||
INSERT | 非保留 | 保留 | 保留 | 保留 |
【下篇】eXosip2 REFER and blind tranfer Management outside of calls