Supported Versions: Current (18) / 17 / 16 / 15 / 14
Development Versions: devel
Unsupported versions: 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

Appendix C. SQL Key Words

Table C.1 lists all tokens that are key words in the SQL standard and in PostgreSQL 18.1. Background information can be found in Section 4.1.1. (For space reasons, only the latest two versions of the SQL standard, and SQL-92 for historical comparison, are included. The differences between those and the other intermediate standard versions are small.)

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, but are considered ordinary identifiers. (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 a column label. A blank entry in this column means that the word is treated as an ordinary identifier by PostgreSQL.

Furthermore, while most key words can be used as bare column labels without writing AS before them (as described in Section 7.3.2), there are a few that require a leading AS to avoid ambiguity. These are marked in the table as requires AS.

As a general rule, if you get spurious parser errors for commands that use any of the listed key words as an identifier, you should try quoting 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:2023 SQL:2016 SQL-92
A   non-reserved  
ABORT non-reserved  
ABS   reserved  
ABSENT non-reserved reserved  
ABSOLUTE non-reserved reserved
ACCESS non-reserved  
ACCORDING   non-reserved  
ACOS   reserved  
ACTION non-reserved reserved
ADA   non-reserved
ADD non-reserved reserved
ADMIN non-reserved  
AFTER non-reserved  
AGGREGATE non-reserved  
ALL reserved
ALLOCATE   reserved
ALSO non-reserved  
ALTER non-reserved reserved
ALWAYS non-reserved  
ANALYSE reserved  
ANALYZE reserved  
AND reserved
ANY reserved
ANY_VALUE   reserved  
ARE   reserved
ARRAY reserved, requires AS reserved  
ARRAY_AGG   reserved  
ARRAY_​MAX_​CARDINALITY   reserved  
AS reserved, requires AS reserved
ASC reserved non-reserved reserved
ASENSITIVE non-reserved reserved  
ASIN   reserved  
ASSERTION non-reserved reserved
ASSIGNMENT non-reserved  
ASYMMETRIC reserved  
AT non-reserved reserved
ATAN   reserved  
ATOMIC non-reserved reserved  
ATTACH non-reserved  
ATTRIBUTE non-reserved  
ATTRIBUTES   non-reserved  
AUTHORIZATION reserved (can be function or type) reserved
AVG   reserved
BACKWARD non-reserved  
BASE64   non-reserved  
BEFORE non-reserved  
BEGIN non-reserved reserved
BEGIN_FRAME   reserved  
BEGIN_PARTITION   reserved  
BERNOULLI   non-reserved  
BETWEEN non-reserved (cannot be function or type) reserved
BIGINT non-reserved (cannot be function or type) reserved  
BINARY reserved (can be function or type) reserved  
BIT non-reserved (cannot be function or type)   reserved
BIT_LENGTH   reserved
BLOB   reserved  
BLOCKED   non-reserved  
BOM   non-reserved  
BOOLEAN non-reserved (cannot be function or type) reserved  
BOTH reserved
BREADTH non-reserved  
BTRIM   reserved  
BY non-reserved reserved
C   non-reserved
CACHE non-reserved  
CALL non-reserved reserved  
CALLED non-reserved reserved  
CARDINALITY   reserved  
CASCADE non-reserved reserved
CASCADED non-reserved reserved
CASE reserved
CAST reserved
CATALOG non-reserved reserved
CATALOG_NAME   non-reserved
CEIL   reserved  
CEILING   reserved  
CHAIN non-reserved  
CHAINING   non-reserved  
CHAR non-reserved (cannot be function or type), requires AS reserved
CHARACTER non-reserved (cannot be function or type), requires AS reserved
CHARACTERISTICS non-reserved  
CHARACTERS   non-reserved  
CHARACTER_LENGTH   reserved
CHARACTER_​SET_​CATALOG   non-reserved
CHARACTER_SET_NAME   non-reserved
CHARACTER_SET_SCHEMA   non-reserved
CHAR_LENGTH   reserved
CHECK reserved
CHECKPOINT non-reserved  
CLASS non-reserved  
CLASSIFIER   reserved  
CLASS_ORIGIN   non-reserved
CLOB   reserved  
CLOSE non-reserved reserved
CLUSTER non-reserved  
COALESCE non-reserved (cannot be function or type) reserved
COBOL   non-reserved
COLLATE reserved
COLLATION reserved (can be function or type) non-reserved reserved
COLLATION_CATALOG   non-reserved
COLLATION_NAME   non-reserved
COLLATION_SCHEMA   non-reserved
COLLECT   reserved  
COLUMN reserved
COLUMNS non-reserved  
COLUMN_NAME   non-reserved
COMMAND_FUNCTION   non-reserved
COMMAND_​FUNCTION_​CODE   non-reserved  
COMMENT non-reserved  
COMMENTS non-reserved  
COMMIT non-reserved reserved
COMMITTED non-reserved
COMPRESSION non-reserved  
CONCURRENTLY reserved (can be function or type)  
CONDITION   reserved  
CONDITIONAL non-reserved  
CONDITION_NUMBER   non-reserved
CONFIGURATION non-reserved  
CONFLICT non-reserved  
CONNECT   reserved
CONNECTION non-reserved reserved
CONNECTION_NAME   non-reserved
CONSTRAINT reserved
CONSTRAINTS non-reserved reserved
CONSTRAINT_CATALOG   non-reserved
CONSTRAINT_NAME   non-reserved
CONSTRAINT_SCHEMA   non-reserved
CONSTRUCTOR   non-reserved  
CONTAINS   reserved  
CONTENT non-reserved  
CONTINUE non-reserved reserved
CONTROL   non-reserved  
CONVERSION non-reserved  
CONVERT   reserved
COPARTITION   non-reserved  
COPY non-reserved reserved  
CORR   reserved  
CORRESPONDING   reserved
COS   reserved  
COSH   reserved  
COST non-reserved  
COUNT   reserved
COVAR_POP   reserved  
COVAR_SAMP   reserved  
CREATE reserved, requires AS reserved
CROSS reserved (can be function or type) reserved
CSV non-reserved  
CUBE non-reserved reserved  
CUME_DIST   reserved  
CURRENT non-reserved reserved
CURRENT_CATALOG reserved  
CURRENT_DATE reserved
CURRENT_​DEFAULT_​TRANSFORM_​GROUP   reserved  
CURRENT_PATH   reserved  
CURRENT_ROLE reserved  
CURRENT_ROW   reserved  
CURRENT_SCHEMA reserved (can be function or type) reserved  
CURRENT_TIME reserved
CURRENT_TIMESTAMP reserved
CURRENT_​TRANSFORM_​GROUP_​FOR_​TYPE   reserved  
CURRENT_USER reserved
CURSOR non-reserved reserved
CURSOR_NAME   non-reserved
CYCLE non-reserved reserved  
DATA non-reserved
DATABASE non-reserved  
DATALINK   reserved  
DATE   reserved
DATETIME_​INTERVAL_​CODE   non-reserved
DATETIME_​INTERVAL_​PRECISION   non-reserved
DAY non-reserved, requires AS reserved
DB   non-reserved  
DEALLOCATE non-reserved reserved
DEC non-reserved (cannot be function or type) reserved
DECFLOAT   reserved  
DECIMAL non-reserved (cannot be function or type) reserved
DECLARE non-reserved reserved
DEFAULT reserved
DEFAULTS non-reserved  
DEFERRABLE reserved non-reserved reserved
DEFERRED non-reserved reserved
DEFINE   reserved  
DEFINED   non-reserved  
DEFINER non-reserved  
DEGREE   non-reserved  
DELETE non-reserved reserved
DELIMITER non-reserved  
DELIMITERS non-reserved  
DENSE_RANK   reserved  
DEPENDS non-reserved  
DEPTH non-reserved  
DEREF   reserved  
DERIVED   non-reserved  
DESC reserved non-reserved reserved
DESCRIBE   reserved
DESCRIPTOR   non-reserved reserved
DETACH non-reserved  
DETERMINISTIC   reserved  
DIAGNOSTICS   non-reserved reserved
DICTIONARY non-reserved  
DISABLE non-reserved  
DISCARD non-reserved  
DISCONNECT   reserved
DISPATCH   non-reserved  
DISTINCT reserved
DLNEWCOPY   reserved  
DLPREVIOUSCOPY   reserved  
DLURLCOMPLETE   reserved  
DLURLCOMPLETEONLY   reserved  
DLURLCOMPLETEWRITE   reserved  
DLURLPATH   reserved  
DLURLPATHONLY   reserved  
DLURLPATHWRITE   reserved  
DLURLSCHEME   reserved  
DLURLSERVER   reserved  
DLVALUE   reserved  
DO reserved  
DOCUMENT non-reserved  
DOMAIN non-reserved reserved
DOUBLE non-reserved reserved
DROP non-reserved reserved
DYNAMIC   reserved  
DYNAMIC_FUNCTION   non-reserved
DYNAMIC_​FUNCTION_​CODE   non-reserved  
EACH non-reserved reserved  
ELEMENT   reserved  
ELSE reserved
EMPTY non-reserved reserved  
ENABLE non-reserved  
ENCODING non-reserved  
ENCRYPTED non-reserved  
END reserved
END-EXEC   reserved
END_FRAME   reserved  
END_PARTITION   reserved  
ENFORCED non-reserved  
ENUM non-reserved  
EQUALS   reserved  
ERROR non-reserved  
ESCAPE non-reserved reserved
EVENT non-reserved  
EVERY   reserved  
EXCEPT reserved, requires AS reserved
EXCEPTION   reserved
EXCLUDE non-reserved  
EXCLUDING non-reserved  
EXCLUSIVE non-reserved  
EXEC   reserved
EXECUTE non-reserved reserved
EXISTS non-reserved (cannot be function or type) reserved
EXP   reserved  
EXPLAIN non-reserved  
EXPRESSION non-reserved  
EXTENSION non-reserved  
EXTERNAL non-reserved reserved
EXTRACT non-reserved (cannot be function or type) reserved
FALSE reserved
FAMILY non-reserved  
FETCH reserved, requires AS reserved
FILE   non-reserved  
FILTER non-reserved, requires AS reserved  
FINAL   non-reserved  
FINALIZE non-reserved  
FINISH   non-reserved  
FIRST non-reserved reserved
FIRST_VALUE   reserved  
FLAG   non-reserved  
FLOAT non-reserved (cannot be function or type) reserved
FLOOR   reserved  
FOLLOWING non-reserved  
FOR reserved, requires AS reserved
FORCE non-reserved  
FOREIGN reserved
FORMAT non-reserved  
FORTRAN   non-reserved
FORWARD non-reserved  
FOUND   non-reserved reserved
FRAME_ROW   reserved  
FREE   reserved  
FREEZE reserved (can be function or type)  
FROM reserved, requires AS reserved
FS   non-reserved  
FULFILL   non-reserved  
FULL reserved (can be function or type) reserved
FUNCTION non-reserved reserved  
FUNCTIONS non-reserved  
FUSION   reserved  
G   non-reserved  
GENERAL   non-reserved  
GENERATED non-reserved  
GET   reserved
GLOBAL non-reserved reserved
GO   non-reserved reserved
GOTO   non-reserved reserved
GRANT reserved, requires AS reserved
GRANTED non-reserved  
GREATEST non-reserved (cannot be function or type) reserved  
GROUP reserved, requires AS reserved
GROUPING non-reserved (cannot be function or type) reserved  
GROUPS non-reserved reserved  
HANDLER non-reserved  
HAVING reserved, requires AS reserved
HEADER non-reserved  
HEX   non-reserved  
HIERARCHY   non-reserved  
HOLD non-reserved reserved  
HOUR non-reserved, requires AS reserved
ID   non-reserved  
IDENTITY non-reserved reserved
IF non-reserved  
IGNORE   non-reserved  
ILIKE reserved (can be function or type)  
IMMEDIATE non-reserved reserved
IMMEDIATELY   non-reserved  
IMMUTABLE non-reserved  
IMPLEMENTATION   non-reserved  
IMPLICIT non-reserved  
IMPORT non-reserved reserved  
IN reserved
INCLUDE non-reserved  
INCLUDING non-reserved  
INCREMENT non-reserved  
INDENT non-reserved  
INDEX non-reserved  
INDEXES non-reserved  
INDICATOR   reserved
INHERIT non-reserved  
INHERITS non-reserved  
INITIAL   reserved  
INITIALLY reserved non-reserved reserved
INLINE non-reserved  
INNER reserved (can be function or type) reserved
INOUT non-reserved (cannot be function or type) reserved  
INPUT non-reserved reserved
INSENSITIVE non-reserved reserved
INSERT non-reserved reserved
INSTANCE   non-reserved  
INSTANTIABLE   non-reserved  
INSTEAD non-reserved  
INT non-reserved (cannot be function or type) reserved
INTEGER non-reserved (cannot be function or type) reserved
INTEGRITY   non-reserved  
INTERSECT reserved, requires AS reserved
INTERSECTION   reserved  
INTERVAL non-reserved (cannot be function or type) reserved
INTO reserved, requires AS reserved
INVOKER non-reserved  
IS reserved (can be function or type) reserved
ISNULL reserved (can be function or type), requires AS  
ISOLATION non-reserved reserved
JOIN reserved (can be function or type) reserved
JSON non-reserved (cannot be function or type) reserved  
JSON_ARRAY non-reserved (cannot be function or type) reserved  
JSON_ARRAYAGG non-reserved (cannot be function or type) reserved  
JSON_EXISTS non-reserved (cannot be function or type) reserved  
JSON_OBJECT non-reserved (cannot be function or type) reserved  
JSON_OBJECTAGG non-reserved (cannot be function or type) reserved  
JSON_QUERY non-reserved (cannot be function or type) reserved  
JSON_SCALAR non-reserved (cannot be function or type) reserved  
JSON_SERIALIZE non-reserved (cannot be function or type) reserved  
JSON_TABLE non-reserved (cannot be function or type) reserved  
JSON_TABLE_PRIMITIVE   reserved  
JSON_VALUE non-reserved (cannot be function or type) reserved  
K   non-reserved  
KEEP non-reserved  
KEY non-reserved reserved
KEYS non-reserved  
KEY_MEMBER   non-reserved  
KEY_TYPE   non-reserved  
LABEL non-reserved  
LAG   reserved  
LANGUAGE non-reserved reserved
LARGE non-reserved reserved  
LAST non-reserved reserved
LAST_VALUE   reserved  
LATERAL reserved  
LEAD   reserved  
LEADING reserved
LEAKPROOF non-reserved  
LEAST non-reserved (cannot be function or type) reserved  
LEFT reserved (can be function or type) reserved
LENGTH   non-reserved
LEVEL non-reserved reserved
LIBRARY   non-reserved  
LIKE reserved (can be function or type) reserved
LIKE_REGEX   reserved  
LIMIT reserved, requires AS non-reserved  
LINK   non-reserved  
LISTAGG   reserved  
LISTEN non-reserved  
LN   reserved  
LOAD non-reserved  
LOCAL non-reserved reserved
LOCALTIME reserved  
LOCALTIMESTAMP reserved  
LOCATION non-reserved  
LOCATOR   non-reserved  
LOCK non-reserved  
LOCKED non-reserved  
LOG   reserved  
LOG10   reserved  
LOGGED non-reserved  
LOWER   reserved
LPAD   reserved  
LTRIM   reserved  
M   non-reserved  
MAP   non-reserved  
MAPPING non-reserved  
MATCH non-reserved reserved
MATCHED non-reserved  
MATCHES   reserved  
MATCH_NUMBER   reserved  
MATCH_RECOGNIZE   reserved  
MATERIALIZED non-reserved  
MAX   reserved
MAXVALUE non-reserved  
MEASURES   non-reserved  
MEMBER   reserved  
MERGE non-reserved reserved  
MERGE_ACTION non-reserved (cannot be function or type)  
MESSAGE_LENGTH   non-reserved
MESSAGE_OCTET_LENGTH   non-reserved
MESSAGE_TEXT   non-reserved
METHOD non-reserved reserved  
MIN   reserved
MINUTE non-reserved, requires AS reserved
MINVALUE non-reserved  
MOD   reserved  
MODE non-reserved  
MODIFIES   reserved  
MODULE   reserved
MONTH non-reserved, requires AS reserved
MORE   non-reserved
MOVE non-reserved  
MULTISET   reserved  
MUMPS   non-reserved
NAME non-reserved
NAMES non-reserved reserved
NAMESPACE   non-reserved  
NATIONAL non-reserved (cannot be function or type) reserved
NATURAL reserved (can be function or type) reserved
NCHAR non-reserved (cannot be function or type) reserved
NCLOB   reserved  
NESTED non-reserved  
NESTING   non-reserved  
NEW non-reserved reserved  
NEXT non-reserved reserved
NFC non-reserved  
NFD non-reserved  
NFKC non-reserved  
NFKD non-reserved  
NIL   non-reserved  
NO non-reserved reserved
NONE non-reserved (cannot be function or type) reserved  
NORMALIZE non-reserved (cannot be function or type) reserved  
NORMALIZED non-reserved  
NOT reserved
NOTHING non-reserved  
NOTIFY non-reserved  
NOTNULL reserved (can be function or type), requires AS  
NOWAIT non-reserved  
NTH_VALUE   reserved  
NTILE   reserved  
NULL reserved
NULLABLE   non-reserved
NULLIF non-reserved (cannot be function or type) reserved
NULLS non-reserved  
NULL_ORDERING   non-reserved  
NUMBER   non-reserved
NUMERIC non-reserved (cannot be function or type) reserved
OBJECT non-reserved  
OBJECTS non-reserved  
OCCURRENCE   non-reserved  
OCCURRENCES_REGEX   reserved  
OCTETS   non-reserved  
OCTET_LENGTH   reserved
OF non-reserved reserved
OFF non-reserved  
OFFSET reserved, requires AS reserved  
OIDS non-reserved  
OLD non-reserved reserved  
OMIT non-reserved reserved  
ON reserved, requires AS reserved
ONE   reserved  
ONLY reserved
OPEN   reserved
OPERATOR non-reserved  
OPTION non-reserved reserved
OPTIONS non-reserved  
OR reserved
ORDER reserved, requires AS reserved
ORDERING   non-reserved  
ORDINALITY non-reserved  
OTHERS non-reserved  
OUT non-reserved (cannot be function or type) reserved  
OUTER reserved (can be function or type) reserved
OUTPUT   non-reserved reserved
OVER non-reserved, requires AS reserved  
OVERFLOW   non-reserved  
OVERLAPS reserved (can be function or type), requires AS reserved
OVERLAY non-reserved (cannot be function or type) reserved  
OVERRIDING non-reserved  
OWNED non-reserved  
OWNER non-reserved  
P   non-reserved  
PAD   non-reserved reserved
PARALLEL non-reserved  
PARAMETER non-reserved reserved  
PARAMETER_MODE   non-reserved  
PARAMETER_NAME   non-reserved  
PARAMETER_​ORDINAL_​POSITION   non-reserved  
PARAMETER_​SPECIFIC_​CATALOG   non-reserved  
PARAMETER_​SPECIFIC_​NAME   non-reserved  
PARAMETER_​SPECIFIC_​SCHEMA   non-reserved  
PARSER non-reserved  
PARTIAL non-reserved reserved
PARTITION non-reserved reserved  
PASCAL   non-reserved
PASS   non-reserved  
PASSING non-reserved  
PASSTHROUGH   non-reserved  
PASSWORD non-reserved  
PAST   non-reserved  
PATH non-reserved  
PATTERN   reserved  
PER   reserved  
PERCENT   reserved  
PERCENTILE_CONT   reserved  
PERCENTILE_DISC   reserved  
PERCENT_RANK   reserved  
PERIOD non-reserved reserved  
PERMISSION   non-reserved  
PERMUTE   non-reserved  
PIPE   non-reserved  
PLACING reserved non-reserved  
PLAN non-reserved  
PLANS non-reserved  
PLI   non-reserved
POLICY non-reserved  
PORTION   reserved  
POSITION non-reserved (cannot be function or type) reserved
POSITION_REGEX   reserved  
POWER   reserved  
PRECEDES   reserved  
PRECEDING non-reserved  
PRECISION non-reserved (cannot be function or type), requires AS reserved
PREPARE non-reserved reserved
PREPARED non-reserved  
PRESERVE non-reserved reserved
PREV   non-reserved  
PRIMARY reserved
PRIOR non-reserved reserved
PRIVATE   non-reserved  
PRIVILEGES non-reserved reserved
PROCEDURAL non-reserved  
PROCEDURE non-reserved reserved
PROCEDURES non-reserved  
PROGRAM non-reserved  
PRUNE   non-reserved  
PTF   reserved  
PUBLIC   non-reserved reserved
PUBLICATION non-reserved  
QUOTE non-reserved  
QUOTES non-reserved  
RANGE non-reserved reserved  
RANK   reserved  
READ non-reserved reserved
READS   reserved  
REAL non-reserved (cannot be function or type) reserved
REASSIGN non-reserved  
RECOVERY   non-reserved  
RECURSIVE non-reserved reserved  
REF non-reserved reserved  
REFERENCES reserved
REFERENCING non-reserved reserved  
REFRESH non-reserved  
REGR_AVGX   reserved  
REGR_AVGY   reserved  
REGR_COUNT   reserved  
REGR_INTERCEPT   reserved  
REGR_R2   reserved  
REGR_SLOPE   reserved  
REGR_SXX   reserved  
REGR_SXY   reserved  
REGR_SYY   reserved  
REINDEX non-reserved  
RELATIVE non-reserved reserved
RELEASE non-reserved reserved  
RENAME non-reserved  
REPEATABLE non-reserved
REPLACE non-reserved  
REPLICA non-reserved  
REQUIRING   non-reserved  
RESET non-reserved  
RESPECT   non-reserved  
RESTART non-reserved  
RESTORE   non-reserved  
RESTRICT non-reserved reserved
RESULT   reserved  
RETURN non-reserved reserved  
RETURNED_CARDINALITY   non-reserved  
RETURNED_LENGTH   non-reserved
RETURNED_​OCTET_​LENGTH   non-reserved
RETURNED_SQLSTATE   non-reserved
RETURNING reserved, requires AS non-reserved  
RETURNS non-reserved reserved  
REVOKE non-reserved reserved
RIGHT reserved (can be function or type) reserved
ROLE non-reserved  
ROLLBACK non-reserved reserved
ROLLUP non-reserved reserved  
ROUTINE non-reserved  
ROUTINES non-reserved  
ROUTINE_CATALOG   non-reserved  
ROUTINE_NAME   non-reserved  
ROUTINE_SCHEMA   non-reserved  
ROW non-reserved (cannot be function or type) reserved  
ROWS non-reserved reserved
ROW_COUNT   non-reserved
ROW_NUMBER   reserved  
RPAD   reserved  
RTRIM   reserved  
RULE non-reserved  
RUNNING   reserved  
SAVEPOINT non-reserved reserved  
SCALAR non-reserved  
SCALE   non-reserved
SCHEMA non-reserved reserved
SCHEMAS non-reserved  
SCHEMA_NAME   non-reserved
SCOPE   reserved  
SCOPE_CATALOG   non-reserved  
SCOPE_NAME   non-reserved  
SCOPE_SCHEMA   non-reserved  
SCROLL non-reserved reserved
SEARCH non-reserved reserved  
SECOND non-reserved, requires AS reserved
SECTION   non-reserved reserved
SECURITY non-reserved  
SEEK   reserved  
SELECT reserved
SELECTIVE   non-reserved  
SELF   non-reserved  
SEMANTICS   non-reserved  
SENSITIVE   reserved  
SEQUENCE non-reserved  
SEQUENCES non-reserved  
SERIALIZABLE non-reserved
SERVER non-reserved  
SERVER_NAME   non-reserved
SESSION non-reserved reserved
SESSION_USER reserved
SET non-reserved reserved
SETOF non-reserved (cannot be function or type)  
SETS non-reserved  
SHARE non-reserved  
SHOW non-reserved reserved  
SIMILAR reserved (can be function or type) reserved  
SIMPLE non-reserved  
SIN   reserved  
SINH   reserved  
SIZE   non-reserved reserved
SKIP non-reserved reserved  
SMALLINT non-reserved (cannot be function or type) reserved
SNAPSHOT non-reserved  
SOME reserved
SORT_DIRECTION   non-reserved  
SOURCE non-reserved  
SPACE   non-reserved reserved
SPECIFIC   reserved  
SPECIFICTYPE   reserved  
SPECIFIC_NAME   non-reserved  
SQL non-reserved reserved
SQLCODE   reserved
SQLERROR   reserved
SQLEXCEPTION   reserved  
SQLSTATE   reserved
SQLWARNING   reserved  
SQRT   reserved  
STABLE non-reserved  
STANDALONE non-reserved  
START non-reserved reserved  
STATE   non-reserved  
STATEMENT non-reserved  
STATIC   reserved  
STATISTICS non-reserved  
STDDEV_POP   reserved  
STDDEV_SAMP   reserved  
STDIN non-reserved  
STDOUT non-reserved  
STORAGE non-reserved  
STORED non-reserved  
STRICT non-reserved  
STRING non-reserved  
STRIP non-reserved  
STRUCTURE   non-reserved  
STYLE   non-reserved  
SUBCLASS_ORIGIN   non-reserved
SUBMULTISET   reserved  
SUBSCRIPTION non-reserved  
SUBSET   reserved  
SUBSTRING non-reserved (cannot be function or type) reserved
SUBSTRING_REGEX   reserved  
SUCCEEDS   reserved  
SUM   reserved
SUPPORT non-reserved  
SYMMETRIC reserved  
SYSID non-reserved  
SYSTEM non-reserved reserved  
SYSTEM_TIME   reserved  
SYSTEM_USER reserved
T   non-reserved  
TABLE reserved
TABLES non-reserved  
TABLESAMPLE reserved (can be function or type) reserved  
TABLESPACE non-reserved  
TABLE_NAME   non-reserved
TAN   reserved  
TANH   reserved  
TARGET non-reserved  
TEMP non-reserved  
TEMPLATE non-reserved  
TEMPORARY non-reserved reserved
TEXT non-reserved  
THEN reserved
THROUGH   non-reserved  
TIES non-reserved  
TIME non-reserved (cannot be function or type) reserved
TIMESTAMP non-reserved (cannot be function or type) reserved
TIMEZONE_HOUR   reserved
TIMEZONE_MINUTE   reserved
TO reserved, requires AS reserved
TOKEN   non-reserved  
TOP_LEVEL_COUNT   non-reserved  
TRAILING reserved
TRANSACTION non-reserved reserved
TRANSACTIONS_​COMMITTED   non-reserved  
TRANSACTIONS_​ROLLED_​BACK   non-reserved  
TRANSACTION_ACTIVE   non-reserved  
TRANSFORM non-reserved  
TRANSFORMS   non-reserved  
TRANSLATE   reserved
TRANSLATE_REGEX   reserved  
TRANSLATION   reserved
TREAT non-reserved (cannot be function or type) reserved  
TRIGGER non-reserved reserved  
TRIGGER_CATALOG   non-reserved  
TRIGGER_NAME   non-reserved  
TRIGGER_SCHEMA   non-reserved  
TRIM non-reserved (cannot be function or type) reserved
TRIM_ARRAY   reserved  
TRUE reserved
TRUNCATE non-reserved reserved  
TRUSTED non-reserved  
TYPE non-reserved
TYPES non-reserved  
UESCAPE non-reserved reserved  
UNBOUNDED non-reserved  
UNCOMMITTED non-reserved
UNCONDITIONAL non-reserved  
UNDER   non-reserved  
UNENCRYPTED non-reserved  
UNION reserved, requires AS reserved
UNIQUE reserved
UNKNOWN non-reserved reserved
UNLINK   non-reserved  
UNLISTEN non-reserved  
UNLOGGED non-reserved  
UNMATCHED   non-reserved  
UNNAMED   non-reserved
UNNEST   reserved  
UNTIL non-reserved  
UNTYPED   non-reserved  
UPDATE non-reserved reserved
UPPER   reserved
URI   non-reserved  
USAGE   non-reserved reserved
USER reserved
USER_​DEFINED_​TYPE_​CATALOG   non-reserved  
USER_​DEFINED_​TYPE_​CODE   non-reserved  
USER_​DEFINED_​TYPE_​NAME   non-reserved  
USER_​DEFINED_​TYPE_​SCHEMA   non-reserved  
USING reserved
UTF16   non-reserved  
UTF32   non-reserved  
UTF8   non-reserved  
VACUUM non-reserved  
VALID non-reserved  
VALIDATE non-reserved  
VALIDATOR non-reserved  
VALUE non-reserved reserved
VALUES non-reserved (cannot be function or type) reserved
VALUE_OF   reserved  
VARBINARY   reserved  
VARCHAR non-reserved (cannot be function or type) reserved
VARIADIC reserved  
VARYING non-reserved, requires AS reserved
VAR_POP   reserved  
VAR_SAMP   reserved  
VERBOSE reserved (can be function or type)  
VERSION non-reserved  
VERSIONING   reserved  
VIEW non-reserved reserved
VIEWS non-reserved  
VIRTUAL non-reserved  
VOLATILE non-reserved  
WHEN reserved
WHENEVER   reserved
WHERE reserved, requires AS reserved
WHITESPACE non-reserved  
WIDTH_BUCKET   reserved  
WINDOW reserved, requires AS reserved  
WITH reserved, requires AS reserved
WITHIN non-reserved, requires AS reserved  
WITHOUT non-reserved, requires AS reserved  
WORK non-reserved reserved
WRAPPER non-reserved  
WRITE non-reserved reserved
XML non-reserved reserved  
XMLAGG   reserved  
XMLATTRIBUTES non-reserved (cannot be function or type) reserved  
XMLBINARY   reserved  
XMLCAST   reserved  
XMLCOMMENT   reserved  
XMLCONCAT non-reserved (cannot be function or type) reserved  
XMLDECLARATION   non-reserved  
XMLDOCUMENT   reserved  
XMLELEMENT non-reserved (cannot be function or type) reserved  
XMLEXISTS non-reserved (cannot be function or type) reserved  
XMLFOREST non-reserved (cannot be function or type) reserved  
XMLITERATE   reserved  
XMLNAMESPACES non-reserved (cannot be function or type) reserved  
XMLPARSE non-reserved (cannot be function or type) reserved  
XMLPI non-reserved (cannot be function or type) reserved  
XMLQUERY   reserved  
XMLROOT non-reserved (cannot be function or type)  
XMLSCHEMA   non-reserved  
XMLSERIALIZE non-reserved (cannot be function or type) reserved  
XMLTABLE non-reserved (cannot be function or type) reserved  
XMLTEXT   reserved  
XMLVALIDATE   reserved  
YEAR non-reserved, requires AS reserved
YES non-reserved  
ZONE non-reserved reserved

Submit correction

If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.

Follow Lee on X/Twitter - Father, Husband, Serial builder creating AI, crypto, games & web tools. We are friends :) AI Will Come To Life!

Check out: eBank.nz (Art Generator) | Netwrck.com (AI Tools) | Text-Generator.io (AI API) | BitBank.nz (Crypto AI) | ReadingTime (Kids Reading) | RewordGame | BigMultiplayerChess | WebFiddle | How.nz | Helix AI Assistant