PostgreSQL
D.2. Unsupported Features #
The following features defined in SQL:2023 are not implemented in this release of PostgreSQL. In a few cases, equivalent functionality is available.
Identifier | Core? | Description | Comment |
---|---|---|---|
B011 |
Embedded Ada |
||
B013 |
Embedded COBOL |
||
B014 |
Embedded Fortran |
||
B015 |
Embedded MUMPS |
||
B016 |
Embedded Pascal |
||
B017 |
Embedded PL/I |
||
B030 |
Enhanced dynamic SQL |
||
B031 |
Basic dynamic SQL |
||
B032 |
Extended dynamic SQL |
||
B033 |
Untyped SQL-invoked function arguments |
||
B034 |
Dynamic specification of cursor attributes |
||
B035 |
Non-extended descriptor names |
||
B036 |
Describe input statement |
||
B041 |
Extensions to embedded SQL exception declarations |
||
B051 |
Enhanced execution rights |
||
B111 |
Module language Ada |
||
B112 |
Module language C |
||
B113 |
Module language COBOL |
||
B114 |
Module language Fortran |
||
B115 |
Module language MUMPS |
||
B116 |
Module language Pascal |
||
B117 |
Module language PL/I |
||
B121 |
Routine language Ada |
||
B122 |
Routine language C |
||
B123 |
Routine language COBOL |
||
B124 |
Routine language Fortran |
||
B125 |
Routine language MUMPS |
||
B126 |
Routine language Pascal |
||
B127 |
Routine language PL/I |
||
B200 |
Polymorphic table functions |
||
B201 |
More than one PTF generic table parameter |
||
B202 |
PTF copartitioning |
||
B203 |
More than one copartition specification |
||
B204 |
PRUNE WHEN EMPTY |
||
B205 |
Pass-through columns |
||
B206 |
PTF descriptor parameters |
||
B207 |
Cross products of partitionings |
||
B208 |
PTF component procedure interface |
||
B209 |
PTF extended names |
||
B211 |
Module language Ada: VARCHAR and NUMERIC support |
||
B221 |
Routine language Ada: VARCHAR and NUMERIC support |
||
F054 |
TIMESTAMP in DATE type precedence list |
||
F120 |
Get diagnostics statement |
||
F121 |
Basic diagnostics management |
||
F122 |
Enhanced diagnostics management |
||
F123 |
All diagnostics |
||
F124 |
SET TRANSACTION statement: DIAGNOSTICS SIZE clause |
||
F263 |
Comma-separated predicates in simple CASE expression |
||
F291 |
UNIQUE predicate |
||
F301 |
CORRESPONDING in query expressions |
||
F403 |
Partitioned join tables |
||
F451 |
Character set definition |
||
F461 |
Named character sets |
||
F492 |
Optional table constraint enforcement |
||
F521 |
Assertions |
||
F671 |
Subqueries in CHECK constraints |
intentionally omitted |
|
F673 |
Reads SQL-data routine invocations in CHECK constraints |
||
F693 |
SQL-session and client module collations |
||
F695 |
Translation support |
||
F696 |
Additional translation documentation |
||
F721 |
Deferrable constraints |
foreign and unique keys only |
|
F741 |
Referential MATCH types |
no partial match yet |
|
F812 |
Basic flagging |
||
F813 |
Extended flagging |
||
F821 |
Local table references |
||
F831 |
Full cursor update |
||
F832 |
Updatable scrollable cursors |
||
F833 |
Updatable ordered cursors |
||
F841 |
LIKE_REGEX predicate |
consider regexp_like() |
|
F842 |
OCCURRENCES_REGEX function |
consider regexp_matches() |
|
F843 |
POSITION_REGEX function |
consider regexp_instr() |
|
F844 |
SUBSTRING_REGEX function |
consider regexp_substr() |
|
F845 |
TRANSLATE_REGEX function |
consider regexp_replace() |
|
F846 |
Octet support in regular expression operators |
||
F847 |
Non-constant regular expressions |
||
F866 |
FETCH FIRST clause: PERCENT option |
||
R010 |
Row pattern recognition: FROM clause |
||
R020 |
Row pattern recognition: WINDOW clause |
||
R030 |
Row pattern recognition: full aggregate support |
||
S011 |
Core |
Distinct data types |
|
S011-01 |
Core |
USER_DEFINED_TYPES view |
|
S023 |
Basic structured types |
||
S024 |
Enhanced structured types |
||
S025 |
Final structured types |
||
S026 |
Self-referencing structured types |
||
S027 |
Create method by specific method name |
||
S028 |
Permutable UDT options list |
||
S041 |
Basic reference types |
||
S043 |
Enhanced reference types |
||
S051 |
Create table of type |
partially supported |
|
S081 |
Subtables |
||
S091 |
Basic array support |
partially supported |
|
S093 |
Arrays of distinct types |
||
S094 |
Arrays of reference types |
||
S097 |
Array element assignment |
||
S151 |
Type predicate |
see pg_typeof() |
|
S161 |
Subtype treatment |
||
S162 |
Subtype treatment for references |
||
S202 |
SQL-invoked routines on multisets |
||
S231 |
Structured type locators |
||
S232 |
Array locators |
||
S233 |
Multiset locators |
||
S241 |
Transform functions |
||
S242 |
Alter transform statement |
||
S251 |
User-defined orderings |
||
S261 |
Specific type method |
||
S271 |
Basic multiset support |
||
S272 |
Multisets of user-defined types |
||
S274 |
Multisets of reference types |
||
S275 |
Advanced multiset support |
||
S281 |
Nested collection types |
||
S291 |
Unique constraint on entire row |
||
S401 |
Distinct types based on array types |
||
S402 |
Distinct types based on multiset types |
||
S403 |
ARRAY_MAX_CARDINALITY |
||
T011 |
Timestamp in Information Schema |
||
T021 |
BINARY and VARBINARY data types |
||
T022 |
Advanced support for BINARY and VARBINARY data types |
||
T023 |
Compound binary literals |
||
T024 |
Spaces in binary literals |
||
T039 |
CLOB locator: non-holdable |
||
T040 |
Concatenation of CLOBs |
||
T041 |
Basic LOB data type support |
||
T042 |
Extended LOB data type support |
||
T043 |
Multiplier T |
||
T044 |
Multiplier P |
||
T045 |
BLOB data type |
||
T046 |
CLOB data type |
||
T047 |
POSITION, OCTET_LENGTH, TRIM, and SUBSTRING for BLOBs |
||
T048 |
Concatenation of BLOBs |
||
T049 |
BLOB locator: non-holdable |
||
T050 |
POSITION, CHAR_LENGTH, OCTET_LENGTH, LOWER, TRIM, UPPER, and SUBSTRING for CLOBs |
||
T051 |
Row types |
||
T053 |
Explicit aliases for all-fields reference |
||
T062 |
Character length units |
||
T076 |
DECFLOAT data type |
||
T101 |
Enhanced nullability determination |
||
T111 |
Updatable joins, unions, and columns |
||
T175 |
Generated columns |
mostly supported |
|
T176 |
Sequence generator support |
supported except for NEXT VALUE FOR |
|
T180 |
System-versioned tables |
||
T181 |
Application-time period tables |
||
T200 |
Trigger DDL |
similar but not fully compatible |
|
T211 |
Basic trigger capability |
||
T218 |
Multiple triggers for the same event executed in the order created |
intentionally omitted |
|
T231 |
Sensitive cursors |
||
T251 |
SET TRANSACTION statement: LOCAL option |
||
T262 |
Multiple server transactions |
||
T272 |
Enhanced savepoint management |
||
T301 |
Functional dependencies |
partially supported |
|
T321 |
Core |
Basic SQL-invoked routines |
partially supported |
T322 |
Declared data type attributes |
||
T324 |
Explicit security for SQL routines |
||
T326 |
Table functions |
||
T471 |
Result sets return value |
||
T472 |
DESCRIBE CURSOR |
||
T495 |
Combined data change and retrieval |
different syntax |
|
T502 |
Period predicates |
||
T511 |
Transaction counts |
||
T522 |
Default values for IN parameters of SQL-invoked procedures |
supported except DEFAULT key word in invocation |
|
T561 |
Holdable locators |
||
T571 |
Array-returning external SQL-invoked functions |
||
T572 |
Multiset-returning external SQL-invoked functions |
||
T601 |
Local cursor references |
||
T616 |
Null treatment option for LEAD and LAG functions |
||
T618 |
NTH_VALUE function |
function exists, but some options missing |
|
T619 |
Nested window functions |
||
T625 |
LISTAGG |
||
T641 |
Multiple column assignment |
only some syntax variants supported |
|
T652 |
SQL-dynamic statements in SQL routines |
||
T654 |
SQL-dynamic statements in external routines |
||
T801 |
JSON data type |
||
T802 |
Enhanced JSON data type |
||
T821 |
Basic SQL/JSON query operators |
||
T823 |
SQL/JSON: PASSING clause |
||
T824 |
JSON_TABLE: specific PLAN clause |
||
T825 |
SQL/JSON: ON EMPTY and ON ERROR clauses |
||
T826 |
General value expression in ON ERROR or ON EMPTY clauses |
||
T827 |
JSON_TABLE: sibling NESTED COLUMNS clauses |
||
T828 |
JSON_QUERY |
||
T829 |
JSON_QUERY: array wrapper options |
||
T838 |
JSON_TABLE: PLAN DEFAULT clause |
||
T839 |
Formatted cast of datetimes to/from character strings |
||
T860 |
SQL/JSON simplified accessor: column reference only |
||
T861 |
SQL/JSON simplified accessor: case-sensitive JSON member accessor |
||
T862 |
SQL/JSON simplified accessor: wildcard member accessor |
||
T863 |
SQL/JSON simplified accessor: single-quoted string literal as member accessor |
||
T864 |
SQL/JSON simplified accessor |
||
T865 |
SQL/JSON item method: bigint() |
||
T866 |
SQL/JSON item method: boolean() |
||
T867 |
SQL/JSON item method: date() |
||
T868 |
SQL/JSON item method: decimal() |
||
T869 |
SQL/JSON item method: decimal() with precision and scale |
||
T870 |
SQL/JSON item method: integer() |
||
T871 |
SQL/JSON item method: number() |
||
T872 |
SQL/JSON item method: string() |
||
T873 |
SQL/JSON item method: time() |
||
T874 |
SQL/JSON item method: time_tz() |
||
T875 |
SQL/JSON item method: time precision |
||
T876 |
SQL/JSON item method: timestamp() |
||
T877 |
SQL/JSON item method: timestamp_tz() |
||
T878 |
SQL/JSON item method: timestamp precision |
||
T881 |
JSON in ordering operations |
with jsonb, partially supported |
|
T882 |
JSON in multiset element grouping operations |
||
M001 |
Datalinks |
||
M002 |
Datalinks via SQL/CLI |
||
M003 |
Datalinks via Embedded SQL |
||
M004 |
Foreign data support |
partially supported |
|
M005 |
Foreign schema support |
||
M006 |
GetSQLString routine |
||
M007 |
TransmitRequest |
||
M009 |
GetOpts and GetStatistics routines |
||
M010 |
Foreign-data wrapper support |
different API |
|
M011 |
Datalinks via Ada |
||
M012 |
Datalinks via C |
||
M013 |
Datalinks via COBOL |
||
M014 |
Datalinks via Fortran |
||
M015 |
Datalinks via M |
||
M016 |
Datalinks via Pascal |
||
M017 |
Datalinks via PL/I |
||
M018 |
Foreign-data wrapper interface routines in Ada |
||
M019 |
Foreign-data wrapper interface routines in C |
different API |
|
M020 |
Foreign-data wrapper interface routines in COBOL |
||
M021 |
Foreign-data wrapper interface routines in Fortran |
||
M022 |
Foreign-data wrapper interface routines in MUMPS |
||
M023 |
Foreign-data wrapper interface routines in Pascal |
||
M024 |
Foreign-data wrapper interface routines in PL/I |
||
M030 |
SQL-server foreign data support |
||
M031 |
Foreign-data wrapper general routines |
||
X012 |
Multisets of XML type |
||
X013 |
Distinct types of XML type |
||
X015 |
Fields of XML type |
||
X025 |
XMLCast |
||
X030 |
XMLDocument |
||
X038 |
XMLText |
||
X065 |
XMLParse: binary string input and CONTENT option |
||
X066 |
XMLParse: binary string input and DOCUMENT option |
||
X068 |
XMLSerialize: BOM |
||
X073 |
XMLSerialize: binary string serialization and CONTENT option |
||
X074 |
XMLSerialize: binary string serialization and DOCUMENT option |
||
X075 |
XMLSerialize: binary string serialization |
||
X076 |
XMLSerialize: VERSION |
||
X077 |
XMLSerialize: explicit ENCODING option |
||
X078 |
XMLSerialize: explicit XML declaration |
||
X080 |
Namespaces in XML publishing |
||
X081 |
Query-level XML namespace declarations |
||
X082 |
XML namespace declarations in DML |
||
X083 |
XML namespace declarations in DDL |
||
X084 |
XML namespace declarations in compound statements |
||
X085 |
Predefined namespace prefixes |
||
X086 |
XML namespace declarations in XMLTable |
||
X091 |
XML content predicate |
||
X096 |
XMLExists |
XPath 1.0 only |
|
X100 |
Host language support for XML: CONTENT option |
||
X101 |
Host language support for XML: DOCUMENT option |
||
X110 |
Host language support for XML: VARCHAR mapping |
||
X111 |
Host language support for XML: CLOB mapping |
||
X112 |
Host language support for XML: BLOB mapping |
||
X113 |
Host language support for XML: STRIP WHITESPACE option |
||
X114 |
Host language support for XML: PRESERVE WHITESPACE option |
||
X131 |
Query-level XMLBINARY clause |
||
X132 |
XMLBINARY clause in DML |
||
X133 |
XMLBINARY clause in DDL |
||
X134 |
XMLBINARY clause in compound statements |
||
X135 |
XMLBINARY clause in subqueries |
||
X141 |
IS VALID predicate: data-driven case |
||
X142 |
IS VALID predicate: ACCORDING TO clause |
||
X143 |
IS VALID predicate: ELEMENT clause |
||
X144 |
IS VALID predicate: schema location |
||
X145 |
IS VALID predicate outside check constraints |
||
X151 |
IS VALID predicate: with DOCUMENT option |
||
X152 |
IS VALID predicate: with CONTENT option |
||
X153 |
IS VALID predicate: with SEQUENCE option |
||
X155 |
IS VALID predicate: NAMESPACE without ELEMENT clause |
||
X157 |
IS VALID predicate: NO NAMESPACE with ELEMENT clause |
||
X160 |
Basic Information Schema for registered XML schemas |
||
X161 |
Advanced Information Schema for registered XML schemas |
||
X170 |
XML null handling options |
||
X171 |
NIL ON NO CONTENT option |
||
X181 |
XML(DOCUMENT(UNTYPED)) type |
||
X182 |
XML(DOCUMENT(ANY)) type |
||
X190 |
XML(SEQUENCE) type |
||
X191 |
XML(DOCUMENT(XMLSCHEMA)) type |
||
X192 |
XML(CONTENT(XMLSCHEMA)) type |
||
X200 |
XMLQuery |
||
X201 |
XMLQuery: RETURNING CONTENT |
||
X202 |
XMLQuery: RETURNING SEQUENCE |
||
X203 |
XMLQuery: passing a context item |
||
X204 |
XMLQuery: initializing an XQuery variable |
||
X205 |
XMLQuery: EMPTY ON EMPTY option |
||
X206 |
XMLQuery: NULL ON EMPTY option |
||
X211 |
XML 1.1 support |
||
X222 |
XML passing mechanism BY REF |
parser accepts BY REF but ignores it; passing is always BY VALUE |
|
X231 |
XML(CONTENT(UNTYPED)) type |
||
X232 |
XML(CONTENT(ANY)) type |
||
X241 |
RETURNING CONTENT in XML publishing |
||
X242 |
RETURNING SEQUENCE in XML publishing |
||
X251 |
Persistent XML values of XML(DOCUMENT(UNTYPED)) type |
||
X252 |
Persistent XML values of XML(DOCUMENT(ANY)) type |
||
X253 |
Persistent XML values of XML(CONTENT(UNTYPED)) type |
||
X254 |
Persistent XML values of XML(CONTENT(ANY)) type |
||
X255 |
Persistent XML values of XML(SEQUENCE) type |
||
X256 |
Persistent XML values of XML(DOCUMENT(XMLSCHEMA)) type |
||
X257 |
Persistent XML values of XML(CONTENT(XMLSCHEMA)) type |
||
X260 |
XML type: ELEMENT clause |
||
X261 |
XML type: NAMESPACE without ELEMENT clause |
||
X263 |
XML type: NO NAMESPACE with ELEMENT clause |
||
X264 |
XML type: schema location |
||
X271 |
XMLValidate: data-driven case |
||
X272 |
XMLValidate: ACCORDING TO clause |
||
X273 |
XMLValidate: ELEMENT clause |
||
X274 |
XMLValidate: schema location |
||
X281 |
XMLValidate with DOCUMENT option |
||
X282 |
XMLValidate with CONTENT option |
||
X283 |
XMLValidate with SEQUENCE option |
||
X284 |
XMLValidate: NAMESPACE without ELEMENT clause |
||
X286 |
XMLValidate: NO NAMESPACE with ELEMENT clause |
||
X300 |
XMLTable |
XPath 1.0 only |
|
X305 |
XMLTable: initializing an XQuery variable |
Prev | Up | Next |
---|---|---|
D.1. Supported Features |
D.3. XML Limits and Conformance to SQL/XML |
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.
Copyright © 1996-2024 The PostgreSQL Global Development Group