Supported Versions: Current (17) / 16 / 15 / 14 / 13
Development Versions: devel
Unsupported versions: 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
This documentation is for an unsupported version of PostgreSQL.
You may want to view the same page for the current version, or one of the other supported versions listed above instead.

Appendix C. SQL Key Words

Table C-1 lists all tokens that are key words in the SQL standard and in PostgreSQL 8.4.22. Background information can be found in Section 4.1.1.

SQL distinguishes between reserved and non-reserved key words. According to the standard, reserved key words are the only real key words; they are never allowed as identifiers. Non-reserved key words only have a special meaning in particular contexts and can be used as identifiers in other contexts. Most non-reserved key words are actually the names of built-in tables and functions specified by SQL. The concept of non-reserved key words essentially only exists to declare that some predefined meaning is attached to a word in some contexts.

In the PostgreSQL parser life is a bit more complicated. There are several different classes of tokens ranging from those that can never be used as an identifier to those that have absolutely no special status in the parser as compared to an ordinary identifier. (The latter is usually the case for functions specified by SQL.) Even reserved key words are not completely reserved in PostgreSQL, but can be used as column labels (for example, SELECT 55 AS CHECK, even though CHECK is a reserved key word).

In Table C-1 in the column for PostgreSQL we classify as "non-reserved" those key words that are explicitly known to the parser but are allowed as column or table names. Some key words that are otherwise non-reserved cannot be used as function or data type names and are marked accordingly. (Most of these words represent built-in functions or data types with special syntax. The function or type is still available but it cannot be redefined by the user.) Labeled "reserved" are those tokens that are not allowed as column or table names. Some reserved key words are allowable as names for functions or data types; this is also shown in the table. If not so marked, a reserved key word is only allowed as an "AS" column label name.

As a general rule, if you get spurious parser errors for commands that contain any of the listed key words as an identifier you should try to quote the identifier to see if the problem goes away.

It is important to understand before studying Table C-1 that the fact that a key word is not reserved in PostgreSQL does not mean that the feature related to the word is not implemented. Conversely, the presence of a key word does not indicate the existence of a feature.

Table C-1. SQL Key Words

