↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
测试与开发版本: 19 / devel
不受支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
历史版本PostgreSQL 7.4 已于 2010 年 10 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本。

附录 C. SQL 关键字

表 C.1 列出了在 SQL 标准以及 PostgreSQL 7.4.30 中被视为关键字的所有词元。背景信息可参见 第 4.1.1 节。

SQL 区分保留关键字和非保留关键字。根据标准,保留关键字才是真正的关键字,它们绝不允许作为标识符使用。非保留关键字只在特定上下文中具有特殊含义,在其他上下文中则可以作为标识符使用。大多数非保留关键字实际上是 SQL 规定的内置表和内置函数名称。非保留关键字这一概念,本质上只是为了声明某个词在某些上下文中附带了预定义含义。

在PostgreSQL解析器中,情况要更复杂一些。这里的词元分属若干不同类别,从绝不能用作标识符的词元,到在解析器中完全没有特殊地位、只是被当作普通标识符处理的词元都有。(后一类通常就是 SQL 规定的函数名。)即使是保留关键字,在PostgreSQL中也不是绝对保留的,它们仍然可以用作列标签(例如SELECT 55 AS CHECK,尽管CHECK是一个保留关键字)。

在表 C.1中PostgreSQL 一列里,我们把解析器明确识别、但在大多数或所有期望出现标识符的上下文中都允许使用的那些关键字归类为“非保留”。某些原本属于非保留的关键字不能用作函数名或数据类型名,因此会相应地加以标记。(这类词大多表示具有特殊语法的内置函数或数据类型。函数或类型本身仍然可用,只是不能由用户重新定义。)标记为“保留”的是那些只允许用作“AS”列标签名(也许还有极少数其他上下文)的词元。有些保留关键字还允许用作函数名;这一点也会在表中给出。

一般来说,如果你在某条命令中把这里列出的关键字当作标识符使用,并因此遇到意外的解析器错误,应尝试为该标识符加上引号,看看问题是否消失。

在研读表 C.1之前,有一点非常重要:某个关键字在PostgreSQL中不被保留,并不意味着与该词相关的特性尚未实现;反过来,某个关键字的存在也不意味着相应特性一定存在。

表 C.1. SQL 关键字

