多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# Appendix C. SQL关键字 [Table C-1](#calibre_link-1583)列出了所由在 SQL 标准和PostgreSQL 里是关键字的记号。你可以在[Section 4.1.1](#calibre_link-1584)里找到相关的背景信息。 (由于空间原因,只包括SQL标准的最后两个版本和为了历史兼容的SQL-92。 这些和其他中间标准版本的差异很小。) SQL 里有_保留字_和_非保留字_之分。根据标准, 保留字是那些真正的关键字;决不能用它们做标识符。非保留字只是在特定的环境里有特殊的含义, 而在其它环境里是可以用做标识符的。大多数非保留字实际上都是 SQL 声明的内建表和函数的名字。 而非保留字的概念实质上只是用来表示在某些场合里,在一个字上附加了一些预先定义的含义。 在PostgreSQL里,分析器的工作有些复杂。因为存在好几种不同范畴的记号, 从那些永远不可能用做标识符的到那些和普通标识符比较起来在分析器里完全没有任何特殊状态的 (后者通常都是 SQL 声明的函数)。即使保留关键字在PostgreSQL 里都没有完全保留,而是可以用做字段标签。比如,虽然`CHECK`是保留关键字, 但是`SELECT 55 AS CHECK`语句完全行得通。 在[Table C-1](#calibre_link-1583)的PostgreSQL字段里, 我们把那些分析器明确知道,但是允许作为字段或表名的关键字分类为"非保留"。 虽然一些关键字是非保留的,但是却不能用做函数或者数据类型名字,我们对这些关键字相应做了的标记。 大多数这类记号代表有特殊语法的内置函数或者数据类型。仍然可以使用这些函数或者类型, 但是用户不能重新定义它们。标记为"保留"的都是那些不允许作为字段或表名的。 有些保留关键字还可以用做函数或数据类型的名字;这点在表中也显示出来了。 如果没有那样标记,那么只允许出现在"AS"字段标签名里面。 一条通用的规则是:如果你看到任何古怪的分析错,说命令包含任何这里列出的关键字做标识符, 那么你可以先试试用双引号把那个标识符括起来,看看问题是否消失。 在开始学习[Table C-1](#calibre_link-1583)之前还要理解的一件重要的事情是: 一个关键字在PostgreSQL 中没有保留并不意味着与该关键字相关的特性没有实现。同样, 关键字的存在也并不表明某个特性就一定存在。 **Table C-1\. SQL 关键字** | 关键字 | PostgreSQL | SQL:2011 | SQL:2008 | SQL-92 | | --- | --- | --- | --- | --- | | `A` | 非保留 | 非保留 | | `ABORT` | 非保留 | | `ABS` | 保留 | 保留 | | `ABSENT` | 非保留 | 非保留 | | `ABSOLUTE` | 非保留 | 非保留 | 非保留 | 保留 | | `ACCESS` | 非保留 | | `ACCORDING` | 非保留 | 非保留 | | `ACTION` | 非保留 | 非保留 | 非保留 | 保留 | | `ADA` | 非保留 | 非保留 | 非保留 | | `ADD` | 非保留 | 非保留 | 非保留 | 保留 | | `ADMIN` | 非保留 | 非保留 | 非保留 | | `AFTER` | 非保留 | 非保留 | 非保留 | | `AGGREGATE` | 非保留 | | `ALL` | 保留 | 保留 | 保留 | 保留 | | `ALLOCATE` | 保留 | 保留 | 保留 | | `ALSO` | 非保留 | | `ALTER` | 非保留 | 保留 | 保留 | 保留 | | `ALWAYS` | 非保留 | 非保留 | 非保留 | | `ANALYSE` | 保留 | | `ANALYZE` | 保留 | | `AND` | 保留 | 保留 | 保留 | 保留 | | `ANY` | 保留 | 保留 | 保留 | 保留 | | `ARE` | 保留 | 保留 | 保留 | | `ARRAY` | 保留 | 保留 | 保留 | | `ARRAY_AGG` | 保留 | 保留 | | `ARRAY_MAX_CARDINALITY` | 保留 | | `AS` | 保留 | 保留 | 保留 | 保留 | | `ASC` | 保留 | 非保留 | 非保留 | 保留 | | `ASENSITIVE` | 保留 | 保留 | | `ASSERTION` | 非保留 | 非保留 | 非保留 | 保留 | | `ASSIGNMENT` | 非保留 | 非保留 | 非保留 | | `ASYMMETRIC` | 保留 | 保留 | 保留 | | `AT` | 非保留 | 保留 | 保留 | 保留 | | `ATOMIC` | 保留 | 保留 | | `ATTRIBUTE` | 非保留 | 非保留 | 非保留 | | `ATTRIBUTES` | 保留 | 保留 | | `AUTHORIZATION` | 保留(可以是函数或类型) | 保留 | 保留 | 保留 | | `AVG` | 保留 | 保留 | 保留 | | `BACKWARD` | 非保留 | | `BASE64` | 非保留 | 非保留 | | `BEFORE` | 非保留 | 非保留 | 非保留 | | `BEGIN` | 非保留 | 保留 | 保留 | 保留 | | `BEGIN_FRAME` | 保留 | | `BEGIN_PARTITION` | 保留 | | `BERNOULLI` | 非保留 | 非保留 | | `BETWEEN` | 非保留(不能是函数或类型) | 保留 | 保留 | 保留 | | `BIGINT` | 非保留(不能是函数或类型) | 保留 | 保留 | | `BINARY` | 保留(可以是函数或类型) | 保留 | 保留 | | `BIT` | 非保留(不能是函数或类型) | 保留 | | `BIT_LENGTH` | 保留 | | `BLOB` | 保留 | 保留 | | `BLOCKED` | 非保留 | 非保留 | | `BOM` | 非保留 | 非保留 | | `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` | 保留 | 保留 | 保留 | 保留 | | `CHECKPOINT` | 非保留 | | `CLASS` | 非保留 | | `CLASS_ORIGIN` | 非保留 | 非保留 | 非保留 | | `CLOB` | 保留 | 保留 | | `CLOSE` | 非保留 | 保留 | 保留 | 保留 | | `CLUSTER` | 非保留 | | `COALESCE` | 非保留(不能是函数或类型) | 保留 | 保留 | 保留 | | `COBOL` | 非保留 | 非保留 | 非保留 | | `COLLATE` | 保留 | 保留 | 保留 | 保留 | | `COLLATION` | 保留(可以是函数或类型) | 非保留 | 非保留 | 保留 | | `COLLATION_CATALOG` | 非保留 | 非保留 | 非保留 | | `COLLATION_NAME` | 非保留 | 非保留 | 非保留 | | `COLLATION_SCHEMA` | 非保留 | 非保留 | 非保留 | | `COLLECT` | 保留 | 保留 | | `COLUMN` | 保留 | 保留 | 保留 | 保留 | | `COLUMNS` | 非保留 | 非保留 | | `COLUMN_NAME` | 非保留 | 非保留 | 非保留 | | `COMMAND_FUNCTION` | 非保留 | 非保留 | 非保留 | | `COMMAND_FUNCTION_CODE` | 非保留 | 非保留 | | `COMMENT` | 非保留 | | `COMMENTS` | 非保留 | | `COMMIT` | 非保留 | 保留 | 保留 | 保留 | | `COMMITTED` | 非保留 | 非保留 | 非保留 | 非保留 | | `CONCURRENTLY` | 保留(可以是函数或类型) | | `CONDITION` | 保留 | 保留 | | `CONDITION_NUMBER` | 非保留 | 非保留 | 非保留 | | `CONFIGURATION` | 非保留 | | `CONNECT` | 保留 | 保留 | 保留 | | `CONNECTION` | 非保留 | 非保留 | 非保留 | 保留 | | `CONNECTION_NAME` | 非保留 | 非保留 | 非保留 | | `CONSTRAINT` | 保留 | 保留 | 保留 | 保留 | | `CONSTRAINTS` | 非保留 | 非保留 | 非保留 | 保留 | | `CONSTRAINT_CATALOG` | 非保留 | 非保留 | 非保留 | | `CONSTRAINT_NAME` | 非保留 | 非保留 | 非保留 | | `CONSTRAINT_SCHEMA` | 非保留 | 非保留 | 非保留 | | `CONSTRUCTOR` | 非保留 | 非保留 | | `CONTAINS` | 保留 | 非保留 | | `CONTENT` | 非保留 | 非保留 | 非保留 | | `CONTINUE` | 非保留 | 非保留 | 非保留 | 保留 | | `CONTROL` | 非保留 | 非保留 | | `CONVERSION` | 非保留 | | `CONVERT` | 保留 | 保留 | 保留 | | `COPY` | 非保留 | | `CORR` | 保留 | 保留 | | `CORRESPONDING` | 保留 | 保留 | 保留 | | `COST` | 非保留 | | `COUNT` | 保留 | 保留 | 保留 | | `COVAR_POP` | 保留 | 保留 | | `COVAR_SAMP` | 保留 | 保留 | | `CREATE` | 保留 | 保留 | 保留 | 保留 | | `CROSS` | 保留(可以是函数或类型) | 保留 | 保留 | 保留 | | `CSV` | 非保留 | | `CUBE` | 保留 | 保留 | | `CUME_DIST` | 保留 | 保留 | | `CURRENT` | 非保留 | 保留 | 保留 | 保留 | | `CURRENT_CATALOG` | 保留 | 保留 | 保留 | | `CURRENT_DATE` | 保留 | 保留 | 保留 | 保留 | | `CURRENT_DEFAULT_TRANSFORM_GROUP` | 保留 | 保留 | | `CURRENT_PATH` | 保留 | 保留 | | `CURRENT_ROLE` | 保留 | 保留 | 保留 | | `CURRENT_ROW` | 保留 | | `CURRENT_SCHEMA` | 保留(可以是函数或类型) | 保留 | 保留 | | `CURRENT_TIME` | 保留 | 保留 | 保留 | 保留 | | `CURRENT_TIMESTAMP` | 保留 | 保留 | 保留 | 保留 | | `CURRENT_TRANSFORM_GROUP_FOR_TYPE` | 保留 | 保留 | | `CURRENT_USER` | 保留 | 保留 | 保留 | 保留 | | `CURSOR` | 非保留 | 保留 | 保留 | 保留 | | `CURSOR_NAME` | 非保留 | 非保留 | 非保留 | | `CYCLE` | 非保留 | 保留 | 保留 | | `DATA` | 非保留 | 非保留 | 非保留 | 非保留 | | `DATABASE` | 非保留 | | `DATALINK` | 保留 | 保留 | | `DATE` | 保留 | 保留 | 保留 | | `DATETIME_INTERVAL_CODE` | 非保留 | 非保留 | 非保留 | | `DATETIME_INTERVAL_PRECISION` | 非保留 | 非保留 | 非保留 | | `DAY` | 非保留 | 保留 | 保留 | 保留 | | `DB` | 非保留 | 非保留 | | `DEALLOCATE` | 非保留 | 保留 | 保留 | 保留 | | `DEC` | 非保留(不能是函数或类型) | 保留 | 保留 | 保留 | | `DECIMAL` | 非保留(不能是函数或类型) | 保留 | 保留 | 保留 | | `DECLARE` | 非保留 | 保留 | 保留 | 保留 | | `DEFAULT` | 保留 | 保留 | 保留 | 保留 | | `DEFAULTS` | 非保留 | 非保留 | 非保留 | | `DEFERRABLE` | 保留 | 非保留 | 非保留 | 保留 | | `DEFERRED` | 非保留 | 非保留 | 非保留 | 保留 | | `DEFINED` | 非保留 | 非保留 | | `DEFINER` | 非保留 | 非保留 | 非保留 | | `DEGREE` | 非保留 | 非保留 | | `DELETE` | 非保留 | 保留 | 保留 | 保留 | | `DELIMITER` | 非保留 | | `DELIMITERS` | 非保留 | | `DENSE_RANK` | 保留 | 保留 | | `DEPTH` | 非保留 | 非保留 | | `DEREF` | 保留 | 保留 | | `DERIVED` | 非保留 | 非保留 | | `DESC` | 保留 | 非保留 | 非保留 | 保留 | | `DESCRIBE` | 保留 | 保留 | 保留 | | `DESCRIPTOR` | 非保留 | 非保留 | 保留 | | `DETERMINISTIC` | 保留 | 保留 | | `DIAGNOSTICS` | 非保留 | 非保留 | 保留 | | `DICTIONARY` | 非保留 | | `DISABLE` | 非保留 | | `DISCARD` | 非保留 | | `DISCONNECT` | 保留 | 保留 | 保留 | | `DISPATCH` | 非保留 | 非保留 | | `DISTINCT` | 保留 | 保留 | 保留 | 保留 | | `DLNEWCOPY` | 保留 | 保留 | | `DLPREVIOUSCOPY` | 保留 | 保留 | | `DLURLCOMPLETE` | 保留 | 保留 | | `DLURLCOMPLETEONLY` | 保留 | 保留 | | `DLURLCOMPLETEWRITE` | 保留 | 保留 | | `DLURLPATH` | 保留 | 保留 | | `DLURLPATHONLY` | 保留 | 保留 | | `DLURLPATHWRITE` | 保留 | 保留 | | `DLURLSCHEME` | 保留 | 保留 | | `DLURLSERVER` | 保留 | 保留 | | `DLVALUE` | 保留 | 保留 | | `DO` | 保留 | | `DOCUMENT` | 非保留 | 非保留 | 非保留 | | `DOMAIN` | 非保留 | 非保留 | 非保留 | 保留 | | `DOUBLE` | 非保留 | 保留 | 保留 | 保留 | | `DROP` | 非保留 | 保留 | 保留 | 保留 | | `DYNAMIC` | 保留 | 保留 | | `DYNAMIC_FUNCTION` | 非保留 | 非保留 | 非保留 | | `DYNAMIC_FUNCTION_CODE` | 非保留 | 非保留 | | `EACH` | 非保留 | 保留 | 保留 | | `ELEMENT` | 保留 | 保留 | | `ELSE` | 保留 | 保留 | 保留 | 保留 | | `EMPTY` | 非保留 | 非保留 | | `ENABLE` | 非保留 | | `ENCODING` | 非保留 | 非保留 | 非保留 | | `ENCRYPTED` | 非保留 | | `END` | 保留 | 保留 | 保留 | 保留 | | `END-EXEC` | 保留 | 保留 | 保留 | | `END_FRAME` | 保留 | | `END_PARTITION` | 保留 | | `ENFORCED` | 非保留 | | `ENUM` | 非保留 | | `EQUALS` | 保留 | 非保留 | | `ESCAPE` | 非保留 | 保留 | 保留 | 保留 | | `EVENT` | 非保留 | | `EVERY` | 保留 | 保留 | | `EXCEPT` | 保留 | 保留 | 保留 | 保留 | | `EXCEPTION` | 保留 | | `EXCLUDE` | 非保留 | 非保留 | 非保留 | | `EXCLUDING` | 非保留 | 非保留 | 非保留 | | `EXCLUSIVE` | 非保留 | | `EXEC` | 保留 | 保留 | 保留 | | `EXECUTE` | 非保留 | 保留 | 保留 | 保留 | | `EXISTS` | 非保留(不能是函数或类型) | 保留 | 保留 | 保留 | | `EXP` | 非保留 | 非保留 | | `EXPLAIN` | 非保留 | | `EXPRESSION` | 非保留 | | `EXTENSION` | 非保留 | | `EXTERNAL` | 非保留 | 保留 | 保留 | 保留 | | `EXTRACT` | 非保留(不能是函数或类型) | 保留 | 保留 | 保留 | | `FALSE` | 保留 | 保留 | 保留 | 保留 | | `FAMILY` | 非保留 | | `FETCH` | 保留 | 保留 | 保留 | 保留 | | `FILE` | 非保留 | 非保留 | | `FILTER` | 保留 | 保留 | | `FINAL` | 非保留 | 非保留 | | `FIRST` | 非保留 | 非保留 | 非保留 | 保留 | | `FIRST_VALUE` | 保留 | 保留 | | `FLAG` | 非保留 | 非保留 | | `FLOAT` | 非保留(不能是函数或类型) | 保留 | 保留 | 保留 | | `FLOOR` | 保留 | 保留 | | `FOLLOWING` | 非保留 | 非保留 | 非保留 | | `FOR` | 保留 | 保留 | 保留 | 保留 | | `FORCE` | 非保留 | | `FOREIGN` | 保留 | 保留 | 保留 | 保留 | | `FORTRAN` | 非保留 | 非保留 | 非保留 | | `FORWARD` | 非保留 | | `FOUND` | 非保留 | 非保留 | 保留 | | `FRAME_ROW` | 保留 | | `FREE` | 保留 | 保留 | | `FREEZE` | 保留(可以是函数或类型) | | `FROM` | 保留 | 保留 | 保留 | 保留 | | `FS` | 非保留 | 非保留 | | `FULL` | 保留(可以是函数或类型) | 保留 | 保留 | 保留 | | `FUNCTION` | 非保留 | 保留 | 保留 | | `FUNCTIONS` | 非保留 | | `FUSION` | 保留 | 保留 | | `G` | 非保留 | 非保留 | | `GENERAL` | 非保留 | 非保留 | | `GENERATED` | 非保留 | 非保留 | | `GET` | 保留 | 保留 | 保留 | | `GLOBAL` | 非保留 | 保留 | 保留 | 保留 | | `GO` | 非保留 | 非保留 | 保留 | | `GOTO` | 非保留 | 非保留 | 保留 | | `GRANT` | 保留 | 保留 | 保留 | 保留 | | `GRANTED` | 非保留 | 非保留 | 非保留 | | `GREATEST` | 非保留(不能是函数或类型) | | `GROUP` | 保留 | 保留 | 保留 | 保留 | | `GROUPING` | 保留 | 保留 | | `GROUPS` | 保留 | | `HANDLER` | 非保留 | | `HAVING` | 保留 | 保留 | 保留 | 保留 | | `HEADER` | 非保留 | | `HEX` | 非保留 | 非保留 | | `HIERARCHY` | 非保留 | 非保留 | | `HOLD` | 非保留 | 保留 | 保留 | | `HOUR` | 非保留 | 保留 | 保留 | 保留 | | `ID` | 非保留 | 非保留 | | `IDENTITY` | 非保留 | 保留 | 保留 | 保留 | | `IF` | 非保留 | | `IGNORE` | 非保留 | 非保留 | | `ILIKE` | 保留(可以是函数或类型) | | `IMMEDIATE` | 非保留 | 非保留 | 非保留 | 保留 | | `IMMEDIATELY` | 非保留 | | `IMMUTABLE` | 非保留 | | `IMPLEMENTATION` | 非保留 | 非保留 | | `IMPLICIT` | 非保留 | | `IMPORT` | 保留 | 保留 | | `IN` | 保留 | 保留 | 保留 | 保留 | | `INCLUDING` | 非保留 | 非保留 | 非保留 | | `INCREMENT` | 非保留 | 非保留 | 非保留 | | `INDENT` | 非保留 | 非保留 | | `INDEX` | 非保留 | | `INDEXES` | 非保留 | | `INDICATOR` | 保留 | 保留 | 保留 | | `INHERIT` | 非保留 | | `INHERITS` | 非保留 | | `INITIALLY` | 保留 | 非保留 | 非保留 | 保留 | | `INLINE` | 非保留 | | `INNER` | 保留(可以是函数或类型) | 保留 | 保留 | 保留 | | `INOUT` | 非保留(不能是函数或类型) | 保留 | 保留 | | `INPUT` | 非保留 | 非保留 | 非保留 | 保留 | | `INSENSITIVE` | 非保留 | 保留 | 保留 | 保留 | | `INSERT` | 非保留 | 保留 | 保留 | 保留 | | `INSTANCE` | 非保留 | 非保留 | | `INSTANTIABLE` | 非保留 | 非保留 | | `INSTEAD` | 非保留 | 非保留 | 非保留 | | `INT` | 非保留(不能是函数或类型) | 保留 | 保留 | 保留 | | `INTEGER` | 非保留(不能是函数或类型) | 保留 | 保留 | 保留 | | `INTEGRITY` | 非保留 | 非保留 | | `INTERSECT` | 保留 | 保留 | 保留 | 保留 | | `INTERSECTION` | 保留 | 保留 | | `INTERVAL` | 非保留(不能是函数或类型) | 保留 | 保留 | 保留 | | `INTO` | 保留 | 保留 | 保留 | 保留 | | `INVOKER` | 非保留 | 非保留 | 非保留 | | `IS` | 保留(可以是函数或类型) | 保留 | 保留 | 保留 | | `ISNULL` | 保留(可以是函数或类型) | | `ISOLATION` | 非保留 | 非保留 | 非保留 | 保留 | | `JOIN` | 保留(可以是函数或类型) | 保留 | 保留 | 保留 | | `K` | 非保留 | 非保留 | | `KEY` | 非保留 | 非保留 | 非保留 | 保留 | | `KEY_MEMBER` | 非保留 | 非保留 | | `KEY_TYPE` | 非保留 | 非保留 | | `LABEL` | 非保留 | | `LAG` | 保留 | 保留 | | `LANGUAGE` | 非保留 | 保留 | 保留 | 保留 | | `LARGE` | 非保留 | 保留 | 保留 | | `LAST` | 非保留 | 非保留 | 非保留 | 保留 | | `LAST_VALUE` | 保留 | 保留 | | `LATERAL` | 保留 | 保留 | 保留 | | `LC_COLLATE` | 非保留 | | `LC_CTYPE` | 非保留 | | `LEAD` | 保留 | 保留 | | `LEADING` | 保留 | 保留 | 保留 | 保留 | | `LEAKPROOF` | 非保留 | | `LEAST` | 非保留(不能是函数或类型) | | `LEFT` | 保留(不能是函数或类型) | 保留 | 保留 | 保留 | | `LENGTH` | 非保留 | 非保留 | 非保留 | | `LEVEL` | 非保留 | 非保留 | 非保留 | 保留 | | `LIBRARY` | 非保留 | 非保留 | | `LIKE` | 保留(可以是函数或类型) | 保留 | 保留 | 保留 | | `LIKE_REGEX` | 保留 | 保留 | | `LIMIT` | 保留 | 非保留 | 非保留 | | `LINK` | 非保留 | 非保留 | | `LISTEN` | 非保留 | | `LN` | 保留 | 保留 | | `LOAD` | 非保留 | | `LOCAL` | 非保留 | 保留 | 保留 | 保留 | | `LOCALTIME` | 保留 | 保留 | 保留 | | `LOCALTIMESTAMP` | 保留 | 保留 | 保留 | | `LOCATION` | 非保留 | 非保留 | 非保留 | | `LOCATOR` | 非保留 | 非保留 | | `LOCK` | 非保留 | | `LOWER` | 保留 | 保留 | 保留 | | `M` | 非保留 | 非保留 | | `MAP` | 非保留 | 非保留 | | `MAPPING` | 非保留 | 非保留 | 非保留 | | `MATCH` | 非保留 | 保留 | 保留 | 保留 | | `MATCHED` | 非保留 | 非保留 | | `MATERIALIZED` | 非保留 | | `MAX` | 保留 | 保留 | 保留 | | `MAXVALUE` | 非保留 | 非保留 | 非保留 | | `MAX_CARDINALITY` | 保留 | | `MEMBER` | 保留 | 保留 | | `MERGE` | 保留 | 保留 | | `MESSAGE_LENGTH` | 非保留 | 非保留 | 非保留 | | `MESSAGE_OCTET_LENGTH` | 非保留 | 非保留 | 非保留 | | `MESSAGE_TEXT` | 非保留 | 非保留 | 非保留 | | `METHOD` | 保留 | 保留 | | `MIN` | 保留 | 保留 | 保留 | | `MINUTE` | 非保留 | 保留 | 保留 | 保留 | | `MINVALUE` | 非保留 | 非保留 | 非保留 | | `MOD` | 保留 | 保留 | | `MODE` | 非保留 | | `MODIFIES` | 保留 | 保留 | | `MODULE` | 保留 | 保留 | 保留 | | `MONTH` | 非保留 | 保留 | 保留 | 保留 | | `MORE` | 非保留 | 非保留 | 非保留 | | `MOVE` | 非保留 | | `MULTISET` | 保留 | 保留 | | `MUMPS` | 非保留 | 非保留 | 非保留 | | `NAME` | 非保留 | 非保留 | 非保留 | 非保留 | | `NAMES` | 非保留 | 非保留 | 非保留 | 保留 | | `NAMESPACE` | 非保留 | 非保留 | | `NATIONAL` | 非保留(不能是函数或类型) | 保留 | 保留 | 保留 | | `NATURAL` | 保留(可以是函数或类型) | 保留 | 保留 | 保留 | | `NCHAR` | 非保留(不能是函数或类型) | 保留 | 保留 | 保留 | | `NCLOB` | 保留 | 保留 | | `NESTING` | 非保留 | 非保留 | | `NEW` | 保留 | 保留 | | `NEXT` | 非保留 | 非保留 | 非保留 | 保留 | | `NFC` | 非保留 | 非保留 | | `NFD` | 非保留 | 非保留 | | `NFKC` | 非保留 | 非保留 | | `NFKD` | 非保留 | 非保留 | | `NIL` | 非保留 | 非保留 | | `NO` | 非保留 | 保留 | 保留 | 保留 | | `NONE` | 非保留(不能是函数或类型) | 保留 | 保留 | | `NORMALIZE` | 保留 | 保留 | | `NORMALIZED` | 非保留 | 非保留 | | `NOT` | 保留 | 保留 | 保留 | 保留 | | `NOTHING` | 非保留 | | `NOTIFY` | 非保留 | | `NOTNULL` | 保留(可以是函数或类型) | | `NOWAIT` | 非保留 | | `NTH_VALUE` | 保留 | 保留 | | `NTILE` | 保留 | 保留 | | `NULL` | 保留 | 保留 | 保留 | 保留 | | `NULLABLE` | 非保留 | 非保留 | 非保留 | | `NULLIF` | 非保留(不能是函数或类型) | 保留 | 保留 | 保留 | | `NULLS` | 非保留 | 非保留 | 非保留 | | `NUMBER` | 非保留 | 非保留 | 非保留 | | `NUMERIC` | 非保留(不能是函数或类型) | 保留 | 保留 | 保留 | | `OBJECT` | 非保留 | 非保留 | 非保留 | | `OCCURRENCES_REGEX` | 保留 | 保留 | | `OCTETS` | 非保留 | 非保留 | | `OCTET_LENGTH` | 保留 | 保留 | 保留 | | `OF` | 非保留 | 保留 | 保留 | 保留 | | `OFF` | 非保留 | 非保留 | 非保留 | | `OFFSET` | 保留 | 保留 | 保留 | | `OIDS` | 非保留 | | `OLD` | 保留 | 保留 | | `ON` | 保留 | 保留 | 保留 | 保留 | | `ONLY` | 保留 | 保留 | 保留 | 保留 | | `OPEN` | 保留 | 保留 | 保留 | | `OPERATOR` | 非保留 | | `OPTION` | 非保留 | 非保留 | 非保留 | 保留 | | `OPTIONS` | 非保留 | 非保留 | 非保留 | | `OR` | 保留 | 保留 | 保留 | 保留 | | `ORDER` | 保留 | 保留 | 保留 | 保留 | | `ORDERING` | 非保留 | 非保留 | | `ORDINALITY` | 非保留 | 非保留 | | `OTHERS` | 非保留 | 非保留 | | `OUT` | 非保留(不能是函数或类型) | 保留 | 保留 | | `OUTER` | 保留(可以是函数或类型) | 保留 | 保留 | 保留 | | `OUTPUT` | 非保留 | 非保留 | 保留 | | `OVER` | 保留(可以是函数或类型) | 保留 | 保留 | | `OVERLAPS` | 保留(可以是函数或类型) | 保留 | 保留 | 保留 | | `OVERLAY` | 非保留(不能是函数或类型) | 保留 | 保留 | | `OVERRIDING` | 非保留 | 非保留 | | `OWNED` | 非保留 | | `OWNER` | 非保留 | | `P` | 非保留 | 非保留 | | `PAD` | 非保留 | 非保留 | 保留 | | `PARAMETER` | 保留 | 保留 | | `PARAMETER_MODE` | 非保留 | 非保留 | | `PARAMETER_NAME` | 非保留 | 非保留 | | `PARAMETER_ORDINAL_POSITION` | 非保留 | 非保留 | | `PARAMETER_SPECIFIC_CATALOG` | 非保留 | 非保留 | | `PARAMETER_SPECIFIC_NAME` | 非保留 | 非保留 | | `PARAMETER_SPECIFIC_SCHEMA` | 非保留 | 非保留 | | `PARSER` | 非保留 | | `PARTIAL` | 非保留 | 非保留 | 非保留 | 保留 | | `PARTITION` | 非保留 | 保留 | 保留 | | `PASCAL` | 非保留 | 非保留 | 非保留 | | `PASSING` | 非保留 | 非保留 | 非保留 | | `PASSTHROUGH` | 非保留 | 非保留 | | `PASSWORD` | 非保留 | | `PATH` | 非保留 | 非保留 | | `PERCENT` | 保留 | | `PERCENTILE_CONT` | 保留 | 保留 | | `PERCENTILE_DISC` | 保留 | 保留 | | `PERCENT_RANK` | 保留 | 保留 | | `PERIOD` | 保留 | | `PERMISSION` | 非保留 | 非保留 | | `PLACING` | 保留 | 非保留 | 非保留 | | `PLANS` | 非保留 | | `PLI` | 非保留 | 非保留 | 非保留 | | `PORTION` | 保留 | | `POSITION` | 非保留(不能是函数或类型) | 保留 | 保留 | 保留 | | `POSITION_REGEX` | 保留 | 保留 | | `POWER` | 保留 | 保留 | | `PRECEDES` | 保留 | | `PRECEDING` | 非保留 | 非保留 | 非保留 | | `PRECISION` | 非保留(不能是函数或类型) | 保留 | 保留 | 保留 | | `PREPARE` | 非保留 | 保留 | 保留 | 保留 | | `PREPARED` | 非保留 | | `PRESERVE` | 非保留 | 非保留 | 非保留 | 保留 | | `PRIMARY` | 保留 | 保留 | 保留 | 保留 | | `PRIOR` | 非保留 | 非保留 | 非保留 | 保留 | | `PRIVILEGES` | 非保留 | 非保留 | 非保留 | 保留 | | `PROCEDURAL` | 非保留 | | `PROCEDURE` | 非保留 | 保留 | 保留 | 保留 | | `PROGRAM` | 非保留 | | `PUBLIC` | 非保留 | 非保留 | 保留 | | `QUOTE` | 非保留 | | `RANGE` | 非保留 | 保留 | 保留 | | `RANK` | 保留 | 保留 | | `READ` | 非保留 | 非保留 | 非保留 | 保留 | | `READS` | 保留 | 保留 | | `REAL` | 非保留(不能是函数或类型) | 保留 | 保留 | 保留 | | `REASSIGN` | 非保留 | | `RECHECK` | 非保留 | | `RECOVERY` | 非保留 | 非保留 | | `RECURSIVE` | 非保留 | 保留 | 保留 | | `REF` | 非保留 | 保留 | 保留 | | `REFERENCES` | 保留 | 保留 | 保留 | 保留 | | `REFERENCING` | 保留 | 保留 | | `REFRESH` | 非保留 | | `REGR_AVGX` | 保留 | 保留 | | `REGR_AVGY` | 保留 | 保留 | | `REGR_COUNT` | 保留 | 保留 | | `REGR_INTERCEPT` | 保留 | 保留 | | `REGR_R2` | 保留 | 保留 | | `REGR_SLOPE` | 保留 | 保留 | | `REGR_SXX` | 保留 | 保留 | | `REGR_SXY` | 保留 | 保留 | | `REGR_SYY` | 保留 | 保留 | | `REINDEX` | 非保留 | | `RELATIVE` | 非保留 | 非保留 | 非保留 | 保留 | | `RELEASE` | 非保留 | 保留 | 保留 | | `RENAME` | 非保留 | | `REPEATABLE` | 非保留 | 非保留 | 非保留 | 非保留 | | `REPLACE` | 非保留 | | `REPLICA` | 非保留 | | `REQUIRING` | 非保留 | 非保留 | | `RESET` | 非保留 | | `RESPECT` | 非保留 | 非保留 | | `RESTART` | 非保留 | 非保留 | 非保留 | | `RESTORE` | 非保留 | 非保留 | | `RESTRICT` | 非保留 | 非保留 | 非保留 | 保留 | | `RESULT` | 保留 | 保留 | | `RETURN` | 保留 | 保留 | | `RETURNED_CARDINALITY` | 保留 | 保留 | | `RETURNED_LENGTH` | 非保留 | 非保留 | 非保留 | | `RETURNED_OCTET_LENGTH` | 非保留 | 非保留 | 非保留 | | `RETURNED_SQLSTATE` | 非保留 | 非保留 | 非保留 | | `RETURNING` | 保留 | 非保留 | 非保留 | | `RETURNS` | 非保留 | 保留 | 保留 | | `REVOKE` | 非保留 | 保留 | 保留 | 保留 | | `RIGHT` | 保留(可以是函数或类型) | 保留 | 保留 | 保留 | | `ROLE` | 非保留 | 非保留 | 非保留 | | `ROLLBACK` | 非保留 | 保留 | 保留 | 保留 | | `ROLLUP` | 保留 | 保留 | | `ROUTINE` | 非保留 | 非保留 | | `ROUTINE_CATALOG` | 非保留 | 非保留 | | `ROUTINE_NAME` | 非保留 | 非保留 | | `ROUTINE_SCHEMA` | 非保留 | 非保留 | | `ROW` | 非保留(不能是函数或类型) | 保留 | 保留 | | `ROWS` | 非保留 | 保留 | 保留 | 保留 | | `ROW_COUNT` | 非保留 | 非保留 | 非保留 | | `ROW_NUMBER` | 保留 | 保留 | | `RULE` | 非保留 | | `SAVEPOINT` | 非保留 | 保留 | 保留 | | `SCALE` | 非保留 | 非保留 | 非保留 | | `SCHEMA` | 非保留 | 非保留 | 非保留 | 保留 | | `SCHEMA_NAME` | 非保留 | 非保留 | 非保留 | | `SCOPE` | 保留 | 保留 | | `SCOPE_CATALOG` | 非保留 | 非保留 | | `SCOPE_NAME` | 非保留 | 非保留 | | `SCOPE_SCHEMA` | 非保留 | 非保留 | | `SCROLL` | 非保留 | 保留 | 保留 | 保留 | | `SEARCH` | 非保留 | 保留 | 保留 | | `SECOND` | 非保留 | 保留 | 保留 | 保留 | | `SECTION` | 非保留 | 非保留 | 保留 | | `SECURITY` | 非保留 | 非保留 | 非保留 | | `SELECT` | 保留 | 保留 | 保留 | 保留 | | `SELECTIVE` | 非保留 | 非保留 | | `SELF` | 非保留 | 非保留 | | `SENSITIVE` | 保留 | 保留 | | `SEQUENCE` | 非保留 | 非保留 | 非保留 | | `SEQUENCES` | 非保留 | | `SERIALIZABLE` | 非保留 | 非保留 | 非保留 | 非保留 | | `SERVER` | 非保留 | 非保留 | 非保留 | | `SERVER_NAME` | 非保留 | 非保留 | 非保留 | | `SESSION` | 非保留 | 非保留 | 非保留 | 保留 | | `SESSION_USER` | 保留 | 保留 | 保留 | 保留 | | `SET` | 非保留 | 保留 | 保留 | 保留 | | `SETOF` | 非保留(不能是函数或类型) | | `SETS` | 非保留 | 非保留 | | `SHARE` | 非保留 | | `SHOW` | 非保留 | | `SIMILAR` | 保留(可以是函数或类型) | 保留 | 保留 | | `SIMPLE` | 非保留 | 非保留 | 非保留 | | `SIZE` | 非保留 | 非保留 | 保留 | | `SMALLINT` | 非保留(不能是函数或类型) | 保留 | 保留 | 保留 | | `SNAPSHOT` | 非保留 | | `SOME` | 保留 | 保留 | 保留 | 保留 | | `SOURCE` | 非保留 | 非保留 | | `SPACE` | 非保留 | 非保留 | 保留 | | `SPECIFIC` | 保留 | 保留 | | `SPECIFICTYPE` | 保留 | 保留 | | `SPECIFIC_NAME` | 非保留 | 非保留 | | `SQL` | 保留 | 保留 | 保留 | | `SQLCODE` | 保留 | | `SQLERROR` | 保留 | | `SQLEXCEPTION` | 保留 | 保留 | | `SQLSTATE` | 保留 | 保留 | 保留 | | `SQLWARNING` | 保留 | 保留 | | `SQRT` | 保留 | 保留 | | `STABLE` | 非保留 | | `STANDALONE` | 非保留 | 非保留 | 非保留 | | `START` | 非保留 | 保留 | 保留 | | `STATE` | 非保留 | 非保留 | | `STATEMENT` | 非保留 | 非保留 | 非保留 | | `STATIC` | 保留 | 保留 | | `STATISTICS` | 非保留 | | `STDDEV_POP` | 保留 | 保留 | | `STDDEV_SAMP` | 保留 | 保留 | | `STDIN` | 非保留 | | `STDOUT` | 非保留 | | `STORAGE` | 非保留 | | `STRICT` | 非保留 | | `STRIP` | 非保留 | 非保留 | 非保留 | | `STRUCTURE` | 非保留 | 非保留 | | `STYLE` | 非保留 | 非保留 | | `SUBCLASS_ORIGIN` | 非保留 | 非保留 | 非保留 | | `SUBMULTISET` | 保留 | 保留 | | `SUBSTRING` | 非保留(不能是函数或类型) | 保留 | 保留 | 保留 | | `SUBSTRING_REGEX` | 保留 | 保留 | | `SUCCEEDS` | 保留 | | `SUM` | 保留 | 保留 | 保留 | | `SYMMETRIC` | 保留 | 保留 | 保留 | | `SYSID` | 非保留 | | `SYSTEM` | 非保留 | 保留 | 保留 | | `SYSTEM_TIME` | 保留 | | `SYSTEM_USER` | 保留 | 保留 | 保留 | | `T` | 非保留 | 非保留 | | `TABLE` | 保留 | 保留 | 保留 | 保留 | | `TABLES` | 非保留 | | `TABLESAMPLE` | 保留 | 保留 | | `TABLESPACE` | 非保留 | | `TABLE_NAME` | 非保留 | 非保留 | 非保留 | | `TEMP` | 非保留 | | `TEMPLATE` | 非保留 | | `TEMPORARY` | 非保留 | 非保留 | 非保留 | 保留 | | `TEXT` | 非保留 | | `THEN` | 保留 | 保留 | 保留 | 保留 | | `TIES` | 非保留 | 非保留 | | `TIME` | 非保留(不能是函数或类型) | 保留 | 保留 | 保留 | | `TIMESTAMP` | 非保留(不能是函数或类型) | 保留 | 保留 | 保留 | | `TIMEZONE_HOUR` | 保留 | 保留 | 保留 | | `TIMEZONE_MINUTE` | 保留 | 保留 | 保留 | | `TO` | 保留 | 保留 | 保留 | 保留 | | `TOKEN` | 非保留 | 非保留 | | `TOP_LEVEL_COUNT` | 非保留 | 非保留 | | `TRAILING` | 保留 | 保留 | 保留 | 保留 | | `TRANSACTION` | 非保留 | 非保留 | 非保留 | 保留 | | `TRANSACTIONS_COMMITTED` | 非保留 | 非保留 | | `TRANSACTIONS_ROLLED_BACK` | 非保留 | 非保留 | | `TRANSACTION_ACTIVE` | 非保留 | 非保留 | | `TRANSFORM` | 非保留 | 非保留 | | `TRANSFORMS` | 非保留 | 非保留 | | `TRANSLATE` | 保留 | 保留 | 保留 | | `TRANSLATE_REGEX` | 保留 | 保留 | | `TRANSLATION` | 保留 | 保留 | 保留 | | `TREAT` | 非保留(不能是函数或类型) | 保留 | 保留 | | `TRIGGER` | 非保留 | 保留 | 保留 | | `TRIGGER_CATALOG` | 非保留 | 非保留 | | `TRIGGER_NAME` | 非保留 | 非保留 | | `TRIGGER_SCHEMA` | 非保留 | 非保留 | | `TRIM` | 非保留(不能是函数或类型) | 保留 | 保留 | 保留 | | `TRIM_ARRAY` | 保留 | 保留 | | `TRUE` | 保留 | 保留 | 保留 | 保留 | | `TRUNCATE` | 非保留 | 保留 | 保留 | | `TRUSTED` | 非保留 | | `TYPE` | 非保留 | 非保留 | 非保留 | 非保留 | | `TYPES` | 非保留 | | `UESCAPE` | 保留 | 保留 | | `UNBOUNDED` | 非保留 | 非保留 | 非保留 | | `UNCOMMITTED` | 非保留 | 非保留 | 非保留 | 非保留 | | `UNDER` | 非保留 | 非保留 | | `UNENCRYPTED` | 非保留 | | `UNION` | 保留 | 保留 | 保留 | 保留 | | `UNIQUE` | 保留 | 保留 | 保留 | 保留 | | `UNKNOWN` | 非保留 | 保留 | 保留 | 保留 | | `UNLINK` | 非保留 | 非保留 | | `UNLISTEN` | 非保留 | | `UNLOGGED` | 非保留 | | `UNNAMED` | 非保留 | 非保留 | 非保留 | | `UNNEST` | 保留 | 保留 | | `UNTIL` | 非保留 | | `UNTYPED` | 非保留 | 非保留 | | `UPDATE` | 非保留 | 保留 | 保留 | 保留 | | `UPPER` | 保留 | 保留 | 保留 | | `URI` | 非保留 | 非保留 | | `USAGE` | 非保留 | 非保留 | 保留 | | `USER` | 保留 | 保留 | 保留 | 保留 | | `USER_DEFINED_TYPE_CATALOG` | 非保留 | 非保留 | | `USER_DEFINED_TYPE_CODE` | 非保留 | 非保留 | | `USER_DEFINED_TYPE_NAME` | 非保留 | 非保留 | | `USER_DEFINED_TYPE_SCHEMA` | 非保留 | 非保留 | | `USING` | 保留 | 保留 | 保留 | 保留 | | `VACUUM` | 非保留 | | `VALID` | 非保留 | 非保留 | 非保留 | | `VALIDATE` | 非保留 | | `VALIDATOR` | 非保留 | | `VALUE` | 非保留 | 保留 | 保留 | 保留 | | `VALUES` | 非保留(不能是函数或类型) | 保留 | 保留 | 保留 | | `VALUE_OF` | 保留 | | `VARBINARY` | 保留 | 保留 | | `VARCHAR` | 非保留(不能是函数或类型) | 保留 | 保留 | 保留 | | `VARIADIC` | 保留 | | `VARYING` | 非保留 | 保留 | 保留 | 保留 | | `VAR_POP` | 保留 | 保留 | | `VAR_SAMP` | 保留 | 保留 | | `VERBOSE` | 保留(不能是函数或类型) | | `VERSION` | 非保留 | 非保留 | 非保留 | | `VERSIONING` | 保留 | | `VIEW` | 非保留 | 非保留 | 非保留 | 保留 | | `VOLATILE` | 非保留 | | `WHEN` | 保留 | 保留 | 保留 | 保留 | | `WHENEVER` | 保留 | 保留 | 保留 | | `WHERE` | 保留 | 保留 | 保留 | 保留 | | `WHITESPACE` | 非保留 | 非保留 | 非保留 | | `WIDTH_BUCKET` | 保留 | 保留 | | `WINDOW` | 保留 | 保留 | 保留 | | `WITH` | 保留 | 保留 | 保留 | 保留 | | `WITHIN` | 保留 | 保留 | | `WITHOUT` | 非保留 | 保留 | 保留 | | `WORK` | 非保留 | 非保留 | 非保留 | 保留 | | `WRAPPER` | 非保留 | 非保留 | 非保留 | | `WRITE` | 非保留 | 非保留 | 非保留 | 保留 | | `XML` | 非保留 | 保留 | 保留 | | `XMLAGG` | 保留 | 保留 | | `XMLATTRIBUTES` | 非保留(不能是函数或类型) | 保留 | 保留 | | `XMLBINARY` | 保留 | 保留 | | `XMLCAST` | 保留 | 保留 | | `XMLCOMMENT` | 保留 | 保留 | | `XMLCONCAT` | 非保留(不能是函数或类型) | 保留 | 保留 | | `XMLDECLARATION` | 非保留 | 非保留 | | `XMLDOCUMENT` | 保留 | 保留 | | `XMLELEMENT` | 非保留(不能是函数或类型) | 保留 | 保留 | | `XMLEXISTS` | 非保留(不能是函数或类型) | 保留 | 保留 | | `XMLFOREST` | 非保留(不能是函数或类型) | 保留 | 保留 | | `XMLITERATE` | 保留 | 保留 | | `XMLNAMESPACES` | 保留 | 保留 | | `XMLPARSE` | 非保留(不能是函数或类型) | 保留 | 保留 | | `XMLPI` | 非保留(不能是函数或类型) | 保留 | 保留 | | `XMLQUERY` | 保留 | 保留 | | `XMLROOT` | 非保留(不能是函数或类型) | | `XMLSCHEMA` | 非保留 | 非保留 | | `XMLSERIALIZE` | 非保留(不能是函数或类型) | 保留 | 保留 | | `XMLTABLE` | 保留 | 保留 | | `XMLTEXT` | 保留 | 保留 | | `XMLVALIDATE` | 保留 | 保留 | | `YEAR` | 非保留 | 保留 | 保留 | 保留 | | `YES` | 非保留 | 非保留 | 非保留 | | `ZONE` | 非保留 | 非保留 | 非保留 | 保留 |