Key Word PostgreSQL SQL:2008 SQL:2003 SQL:1999 SQL-92
A   non-reserved non-reserved    
ABORT non-reserved        
ABS   reserved reserved non-reserved  
ABSENT   non-reserved      
ABSOLUTE non-reserved non-reserved non-reserved reserved reserved
ACCESS non-reserved        
ACCORDING   non-reserved      
ACTION non-reserved non-reserved non-reserved reserved reserved
ADA   non-reserved non-reserved non-reserved non-reserved
ADD non-reserved non-reserved non-reserved reserved reserved
ADMIN non-reserved non-reserved non-reserved reserved  
AFTER non-reserved non-reserved non-reserved reserved  
AGGREGATE non-reserved     reserved  
ALIAS       reserved  
ALL reserved reserved reserved reserved reserved
ALLOCATE   reserved reserved reserved reserved
ALSO non-reserved        
ALTER non-reserved reserved reserved reserved reserved
ALWAYS non-reserved non-reserved non-reserved    
ANALYSE reserved        
ANALYZE reserved        
AND reserved reserved reserved reserved reserved
ANY reserved reserved reserved reserved reserved
ARE   reserved reserved reserved reserved
ARRAY reserved reserved reserved reserved  
ARRAY_AGG   reserved      
AS reserved reserved reserved reserved reserved
ASC reserved non-reserved non-reserved reserved reserved
ASENSITIVE   reserved reserved non-reserved  
ASSERTION non-reserved non-reserved non-reserved reserved reserved
ASSIGNMENT non-reserved non-reserved non-reserved non-reserved  
ASYMMETRIC reserved reserved reserved non-reserved  
AT non-reserved reserved reserved reserved reserved
ATOMIC   reserved reserved non-reserved  
ATTRIBUTE   non-reserved non-reserved    
ATTRIBUTES   non-reserved non-reserved    
AUTHORIZATION reserved (can be function or type) reserved reserved reserved reserved
AVG   reserved reserved non-reserved reserved
BACKWARD non-reserved        
BASE64   non-reserved non-reserved    
BEFORE non-reserved non-reserved non-reserved reserved  
BEGIN non-reserved reserved reserved reserved reserved
BERNOULLI   non-reserved non-reserved    
BETWEEN reserved (can be function or type) reserved reserved non-reserved reserved
BIGINT non-reserved (cannot be function or type) reserved reserved    
BINARY reserved (can be function or type) reserved reserved reserved  
BIT non-reserved (cannot be function or type)     reserved reserved
BITVAR       non-reserved  
BIT_LENGTH       non-reserved reserved
BLOB   reserved reserved reserved  
BOM   non-reserved      
BOOLEAN non-reserved (cannot be function or type) reserved reserved reserved  
BOTH reserved reserved reserved reserved reserved
BREADTH   non-reserved non-reserved reserved  
BY non-reserved reserved reserved reserved reserved
C   non-reserved non-reserved non-reserved non-reserved
CACHE non-reserved        
CALL   reserved reserved reserved  
CALLED non-reserved reserved reserved non-reserved  
CARDINALITY   reserved reserved non-reserved  
CASCADE non-reserved non-reserved non-reserved reserved reserved
CASCADED non-reserved reserved reserved reserved reserved
CASE reserved reserved reserved reserved reserved
CAST reserved reserved reserved reserved reserved
CATALOG non-reserved non-reserved non-reserved reserved reserved
CATALOG_NAME   non-reserved non-reserved non-reserved non-reserved
CEIL   reserved reserved    
CEILING   reserved reserved    
CHAIN non-reserved non-reserved non-reserved non-reserved  
CHAR non-reserved (cannot be function or type) reserved reserved reserved reserved
CHARACTER non-reserved (cannot be function or type) reserved reserved reserved reserved
CHARACTERISTICS non-reserved non-reserved non-reserved    
CHARACTERS   non-reserved non-reserved    
CHARACTER_LENGTH   reserved reserved non-reserved reserved
CHARACTER_SET_CATALOG   non-reserved non-reserved non-reserved non-reserved
CHARACTER_SET_NAME   non-reserved non-reserved non-reserved non-reserved
CHARACTER_SET_SCHEMA   non-reserved non-reserved non-reserved non-reserved
CHAR_LENGTH   reserved reserved non-reserved reserved
CHECK reserved reserved reserved reserved reserved
CHECKED       non-reserved  
CHECKPOINT non-reserved        
CLASS non-reserved     reserved  
CLASS_ORIGIN   non-reserved non-reserved non-reserved non-reserved
CLOB   reserved reserved reserved  
CLOSE non-reserved reserved reserved reserved reserved
CLUSTER non-reserved        
COALESCE non-reserved (cannot be function or type) reserved reserved non-reserved reserved
COBOL   non-reserved non-reserved non-reserved non-reserved
COLLATE reserved reserved reserved reserved reserved
COLLATION   non-reserved non-reserved reserved reserved
COLLATION_CATALOG   non-reserved non-reserved non-reserved non-reserved
COLLATION_NAME   non-reserved non-reserved non-reserved non-reserved
COLLATION_SCHEMA   non-reserved non-reserved non-reserved non-reserved
COLLECT   reserved reserved    
COLUMN reserved reserved reserved reserved reserved
COLUMNS   non-reserved      
COLUMN_NAME   non-reserved non-reserved non-reserved non-reserved
COMMAND_FUNCTION   non-reserved non-reserved non-reserved non-reserved
COMMAND_FUNCTION_CODE   non-reserved non-reserved non-reserved  
COMMENT non-reserved        
COMMIT non-reserved reserved reserved reserved reserved
COMMITTED non-reserved non-reserved non-reserved non-reserved non-reserved
COMPLETION       reserved  
CONCURRENTLY non-reserved        
CONDITION   reserved reserved    
CONDITION_NUMBER   non-reserved non-reserved non-reserved non-reserved
CONFIGURATION non-reserved        
CONNECT   reserved reserved reserved reserved
CONNECTION non-reserved non-reserved non-reserved reserved reserved
CONNECTION_NAME   non-reserved non-reserved non-reserved non-reserved
CONSTRAINT reserved reserved reserved reserved reserved
CONSTRAINTS non-reserved non-reserved non-reserved reserved reserved
CONSTRAINT_CATALOG   non-reserved non-reserved non-reserved non-reserved
CONSTRAINT_NAME   non-reserved non-reserved non-reserved non-reserved
CONSTRAINT_SCHEMA   non-reserved non-reserved non-reserved non-reserved
CONSTRUCTOR   non-reserved non-reserved reserved  
CONTAINS   non-reserved non-reserved non-reserved  
CONTENT non-reserved non-reserved non-reserved    
CONTINUE non-reserved non-reserved non-reserved reserved reserved
CONVERSION non-reserved        
CONVERT   reserved reserved non-reserved reserved
COPY non-reserved        
CORR   reserved reserved    
CORRESPONDING   reserved reserved reserved reserved
COST non-reserved        
COUNT   reserved reserved non-reserved reserved
COVAR_POP   reserved reserved    
COVAR_SAMP   reserved reserved    
CREATE reserved reserved reserved reserved reserved
CREATEDB non-reserved        
CREATEROLE non-reserved        
CREATEUSER non-reserved        
CROSS reserved (can be function or type) reserved reserved reserved reserved
CSV non-reserved        
CUBE   reserved reserved reserved  
CUME_DIST   reserved reserved    
CURRENT non-reserved reserved reserved reserved reserved
CURRENT_CATALOG reserved reserved      
CURRENT_DATE reserved reserved reserved reserved reserved
CURRENT_DEFAULT_TRANSFORM_GROUP   reserved reserved    
CURRENT_PATH   reserved reserved reserved  
CURRENT_ROLE reserved reserved reserved reserved  
CURRENT_SCHEMA reserved (can be function or type) reserved      
CURRENT_TIME reserved reserved reserved reserved reserved
CURRENT_TIMESTAMP reserved reserved reserved reserved reserved
CURRENT_TRANSFORM_GROUP_FOR_TYPE   reserved reserved    
CURRENT_USER reserved reserved reserved reserved reserved
CURSOR non-reserved reserved reserved reserved reserved
CURSOR_NAME   non-reserved non-reserved non-reserved non-reserved
CYCLE non-reserved reserved reserved reserved  
DATA non-reserved non-reserved non-reserved reserved non-reserved
DATABASE non-reserved        
DATE   reserved reserved reserved reserved
DATETIME_INTERVAL_CODE   non-reserved non-reserved non-reserved non-reserved
DATETIME_INTERVAL_PRECISION   non-reserved non-reserved non-reserved non-reserved
DAY non-reserved reserved reserved reserved reserved
DEALLOCATE non-reserved reserved reserved reserved reserved
DEC non-reserved (cannot be function or type) reserved reserved reserved reserved
DECIMAL non-reserved (cannot be function or type) reserved reserved reserved reserved
DECLARE non-reserved reserved reserved reserved reserved
DEFAULT reserved reserved reserved reserved reserved
DEFAULTS non-reserved non-reserved non-reserved    
DEFERRABLE reserved non-reserved non-reserved reserved reserved
DEFERRED non-reserved non-reserved non-reserved reserved reserved
DEFINED   non-reserved non-reserved non-reserved  
DEFINER non-reserved non-reserved non-reserved non-reserved  
DEGREE   non-reserved non-reserved    
DELETE non-reserved reserved reserved reserved reserved
DELIMITER non-reserved        
DELIMITERS non-reserved        
DENSE_RANK   reserved reserved    
DEPTH   non-reserved non-reserved reserved  
DEREF   reserved reserved reserved  
DERIVED   non-reserved non-reserved    
DESC reserved non-reserved non-reserved reserved reserved
DESCRIBE   reserved reserved reserved reserved
DESCRIPTOR   non-reserved non-reserved reserved reserved
DESTROY       reserved  
DESTRUCTOR       reserved  
DETERMINISTIC   reserved reserved reserved  
DIAGNOSTICS   non-reserved non-reserved reserved reserved
DICTIONARY non-reserved     reserved  
DISABLE non-reserved        
DISCARD non-reserved        
DISCONNECT   reserved reserved reserved reserved
DISPATCH   non-reserved non-reserved non-reserved  
DISTINCT reserved reserved reserved reserved reserved
DO reserved        
DOCUMENT non-reserved non-reserved non-reserved    
DOMAIN non-reserved non-reserved non-reserved reserved reserved
DOUBLE non-reserved reserved reserved reserved reserved
DROP non-reserved reserved reserved reserved reserved
DYNAMIC   reserved reserved reserved  
DYNAMIC_FUNCTION   non-reserved non-reserved non-reserved non-reserved
DYNAMIC_FUNCTION_CODE   non-reserved non-reserved non-reserved  
EACH non-reserved reserved reserved reserved  
ELEMENT   reserved reserved    
ELSE reserved reserved reserved reserved reserved
EMPTY   non-reserved      
ENABLE non-reserved        
ENCODING non-reserved non-reserved      
ENCRYPTED non-reserved        
END reserved reserved reserved reserved reserved
END-EXEC   reserved reserved reserved reserved
ENUM non-reserved        
EQUALS   non-reserved non-reserved reserved  
ESCAPE non-reserved reserved reserved reserved reserved
EVERY   reserved reserved reserved  
EXCEPT reserved reserved reserved reserved reserved
EXCEPTION     non-reserved reserved reserved
EXCLUDE   non-reserved non-reserved    
EXCLUDING non-reserved non-reserved non-reserved    
EXCLUSIVE non-reserved        
EXEC   reserved reserved reserved reserved
EXECUTE non-reserved reserved reserved reserved reserved
EXISTING       non-reserved  
EXISTS non-reserved (cannot be function or type) reserved reserved non-reserved reserved
EXP   reserved reserved    
EXPLAIN non-reserved        
EXTERNAL non-reserved reserved reserved reserved reserved
EXTRACT non-reserved (cannot be function or type) reserved reserved non-reserved reserved
FALSE reserved reserved reserved reserved reserved
FAMILY non-reserved        
FETCH reserved reserved reserved reserved reserved
FILTER   reserved reserved    
FINAL   non-reserved non-reserved non-reserved  
FIRST non-reserved non-reserved non-reserved reserved reserved
FIRST_VALUE   reserved      
FLAG   non-reserved      
FLOAT non-reserved (cannot be function or type) reserved reserved reserved reserved
FLOOR   reserved reserved    
FOLLOWING   non-reserved non-reserved    
FOR reserved reserved reserved reserved reserved
FORCE non-reserved        
FOREIGN reserved reserved reserved reserved reserved
FORTRAN   non-reserved non-reserved non-reserved non-reserved
FORWARD non-reserved        
FOUND   non-reserved non-reserved reserved reserved
FREE   reserved reserved reserved  
FREEZE reserved (can be function or type)        
FROM reserved reserved reserved reserved reserved
FULL reserved (can be function or type) reserved reserved reserved reserved
FUNCTION non-reserved reserved reserved reserved  
FUSION   reserved reserved    
G   non-reserved non-reserved non-reserved  
GENERAL   non-reserved non-reserved reserved  
GENERATED   non-reserved non-reserved non-reserved  
GET   reserved reserved reserved reserved
GLOBAL non-reserved reserved reserved reserved reserved
GO   non-reserved non-reserved reserved reserved
GOTO   non-reserved non-reserved reserved reserved
GRANT reserved reserved reserved reserved reserved
GRANTED non-reserved non-reserved non-reserved non-reserved  
GREATEST non-reserved (cannot be function or type)        
GROUP reserved reserved reserved reserved reserved
GROUPING   reserved reserved reserved  
HANDLER non-reserved        
HAVING reserved reserved reserved reserved reserved
HEADER non-reserved        
HEX   non-reserved non-reserved    
HIERARCHY   non-reserved non-reserved non-reserved  
HOLD non-reserved reserved reserved non-reserved  
HOST       reserved  
HOUR non-reserved reserved reserved reserved reserved
ID   non-reserved      
IDENTITY non-reserved reserved reserved reserved reserved
IF non-reserved        
IGNORE   non-reserved   reserved  
ILIKE reserved (can be function or type)        
IMMEDIATE non-reserved non-reserved non-reserved reserved reserved
IMMUTABLE non-reserved        
IMPLEMENTATION   non-reserved non-reserved non-reserved  
IMPLICIT non-reserved        
IN reserved reserved reserved reserved reserved
INCLUDING non-reserved non-reserved non-reserved    
INCREMENT non-reserved non-reserved non-reserved    
INDENT   non-reserved      
INDEX non-reserved        
INDEXES non-reserved        
INDICATOR   reserved reserved reserved reserved
INFIX       non-reserved  
INHERIT non-reserved        
INHERITS non-reserved        
INITIALIZE       reserved  
INITIALLY reserved non-reserved non-reserved reserved reserved
INNER reserved (can be function or type) reserved reserved reserved reserved
INOUT non-reserved (cannot be function or type) reserved reserved reserved  
INPUT non-reserved non-reserved non-reserved reserved reserved
INSENSITIVE non-reserved reserved reserved non-reserved reserved
INSERT non-reserved reserved reserved reserved reserved
INSTANCE   non-reserved non-reserved non-reserved  
INSTANTIABLE   non-reserved non-reserved non-reserved  
INSTEAD non-reserved non-reserved      
INT non-reserved (cannot be function or type) reserved reserved reserved reserved
INTEGER non-reserved (cannot be function or type) reserved reserved reserved reserved
INTERSECT reserved reserved reserved reserved reserved
INTERSECTION   reserved reserved    
INTERVAL non-reserved (cannot be function or type) reserved reserved reserved reserved
INTO reserved reserved reserved reserved reserved
INVOKER non-reserved non-reserved non-reserved non-reserved  
IS reserved (can be function or type) reserved reserved reserved reserved
ISNULL reserved (can be function or type)        
ISOLATION non-reserved non-reserved non-reserved reserved reserved
ITERATE       reserved  
JOIN reserved (can be function or type) reserved reserved reserved reserved
K   non-reserved non-reserved non-reserved  
KEY non-reserved non-reserved non-reserved reserved reserved
KEY_MEMBER   non-reserved non-reserved non-reserved  
KEY_TYPE   non-reserved non-reserved non-reserved  
LAG   reserved      
LANCOMPILER non-reserved        
LANGUAGE non-reserved reserved reserved reserved reserved
LARGE non-reserved reserved reserved reserved  
LAST non-reserved non-reserved non-reserved reserved reserved
LAST_VALUE   reserved      
LATERAL   reserved reserved reserved  
LC_COLLATE non-reserved        
LC_CTYPE non-reserved        
LEAD   reserved      
LEADING reserved reserved reserved reserved reserved
LEAST non-reserved (cannot be function or type)        
LEFT reserved (can be function or type) reserved reserved reserved reserved
LENGTH   non-reserved non-reserved non-reserved non-reserved
LESS       reserved  
LEVEL non-reserved non-reserved non-reserved reserved reserved
LIKE reserved (can be function or type) reserved reserved reserved reserved
LIKE_REGEX   reserved      
LIMIT reserved     reserved  
LISTEN non-reserved        
LN   reserved reserved    
LOAD non-reserved        
LOCAL non-reserved reserved reserved reserved reserved
LOCALTIME reserved reserved reserved reserved  
LOCALTIMESTAMP reserved reserved reserved reserved  
LOCATION non-reserved non-reserved      
LOCATOR   non-reserved non-reserved reserved  
LOCK non-reserved        
LOGIN non-reserved        
LOWER   reserved reserved non-reserved reserved
M   non-reserved non-reserved non-reserved  
MAP   non-reserved non-reserved reserved  
MAPPING non-reserved non-reserved non-reserved    
MATCH non-reserved reserved reserved reserved reserved
MATCHED   non-reserved non-reserved    
MAX   reserved reserved non-reserved reserved
MAXVALUE non-reserved non-reserved non-reserved    
MAX_CARDINALITY   reserved      
MEMBER   reserved reserved    
MERGE   reserved reserved    
MESSAGE_LENGTH   non-reserved non-reserved non-reserved non-reserved
MESSAGE_OCTET_LENGTH   non-reserved non-reserved non-reserved non-reserved
MESSAGE_TEXT   non-reserved non-reserved non-reserved non-reserved
METHOD   reserved reserved non-reserved  
MIN   reserved reserved non-reserved reserved
MINUTE non-reserved reserved reserved reserved reserved
MINVALUE non-reserved non-reserved non-reserved    
MOD   reserved reserved non-reserved  
MODE non-reserved        
MODIFIES   reserved reserved reserved  
MODIFY       reserved  
MODULE   reserved reserved reserved reserved
MONTH non-reserved reserved reserved reserved reserved
MORE   non-reserved non-reserved non-reserved non-reserved
MOVE non-reserved        
MULTISET   reserved reserved    
MUMPS   non-reserved non-reserved non-reserved non-reserved
NAME non-reserved non-reserved non-reserved non-reserved non-reserved
NAMES non-reserved non-reserved non-reserved reserved reserved
NAMESPACE   non-reserved      
NATIONAL non-reserved (cannot be function or type) reserved reserved reserved reserved
NATURAL reserved (can be function or type) reserved reserved reserved reserved
NCHAR non-reserved (cannot be function or type) reserved reserved reserved reserved
NCLOB   reserved reserved reserved  
NESTING   non-reserved non-reserved    
NEW reserved reserved reserved reserved  
NEXT non-reserved non-reserved non-reserved reserved reserved
NFC   non-reserved      
NFD   non-reserved      
NFKC   non-reserved      
NFKD   non-reserved      
NIL   non-reserved      
NO non-reserved reserved reserved reserved reserved
NOCREATEDB non-reserved        
NOCREATEROLE non-reserved        
NOCREATEUSER non-reserved        
NOINHERIT non-reserved        
NOLOGIN non-reserved        
NONE non-reserved (cannot be function or type) reserved reserved reserved  
NORMALIZE   reserved reserved    
NORMALIZED   non-reserved non-reserved    
NOSUPERUSER non-reserved        
NOT reserved reserved reserved reserved reserved
NOTHING non-reserved        
NOTIFY non-reserved        
NOTNULL reserved (can be function or type)        
NOWAIT non-reserved        
NTH_VALUE   reserved      
NTILE   reserved      
NULL reserved reserved reserved reserved reserved
NULLABLE   non-reserved non-reserved non-reserved non-reserved
NULLIF non-reserved (cannot be function or type) reserved reserved non-reserved reserved
NULLS non-reserved non-reserved non-reserved    
NUMBER   non-reserved non-reserved non-reserved non-reserved
NUMERIC non-reserved (cannot be function or type) reserved reserved reserved reserved
OBJECT non-reserved non-reserved non-reserved reserved  
OCCURRENCES_REGEX   reserved      
OCTETS   non-reserved non-reserved    
OCTET_LENGTH   reserved reserved non-reserved reserved
OF non-reserved reserved reserved reserved reserved
OFF reserved     reserved  
OFFSET reserved reserved      
OIDS non-reserved        
OLD reserved reserved reserved reserved  
ON reserved reserved reserved reserved reserved
ONLY reserved reserved reserved reserved reserved
OPEN   reserved reserved reserved reserved
OPERATION       reserved  
OPERATOR non-reserved        
OPTION non-reserved non-reserved non-reserved reserved reserved
OPTIONS non-reserved non-reserved non-reserved non-reserved  
OR reserved reserved reserved reserved reserved
ORDER reserved reserved reserved reserved reserved
ORDERING   non-reserved non-reserved    
ORDINALITY   non-reserved non-reserved reserved  
OTHERS   non-reserved non-reserved    
OUT non-reserved (cannot be function or type) reserved reserved reserved  
OUTER reserved (can be function or type) reserved reserved reserved reserved
OUTPUT   non-reserved non-reserved reserved reserved
OVER reserved (can be function or type) reserved reserved    
OVERLAPS reserved (can be function or type) reserved reserved non-reserved reserved
OVERLAY non-reserved (cannot be function or type) reserved reserved non-reserved  
OVERRIDING   non-reserved non-reserved non-reserved  
OWNED non-reserved        
OWNER non-reserved        
P   non-reserved      
PAD   non-reserved non-reserved reserved reserved
PARAMETER   reserved reserved reserved  
PARAMETERS       reserved  
PARAMETER_MODE   non-reserved non-reserved non-reserved  
PARAMETER_NAME   non-reserved non-reserved non-reserved  
PARAMETER_ORDINAL_POSITION   non-reserved non-reserved non-reserved  
PARAMETER_SPECIFIC_CATALOG   non-reserved non-reserved non-reserved  
PARAMETER_SPECIFIC_NAME   non-reserved non-reserved non-reserved  
PARAMETER_SPECIFIC_SCHEMA   non-reserved non-reserved non-reserved  
PARSER non-reserved        
PARTIAL non-reserved non-reserved non-reserved reserved reserved
PARTITION   reserved reserved    
PASCAL   non-reserved non-reserved non-reserved non-reserved
PASSING   non-reserved      
PASSWORD non-reserved        
PATH   non-reserved non-reserved reserved  
PERCENTILE_CONT   reserved reserved    
PERCENTILE_DISC   reserved reserved    
PERCENT_RANK   reserved reserved    
PLACING reserved non-reserved non-reserved    
PLANS non-reserved        
PLI   non-reserved non-reserved non-reserved non-reserved
POSITION non-reserved (cannot be function or type) reserved reserved non-reserved reserved
POSITION_REGEX   reserved      
POSTFIX       reserved  
POWER   reserved reserved    
PRECEDING   non-reserved non-reserved    
PRECISION non-reserved (cannot be function or type) reserved reserved reserved reserved
PREFIX       reserved  
PREORDER       reserved  
PREPARE non-reserved reserved reserved reserved reserved
PREPARED non-reserved        
PRESERVE non-reserved non-reserved non-reserved reserved reserved
PRIMARY reserved reserved reserved reserved reserved
PRIOR non-reserved non-reserved non-reserved reserved reserved
PRIVILEGES non-reserved non-reserved non-reserved reserved reserved
PROCEDURAL non-reserved        
PROCEDURE non-reserved reserved reserved reserved reserved
PUBLIC   non-reserved non-reserved reserved reserved
QUOTE non-reserved        
RANGE   reserved reserved    
RANK   reserved reserved    
READ non-reserved non-reserved non-reserved reserved reserved
READS   reserved reserved reserved  
REAL non-reserved (cannot be function or type) reserved reserved reserved reserved
REASSIGN non-reserved        
RECHECK non-reserved        
RECURSIVE non-reserved reserved reserved reserved  
REF   reserved reserved reserved  
REFERENCES reserved reserved reserved reserved reserved
REFERENCING   reserved reserved reserved  
REGR_AVGX   reserved reserved    
REGR_AVGY   reserved reserved    
REGR_COUNT   reserved reserved    
REGR_INTERCEPT   reserved reserved    
REGR_R2   reserved reserved    
REGR_SLOPE   reserved reserved    
REGR_SXX   reserved reserved    
REGR_SXY   reserved reserved    
REGR_SYY   reserved reserved    
REINDEX non-reserved        
RELATIVE non-reserved non-reserved non-reserved reserved reserved
RELEASE non-reserved reserved reserved    
RENAME non-reserved        
REPEATABLE non-reserved non-reserved non-reserved non-reserved non-reserved
REPLACE non-reserved        
REPLICA non-reserved        
RESET non-reserved        
RESPECT   non-reserved      
RESTART non-reserved non-reserved non-reserved    
RESTRICT non-reserved non-reserved non-reserved reserved reserved
RESULT   reserved reserved reserved  
RETURN   reserved reserved reserved  
RETURNED_CARDINALITY   non-reserved non-reserved    
RETURNED_LENGTH   non-reserved non-reserved non-reserved non-reserved
RETURNED_OCTET_LENGTH   non-reserved non-reserved non-reserved non-reserved
RETURNED_SQLSTATE   non-reserved non-reserved non-reserved non-reserved
RETURNING reserved non-reserved      
RETURNS non-reserved reserved reserved reserved  
REVOKE non-reserved reserved reserved reserved reserved
RIGHT reserved (can be function or type) reserved reserved reserved reserved
ROLE non-reserved non-reserved non-reserved reserved  
ROLLBACK non-reserved reserved reserved reserved reserved
ROLLUP   reserved reserved reserved  
ROUTINE   non-reserved non-reserved reserved  
ROUTINE_CATALOG   non-reserved non-reserved non-reserved  
ROUTINE_NAME   non-reserved non-reserved non-reserved  
ROUTINE_SCHEMA   non-reserved non-reserved non-reserved  
ROW non-reserved (cannot be function or type) reserved reserved reserved  
ROWS non-reserved reserved reserved reserved reserved
ROW_COUNT   non-reserved non-reserved non-reserved non-reserved
ROW_NUMBER   reserved reserved    
RULE non-reserved        
SAVEPOINT non-reserved reserved reserved reserved  
SCALE   non-reserved non-reserved non-reserved non-reserved
SCHEMA non-reserved non-reserved non-reserved reserved reserved
SCHEMA_NAME   non-reserved non-reserved non-reserved non-reserved
SCOPE   reserved reserved reserved  
SCOPE_CATALOG   non-reserved non-reserved    
SCOPE_NAME   non-reserved non-reserved    
SCOPE_SCHEMA   non-reserved non-reserved    
SCROLL non-reserved reserved reserved reserved reserved
SEARCH non-reserved reserved reserved reserved  
SECOND non-reserved reserved reserved reserved reserved
SECTION   non-reserved non-reserved reserved reserved
SECURITY non-reserved non-reserved non-reserved non-reserved  
SELECT reserved reserved reserved reserved reserved
SELF   non-reserved non-reserved non-reserved  
SENSITIVE   reserved reserved non-reserved  
SEQUENCE non-reserved non-reserved non-reserved reserved  
SERIALIZABLE non-reserved non-reserved non-reserved non-reserved non-reserved
SERVER non-reserved non-reserved non-reserved    
SERVER_NAME   non-reserved non-reserved non-reserved non-reserved
SESSION non-reserved non-reserved non-reserved reserved reserved
SESSION_USER reserved reserved reserved reserved reserved
SET non-reserved reserved reserved reserved reserved
SETOF non-reserved (cannot be function or type)        
SETS   non-reserved non-reserved reserved  
SHARE non-reserved        
SHOW non-reserved        
SIMILAR reserved (can be function or type) reserved reserved non-reserved  
SIMPLE non-reserved non-reserved non-reserved non-reserved  
SIZE   non-reserved non-reserved reserved reserved
SMALLINT non-reserved (cannot be function or type) reserved reserved reserved reserved
SOME reserved reserved reserved reserved reserved
SOURCE   non-reserved non-reserved non-reserved  
SPACE   non-reserved non-reserved reserved reserved
SPECIFIC   reserved reserved reserved  
SPECIFICTYPE   reserved reserved reserved  
SPECIFIC_NAME   non-reserved non-reserved non-reserved  
SQL   reserved reserved reserved reserved
SQLCODE         reserved
SQLERROR         reserved
SQLEXCEPTION   reserved reserved reserved  
SQLSTATE   reserved reserved reserved reserved
SQLWARNING   reserved reserved reserved  
SQRT   reserved reserved    
STABLE non-reserved        
STANDALONE non-reserved non-reserved non-reserved    
START non-reserved reserved reserved reserved  
STATE   non-reserved non-reserved reserved  
STATEMENT non-reserved non-reserved non-reserved reserved  
STATIC   reserved reserved reserved  
STATISTICS non-reserved        
STDDEV_POP   reserved reserved    
STDDEV_SAMP   reserved reserved    
STDIN non-reserved        
STDOUT non-reserved        
STORAGE non-reserved        
STRICT non-reserved        
STRIP non-reserved non-reserved non-reserved    
STRUCTURE   non-reserved non-reserved reserved  
STYLE   non-reserved non-reserved non-reserved  
SUBCLASS_ORIGIN   non-reserved non-reserved non-reserved non-reserved
SUBLIST       non-reserved  
SUBMULTISET   reserved reserved    
SUBSTRING non-reserved (cannot be function or type) reserved reserved non-reserved reserved
SUBSTRING_REGEX   reserved      
SUM   reserved reserved non-reserved reserved
SUPERUSER non-reserved        
SYMMETRIC reserved reserved reserved non-reserved  
SYSID non-reserved        
SYSTEM non-reserved reserved reserved non-reserved  
SYSTEM_USER   reserved reserved reserved reserved
T   non-reserved      
TABLE reserved reserved reserved reserved reserved
TABLESAMPLE   reserved reserved    
TABLESPACE non-reserved        
TABLE_NAME   non-reserved non-reserved non-reserved non-reserved
TEMP non-reserved        
TEMPLATE non-reserved        
TEMPORARY non-reserved non-reserved non-reserved reserved reserved
TERMINATE       reserved  
TEXT non-reserved        
THAN       reserved  
THEN reserved reserved reserved reserved reserved
TIES   non-reserved non-reserved    
TIME non-reserved (cannot be function or type) reserved reserved reserved reserved
TIMESTAMP non-reserved (cannot be function or type) reserved reserved reserved reserved
TIMEZONE_HOUR   reserved reserved reserved reserved
TIMEZONE_MINUTE   reserved reserved reserved reserved
TO reserved reserved reserved reserved reserved
TOP_LEVEL_COUNT   non-reserved non-reserved    
TRAILING reserved reserved reserved reserved reserved
TRANSACTION non-reserved non-reserved non-reserved reserved reserved
TRANSACTIONS_COMMITTED   non-reserved non-reserved non-reserved  
TRANSACTIONS_ROLLED_BACK   non-reserved non-reserved non-reserved  
TRANSACTION_ACTIVE   non-reserved non-reserved non-reserved  
TRANSFORM   non-reserved non-reserved non-reserved  
TRANSFORMS   non-reserved non-reserved non-reserved  
TRANSLATE   reserved reserved non-reserved reserved
TRANSLATE_REGEX   reserved      
TRANSLATION   reserved reserved reserved reserved
TREAT non-reserved (cannot be function or type) reserved reserved reserved  
TRIGGER non-reserved reserved reserved reserved  
TRIGGER_CATALOG   non-reserved non-reserved non-reserved  
TRIGGER_NAME   non-reserved non-reserved non-reserved  
TRIGGER_SCHEMA   non-reserved non-reserved non-reserved  
TRIM non-reserved (cannot be function or type) reserved reserved non-reserved reserved
TRIM_ARRAY   reserved      
TRUE reserved reserved reserved reserved reserved
TRUNCATE non-reserved reserved      
TRUSTED non-reserved        
TYPE non-reserved non-reserved non-reserved non-reserved non-reserved
UESCAPE   reserved reserved    
UNBOUNDED   non-reserved non-reserved    
UNCOMMITTED non-reserved non-reserved non-reserved non-reserved non-reserved
UNDER   non-reserved non-reserved reserved  
UNENCRYPTED non-reserved        
UNION reserved reserved reserved reserved reserved
UNIQUE reserved reserved reserved reserved reserved
UNKNOWN non-reserved reserved reserved reserved reserved
UNLISTEN non-reserved        
UNNAMED   non-reserved non-reserved non-reserved non-reserved
UNNEST   reserved reserved reserved  
UNTIL non-reserved        
UNTYPED   non-reserved      
UPDATE non-reserved reserved reserved reserved reserved
UPPER   reserved reserved non-reserved reserved
URI   non-reserved      
USAGE   non-reserved non-reserved reserved reserved
USER reserved reserved reserved reserved reserved
USER_DEFINED_TYPE_CATALOG   non-reserved non-reserved non-reserved  
USER_DEFINED_TYPE_CODE   non-reserved non-reserved    
USER_DEFINED_TYPE_NAME   non-reserved non-reserved non-reserved  
USER_DEFINED_TYPE_SCHEMA   non-reserved non-reserved non-reserved  
USING reserved reserved reserved reserved reserved
VACUUM non-reserved        
VALID non-reserved non-reserved      
VALIDATOR non-reserved        
VALUE non-reserved reserved reserved reserved reserved
VALUES non-reserved (cannot be function or type) reserved reserved reserved reserved
VARBINARY   reserved      
VARCHAR non-reserved (cannot be function or type) reserved reserved reserved reserved
VARIABLE       reserved  
VARIADIC reserved        
VARYING non-reserved reserved reserved reserved reserved
VAR_POP   reserved reserved    
VAR_SAMP   reserved reserved    
VERBOSE reserved (can be function or type)        
VERSION non-reserved non-reserved non-reserved    
VIEW non-reserved non-reserved non-reserved reserved reserved
VOLATILE non-reserved        
WHEN reserved reserved reserved reserved reserved
WHENEVER   reserved reserved reserved reserved
WHERE reserved reserved reserved reserved reserved
WHITESPACE non-reserved non-reserved non-reserved    
WIDTH_BUCKET   reserved reserved    
WINDOW reserved reserved reserved    
WITH reserved reserved reserved reserved reserved
WITHIN   reserved reserved    
WITHOUT non-reserved reserved reserved reserved  
WORK non-reserved non-reserved non-reserved reserved reserved
WRAPPER non-reserved non-reserved non-reserved    
WRITE non-reserved non-reserved non-reserved reserved reserved
XML non-reserved reserved reserved    
XMLAGG   reserved reserved    
XMLATTRIBUTES non-reserved (cannot be function or type) reserved reserved    
XMLBINARY   reserved reserved    
XMLCAST   reserved      
XMLCOMMENT   reserved reserved    
XMLCONCAT non-reserved (cannot be function or type) reserved reserved    
XMLDECLARATION   non-reserved      
XMLDOCUMENT   reserved      
XMLELEMENT non-reserved (cannot be function or type) reserved reserved    
XMLEXISTS   reserved      
XMLFOREST non-reserved (cannot be function or type) reserved reserved    
XMLITERATE   reserved      
XMLNAMESPACES   reserved reserved    
XMLPARSE non-reserved (cannot be function or type) reserved reserved    
XMLPI non-reserved (cannot be function or type) reserved reserved    
XMLQUERY   reserved      
XMLROOT non-reserved (cannot be function or type)   reserved    
XMLSCHEMA   non-reserved      
XMLSERIALIZE non-reserved (cannot be function or type) reserved reserved    
XMLTABLE   reserved      
XMLTEXT   reserved      
XMLVALIDATE   reserved      
YEAR non-reserved reserved reserved reserved reserved
YES non-reserved        
ZONE non-reserved non-reserved non-reserved reserved reserved