关键字 PostgreSQL SQL 99 SQL 92
ABORT 非保留    
ABS   非保留  
ABSOLUTE 非保留 保留 保留
ACCESS 非保留    
ACTION 非保留 保留 保留
ADA   非保留 非保留
ADD 非保留 保留 保留
ADMIN   保留  
AFTER 非保留 保留  
AGGREGATE 非保留 保留  
ALIAS   保留  
ALL 保留 保留 保留
ALLOCATE   保留 保留
ALTER 非保留 保留 保留
ANALYSE 保留    
ANALYZE 保留    
AND 保留 保留 保留
ANY 保留 保留 保留
ARE   保留 保留
ARRAY 保留 保留  
AS 保留 保留 保留
ASC 保留 保留 保留
ASENSITIVE   非保留  
ASSERTION 非保留 保留 保留
ASSIGNMENT 非保留 非保留  
ASYMMETRIC   非保留  
AT 非保留 保留 保留
ATOMIC   非保留  
AUTHORIZATION 保留(可用作函数) 保留 保留
AVG   非保留 保留
BACKWARD 非保留    
BEFORE 非保留 保留  
BEGIN 非保留 保留 保留
BETWEEN 保留(可用作函数) 非保留 保留
BIGINT 非保留(不可用作函数或类型名)    
BINARY 保留(可用作函数) 保留  
BIT 非保留(不可用作函数或类型名) 保留 保留
BITVAR   非保留  
BIT_LENGTH   非保留 保留
BLOB   保留  
BOOLEAN 非保留(不可用作函数或类型名) 保留  
BOTH 保留 保留 保留
BREADTH   保留  
BY 非保留 保留 保留
C   非保留 非保留
CACHE 非保留    
CALL   保留  
CALLED 非保留 非保留  
CARDINALITY   非保留  
CASCADE 非保留 保留 保留
CASCADED   保留 保留
CASE 保留 保留 保留
CAST 保留 保留 保留
CATALOG   保留 保留
CATALOG_NAME   非保留 非保留
CHAIN 非保留 非保留  
CHAR 非保留(不可用作函数或类型名) 保留 保留
CHARACTER 非保留(不可用作函数或类型名) 保留 保留
CHARACTERISTICS 非保留    
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   非保留 非保留
COLUMN 保留 保留 保留
COLUMN_NAME   非保留 非保留
COMMAND_FUNCTION   非保留 非保留
COMMAND_FUNCTION_CODE   非保留  
COMMENT 非保留    
COMMIT 非保留 保留 保留
COMMITTED 非保留 非保留 非保留
COMPLETION   保留  
CONDITION_NUMBER   非保留 非保留
CONNECT   保留 保留
CONNECTION   保留 保留
CONNECTION_NAME   非保留 非保留
CONSTRAINT 保留 保留 保留
CONSTRAINTS 非保留 保留 保留
CONSTRAINT_CATALOG   非保留 非保留
CONSTRAINT_NAME   非保留 非保留
CONSTRAINT_SCHEMA   非保留 非保留
CONSTRUCTOR   保留  
CONTAINS   非保留  
CONTINUE   保留 保留
CONVERSION 非保留    
CONVERT 非保留(不可用作函数或类型名) 非保留 保留
COPY 非保留    
CORRESPONDING   保留 保留
COUNT   非保留 保留
CREATE 保留 保留 保留
CREATEDB 非保留    
CREATEUSER 非保留    
CROSS 保留(可用作函数) 保留 保留
CUBE   保留  
CURRENT   保留 保留
CURRENT_DATE 保留 保留 保留
CURRENT_PATH   保留  
CURRENT_ROLE   保留  
CURRENT_TIME 保留 保留 保留
CURRENT_TIMESTAMP 保留 保留 保留
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 非保留 非保留  
DELETE 非保留 保留 保留
DELIMITER 非保留    
DELIMITERS 非保留    
DEPTH   保留  
DEREF   保留  
DESC 保留 保留 保留
DESCRIBE   保留 保留
DESCRIPTOR   保留 保留
DESTROY   保留  
DESTRUCTOR   保留  
DETERMINISTIC   保留  
DIAGNOSTICS   保留 保留
DICTIONARY   保留  
DISCONNECT   保留 保留
DISPATCH   非保留  
DISTINCT 保留 保留 保留
DO 保留    
DOMAIN 非保留 保留 保留
DOUBLE 非保留 保留 保留
DROP 非保留 保留 保留
DYNAMIC   保留  
DYNAMIC_FUNCTION   非保留 非保留
DYNAMIC_FUNCTION_CODE   非保留  
EACH 非保留 保留  
ELSE 保留 保留 保留
ENCODING 非保留    
ENCRYPTED 非保留    
END 保留 保留 保留
END-EXEC   保留 保留
EQUALS   保留  
ESCAPE 非保留 保留 保留
EVERY   保留  
EXCEPT 保留 保留 保留
EXCEPTION   保留 保留
EXCLUDING 非保留    
EXCLUSIVE 非保留    
EXEC   保留 保留
EXECUTE 非保留 保留 保留
EXISTING   非保留  
EXISTS 非保留(不可用作函数或类型名) 非保留 保留
EXPLAIN 非保留    
EXTERNAL 非保留 保留 保留
EXTRACT 非保留(不可用作函数或类型名) 非保留 保留
FALSE 保留 保留 保留
FETCH 非保留 保留 保留
FINAL   非保留  
FIRST 非保留 保留 保留
FLOAT 非保留(不可用作函数或类型名) 保留 保留
FOR 保留 保留 保留
FORCE 非保留    
FOREIGN 保留 保留 保留
FORTRAN   非保留 非保留
FORWARD 非保留    
FOUND   保留 保留
FREE   保留  
FREEZE 保留(可用作函数)    
FROM 保留 保留 保留
FULL 保留(可用作函数) 保留 保留
FUNCTION 非保留 保留  
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 非保留 保留 保留
INSTANCE   非保留  
INSTANTIABLE   非保留  
INSTEAD 非保留    
INT 非保留(不可用作函数或类型名) 保留 保留
INTEGER 非保留(不可用作函数或类型名) 保留 保留
INTERSECT 保留 保留 保留
INTERVAL 非保留(不可用作函数或类型名) 保留 保留
INTO 保留 保留 保留
INVOKER 非保留 非保留  
IS 保留(可用作函数) 保留 保留
ISNULL 保留(可用作函数)    
ISOLATION 非保留 保留 保留
ITERATE   保留  
JOIN 保留(可用作函数) 保留 保留
K   非保留  
KEY 非保留 保留 保留
KEY_MEMBER   非保留  
KEY_TYPE   非保留  
LANCOMPILER 非保留    
LANGUAGE 非保留 保留 保留
LARGE   保留  
LAST 非保留 保留 保留
LATERAL   保留  
LEADING 保留 保留 保留
LEFT 保留(可用作函数) 保留 保留
LENGTH   非保留 非保留
LESS   保留  
LEVEL 非保留 保留 保留
LIKE 保留(可用作函数) 保留 保留
LIMIT 保留 保留  
LISTEN 非保留    
LOAD 非保留    
LOCAL 非保留 保留 保留
LOCALTIME 保留 保留  
LOCALTIMESTAMP 保留 保留  
LOCATION 非保留    
LOCATOR   保留  
LOCK 非保留    
LOWER   非保留 保留
M   非保留  
MAP   保留  
MATCH 非保留 保留 保留
MAX   非保留 保留
MAXVALUE 非保留    
MESSAGE_LENGTH   非保留 非保留
MESSAGE_OCTET_LENGTH   非保留 非保留
MESSAGE_TEXT   非保留 非保留
METHOD   非保留  
MIN   非保留 保留
MINUTE 非保留 保留 保留
MINVALUE 非保留    
MOD   非保留  
MODE 非保留    
MODIFIES   保留  
MODIFY   保留  
MODULE   保留 保留
MONTH 非保留 保留 保留
MORE   非保留 非保留
MOVE 非保留    
MUMPS   非保留 非保留
NAME   非保留 非保留
NAMES 非保留 保留 保留
NATIONAL 非保留 保留 保留
NATURAL 保留(可用作函数) 保留 保留
NCHAR 非保留(不可用作函数或类型名) 保留 保留
NCLOB   保留  
NEW 保留 保留  
NEXT 非保留 保留 保留
NO 非保留 保留 保留
NOCREATEDB 非保留    
NOCREATEUSER 非保留    
NONE 非保留(不可用作函数或类型名) 保留  
NOT 保留 保留 保留
NOTHING 非保留    
NOTIFY 非保留    
NOTNULL 保留(可用作函数)    
NULL 保留 保留 保留
NULLABLE   非保留 非保留
NULLIF 非保留(不可用作函数或类型名) 非保留 保留
NUMBER   非保留 非保留
NUMERIC 非保留(不可用作函数或类型名) 保留 保留
OBJECT   保留  
OCTET_LENGTH   非保留 保留
OF 非保留 保留 保留
OFF 保留 保留  
OFFSET 保留    
OIDS 非保留    
OLD 保留 保留  
ON 保留 保留 保留
ONLY 保留 保留 保留
OPEN   保留 保留
OPERATION   保留  
OPERATOR 非保留    
OPTION 非保留 保留 保留
OPTIONS   非保留  
OR 保留 保留 保留
ORDER 保留 保留 保留
ORDINALITY   保留  
OUT 非保留 保留  
OUTER 保留(可用作函数) 保留 保留
OUTPUT   保留 保留
OVERLAPS 保留(可用作函数) 非保留 保留
OVERLAY 非保留(不可用作函数或类型名) 非保留  
OVERRIDING   非保留  
OWNER 非保留    
PAD   保留 保留
PARAMETER   保留  
PARAMETERS   保留  
PARAMETER_MODE   非保留  
PARAMETER_NAME   非保留  
PARAMETER_ORDINAL_POSITION   非保留  
PARAMETER_SPECIFIC_CATALOG   非保留  
PARAMETER_SPECIFIC_NAME   非保留  
PARAMETER_SPECIFIC_SCHEMA   非保留  
PARTIAL 非保留 保留 保留
PASCAL   非保留 非保留
PASSWORD 非保留    
PATH 非保留 保留  
PENDANT 非保留    
PLACING 保留    
PLI   非保留 非保留
POSITION 非保留(不可用作函数或类型名) 非保留 保留
POSTFIX   保留  
PRECISION 非保留 保留 保留
PREFIX   保留  
PREORDER   保留  
PREPARE 非保留 保留 保留
PRESERVE 非保留 保留 保留
PRIMARY 保留 保留 保留
PRIOR 非保留 保留 保留
PRIVILEGES 非保留 保留 保留
PROCEDURAL 非保留    
PROCEDURE 非保留 保留 保留
PUBLIC   保留 保留
READ 非保留 保留 保留
READS   保留  
REAL 非保留(不可用作函数或类型名) 保留 保留
RECHECK 非保留    
RECURSIVE   保留  
REF   保留  
REFERENCES 保留 保留 保留
REFERENCING   保留  
REINDEX 非保留    
RELATIVE 非保留 保留 保留
RENAME 非保留    
REPEATABLE   非保留 非保留
REPLACE 非保留    
RESET 非保留    
RESTART 非保留    
RESTRICT 非保留 保留 保留
RESULT   保留  
RETURN   保留  
RETURNED_LENGTH   非保留 非保留
RETURNED_OCTET_LENGTH   非保留 非保留
RETURNED_SQLSTATE   非保留 非保留
RETURNS 非保留 保留  
REVOKE 非保留 保留 保留
RIGHT 保留(可用作函数) 保留 保留
ROLE   保留  
ROLLBACK 非保留 保留 保留
ROLLUP   保留  
ROUTINE   保留  
ROUTINE_CATALOG   非保留  
ROUTINE_NAME   非保留  
ROUTINE_SCHEMA   非保留  
ROW 非保留(不可用作函数或类型名) 保留  
ROWS 非保留 保留 保留
ROW_COUNT   非保留 非保留
RULE 非保留    
SAVEPOINT   保留  
SCALE   非保留 非保留
SCHEMA 非保留 保留 保留
SCHEMA_NAME   非保留 非保留
SCOPE   保留  
SCROLL 非保留 保留 保留
SEARCH   保留  
SECOND 非保留 保留 保留
SECTION   保留 保留
SECURITY 非保留 非保留  
SELECT 保留 保留 保留
SELF   非保留  
SENSITIVE   非保留  
SEQUENCE 非保留 保留  
SERIALIZABLE 非保留 非保留 非保留
SERVER_NAME   非保留 非保留
SESSION 非保留 保留 保留
SESSION_USER 保留 保留 保留
SET 非保留 保留 保留
SETOF 非保留(不可用作函数或类型名)    
SETS   保留  
SHARE 非保留    
SHOW 非保留    
SIMILAR 保留(可用作函数) 非保留  
SIMPLE 非保留 非保留  
SIZE   保留 保留
SMALLINT 非保留(不可用作函数或类型名) 保留 保留
SOME 保留 保留 保留
SOURCE   非保留  
SPACE   保留 保留
SPECIFIC   保留  
SPECIFICTYPE   保留  
SPECIFIC_NAME   非保留  
SQL   保留 保留
SQLCODE     保留
SQLERROR     保留
SQLEXCEPTION   保留  
SQLSTATE   保留 保留
SQLWARNING   保留  
STABLE 非保留    
START 非保留 保留  
STATE   保留  
STATEMENT 非保留 保留  
STATIC   保留  
STATISTICS 非保留    
STDIN 非保留    
STDOUT 非保留    
STORAGE 非保留    
STRICT 非保留    
STRUCTURE   保留  
STYLE   非保留  
SUBCLASS_ORIGIN   非保留 非保留
SUBLIST   非保留  
SUBSTRING 非保留(不可用作函数或类型名) 非保留 保留
SUM   非保留 保留
SYMMETRIC   非保留  
SYSID 非保留    
SYSTEM   非保留  
SYSTEM_USER   保留 保留
TABLE 保留 保留 保留
TABLE_NAME   非保留 非保留
TEMP 非保留    
TEMPLATE 非保留    
TEMPORARY 非保留 保留 保留
TERMINATE   保留  
THAN   保留  
THEN 保留 保留 保留
TIME 非保留(不可用作函数或类型名) 保留 保留
TIMESTAMP 非保留(不可用作函数或类型名) 保留 保留
TIMEZONE_HOUR   保留 保留
TIMEZONE_MINUTE   保留 保留
TO 保留 保留 保留
TOAST 非保留    
TRAILING 保留 保留 保留
TRANSACTION 非保留 保留 保留
TRANSACTIONS_COMMITTED   非保留  
TRANSACTIONS_ROLLED_BACK   非保留  
TRANSACTION_ACTIVE   非保留  
TRANSFORM   非保留  
TRANSFORMS   非保留  
TRANSLATE   非保留 保留
TRANSLATION   保留 保留
TREAT 非保留(不可用作函数或类型名) 保留  
TRIGGER 非保留 保留  
TRIGGER_CATALOG   非保留  
TRIGGER_NAME   非保留  
TRIGGER_SCHEMA   非保留  
TRIM 非保留(不可用作函数或类型名) 非保留 保留
TRUE 保留 保留 保留
TRUNCATE 非保留    
TRUSTED 非保留    
TYPE 非保留 非保留 非保留
UNCOMMITTED   非保留 非保留
UNDER   保留  
UNENCRYPTED 非保留    
UNION 保留 保留 保留
UNIQUE 保留 保留 保留
UNKNOWN 非保留 保留 保留
UNLISTEN 非保留    
UNNAMED   非保留 非保留
UNNEST   保留  
UNTIL 非保留    
UPDATE 非保留 保留 保留
UPPER   非保留 保留
USAGE 非保留 保留 保留
USER 保留 保留 保留
USER_DEFINED_TYPE_CATALOG   非保留  
USER_DEFINED_TYPE_NAME   非保留  
USER_DEFINED_TYPE_SCHEMA   非保留  
USING 保留 保留 保留
VACUUM 非保留    
VALID 非保留    
VALIDATOR 非保留    
VALUE   保留 保留
VALUES 非保留 保留 保留
VARCHAR 非保留(不可用作函数或类型名) 保留 保留
VARIABLE   保留  
VARYING 非保留 保留 保留
VERBOSE 保留(可用作函数)    
VERSION 非保留    
VIEW 非保留 保留 保留
VOLATILE 非保留    
WHEN 保留 保留 保留
WHENEVER   保留 保留
WHERE 保留 保留 保留
WITH 非保留 保留 保留
WITHOUT 非保留 保留  
WORK 非保留 保留 保留
WRITE 非保留 保留 保留
YEAR 非保留 保留 保留
ZONE 非保留 保留 保留

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。