D.2. Unsupported Features

The following features defined in SQL:2008 are not implemented in this release of PostgreSQL. In a few cases, equivalent functionality is available.

IdentifierPackageDescriptionComment
B011 Embedded Ada 
B013 Embedded COBOL 
B014 Embedded Fortran 
B015 Embedded MUMPS 
B016 Embedded Pascal 
B017 Embedded PL/I 
B031 Basic dynamic SQL 
B032 Extended dynamic SQL 
B032-01 <describe input statement> 
B033 Untyped SQL-invoked function arguments 
B034 Dynamic specification of cursor attributes 
B035 Non-extended descriptor names 
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 
B128 Routine language SQL 
E081CoreBasic Privileges 
E081-09CoreUSAGE privilege 
E153CoreUpdatable queries with subqueries 
E182CoreModule language 
F121 Basic diagnostics management 
F121-01 GET DIAGNOSTICS statement 
F121-02 SET TRANSACTION statement: DIAGNOSTICS SIZE clause 
F122 Enhanced diagnostics management 
F123 All diagnostics 
F181CoreMultiple module support 
F202 TRUNCATE TABLE: identity column restart option 
F263 Comma-separated predicates in simple CASE expression 
F291 UNIQUE predicate 
F301 CORRESPONDING in query expressions 
F311CoreSchema definition statement 
F311-04CoreCREATE VIEW: WITH CHECK OPTION 
F312 MERGE statement 
F313 Enhanced MERGE statement 
F341 Usage tablesno ROUTINE_*_USAGE tables
F394 Optional normal form specification 
F403 Partitioned joined tables 
F451 Character set definition 
F461 Named character sets 
F521Enhanced integrity managementAssertions 
F671Enhanced integrity managementSubqueries in CHECKintentionally omitted
F693 SQL-session and client module collations 
F695 Translation support 
F696 Additional translation documentation 
F721 Deferrable constraintsforeign and unique keys only
F741 Referential MATCH typesno partial match yet
F751 View CHECK enhancements 
F812CoreBasic flagging 
F813 Extended flagging 
F821 Local table references 
F831 Full cursor update 
F831-01 Updatable scrollable cursors 
F831-02 Updatable ordered cursors 
F841 LIKE_REGEX predicate 
F842 OCCURENCES_REGEX function 
F843 POSITION_REGEX function 
F844 SUBSTRING_REGEX function 
F845 TRANSLATE_REGEX function 
F846 Octet support in regular expression operators 
F847 Nonconstant regular expressions 
S011CoreDistinct data types 
S011-01CoreUSER_DEFINED_TYPES view 
S023Basic object supportBasic structured types 
S024Enhanced object supportEnhanced structured types 
S025 Final structured types 
S026 Self-referencing structured types 
S027 Create method by specific method name 
S028 Permutable UDT options list 
S041Basic object supportBasic reference types 
S043Enhanced object supportEnhanced reference types 
S051Basic object supportCreate table of typepartially supported
S081Enhanced object supportSubtables 
S091 Basic array supportpartially supported
S091-01 Arrays of built-in data types 
S091-02 Arrays of distinct types 
S091-03 Array expressions 
S094 Arrays of reference types 
S097 Array element assignment 
S151Basic object supportType predicate 
S161Enhanced object supportSubtype treatment 
S162 Subtype treatment for references 
S202 SQL-invoked routines on multisets 
S231Enhanced object supportStructured 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 
S301 Enhanced UNNEST 
S401 Distinct types based on array types 
S402 Distinct types based on distinct types 
S403 MAX_CARDINALITY 
S404 TRIM_ARRAY 
T011 Timestamp in Information Schema 
T021 BINARY and VARBINARY data types 
T022 Advanced support for BINARY and VARBINARY data types 
T023 Compound binary literal 
T024 Spaces in binary literals 
T041Basic object supportBasic LOB data type support 
T041-01Basic object supportBLOB data type 
T041-02Basic object supportCLOB data type 
T041-03Basic object supportPOSITION, LENGTH, LOWER, TRIM, UPPER, and SUBSTRING functions for LOB data types 
T041-04Basic object supportConcatenation of LOB data types 
T041-05Basic object supportLOB locator: non-holdable 
T042 Extended LOB data type support 
T043 Multiplier T 
T044 Multiplier P 
T051 Row types 
T052 MAX and MIN for row types 
T053 Explicit aliases for all-fields reference 
T061 UCS support 
T101 Enhanced nullability determination 
T111 Updatable joins, unions, and columns 
T174 Identity columns 
T175 Generated columns 
T176 Sequence generator support 
T177 Sequence generator support: simple restart option 
T178 Identity columns: simple restart option 
T211Active database, Enhanced integrity managementBasic trigger capability 
T211-06Active database, Enhanced integrity managementSupport for run-time rules for the interaction of triggers and constraints 
T211-08Active database, Enhanced integrity managementMultiple triggers for the same event are executed in the order in which they were created in the catalogintentionally omitted
T251 SET TRANSACTION statement: LOCAL option 
T261 Chained transactions 
T272 Enhanced savepoint management 
T285 Enhanced derived column names 
T301 Functional dependenciespartially supported
T321CoreBasic SQL-invoked routines 
T321-02CoreUser-defined stored procedures with no overloading 
T321-04CoreCALL statement 
T321-05CoreRETURN statement 
T324 Explicit security for SQL routines 
T325 Qualified SQL parameter references 
T326 Table functions 
T332 Extended rolesmostly supported
T431OLAPExtended grouping capabilities 
T432 Nested and concatenated GROUPING SETS 
T433 Multiargument GROUPING function 
T434 GROUP BY DISTINCT 
T471 Result sets return value 
T491 LATERAL derived table 
T511 Transaction counts 
T541 Updatable table references 
T561 Holdable locators 
T571 Array-returning external SQL-invoked functions 
T572 Multiset-returning external SQL-invoked functions 
T601 Local cursor references 
T611OLAPElementary OLAP operationsmost forms supported
T612 Advanced OLAP operationssome forms supported
T613 Sampling 
T616 Null treatment option for LEAD and LAG functions 
T618 NTH_VALUE functionfunction exists, but some options missing
T641 Multiple column assignmentonly some syntax variants supported
T652 SQL-dynamic statements in SQL routines 
T653 SQL-schema statements in external routines 
T654 SQL-dynamic statements in external routines 
M001 Datalinks 
M002 Datalinks via SQL/CLI 
M003 Datalinks via Embedded SQL 
M004 Foreign data supportpartially supported
M005 Foreign schema support 
M006 GetSQLString routine 
M007 TransmitRequest 
M009 GetOpts and GetStatistics routines 
M010 Foreign data wrapper support 
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 
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 
X014 Attributes of XML type 
X015 Fields of XML type 
X025 XMLCast 
X030 XMLDocument 
X038 XMLText 
X065 XMLParse: BLOB input and CONTENT option 
X066 XMLParse: BLOB input and DOCUMENT option 
X068 XMLSerialize: BOM 
X069 XMLSerialize: INDENT 
X073 XMLSerialize: BLOB serialization and CONTENT option 
X074 XMLSerialize: BLOB serialization and DOCUMENT option 
X075 XMLSerialize: BLOB 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 
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 
X221 XML passing mechanism BY VALUE 
X222 XML passing mechanism BY REF 
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 
X301 XMLTable: derived column list option 
X302 XMLTable: ordinality column option 
X303 XMLTable: column default option 
X304 XMLTable: passing a context item 
X305 XMLTable: initializing an XQuery variable