D.2. Unsupported Features #
The following features defined in SQL:2023 are not implemented in this release of Postgres Pro. 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 | Â |
| 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 | Â |
| 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 | Â |
| 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 | Â |
| 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 | Â |