diff --git a/doc/src/sgml/features.sgml b/doc/src/sgml/features.sgml
index eae4ba5a11b42c445331e4c5535ff7c08fde525c..749a56354076e49485df1019b10cebafb48b0daa 100644
--- a/doc/src/sgml/features.sgml
+++ b/doc/src/sgml/features.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/features.sgml,v 2.27 2007/02/03 17:59:35 petere Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/features.sgml,v 2.28 2008/10/18 00:35:32 petere Exp $ -->
 
 <appendix id="features">
  <title>SQL Conformance</title>
@@ -14,10 +14,9 @@
  <para>
   The formal name of the SQL standard is ISO/IEC 9075 <quote>Database
   Language SQL</quote>.  A revised version of the standard is released
-  from time to time; the most recent full update appearing in 2003,
-  with a partial update appearing in 2006.  The 2003 version is
-  referred to as ISO/IEC 9075:2003, or simply as SQL:2003.  The
-  versions prior to that were SQL:1999 and SQL-92.  Each version
+  from time to time; the most recent update appearing in 2008.
+  The 2008 version is referred to as ISO/IEC 9075:2008, or simply as SQL:2008.
+  The versions prior to that were SQL:2003, SQL:1999, and SQL-92.  Each version
   replaces the previous one, so claims of conformance to earlier
   versions have no official merit.
   <productname>PostgreSQL</productname> development aims for
@@ -53,7 +52,8 @@
  </para>
 
  <para>
-  The <acronym>SQL:2003</acronym> standard is also split into a number
+  The <acronym>SQL:2008</acronym> and <acronym>SQL:2003</acronym>
+  standard versions are also split into a number
   of parts.  Each is known by a shorthand name.  Note that these parts
   are not consecutively numbered.
 
@@ -79,18 +79,18 @@
  </para>
 
  <para>
-  PostgreSQL supports most of the major features of SQL:2003.  Out of
-  164 mandatory features required for full Core conformance,
-  PostgreSQL conforms to at least 150.  In addition, there is a long
+  PostgreSQL supports most of the major features of SQL:2008.  Out of
+  179 mandatory features required for full Core conformance,
+  PostgreSQL conforms to at least 160.  In addition, there is a long
   list of supported optional features.  It might be worth noting that at
   the time of writing, no current version of any database management
-  system claims full conformance to Core SQL:2003.
+  system claims full conformance to Core SQL:2008.
  </para>
 
  <para>
   In the following two sections, we provide a list of those features
   that <productname>PostgreSQL</productname> supports, followed by a
-  list of the features defined in <acronym>SQL:2003</acronym> which
+  list of the features defined in <acronym>SQL:2008</acronym> which
   are not yet supported in <productname>PostgreSQL</productname>.
   Both of these lists are approximate: There might be minor details that
   are nonconforming for a feature that is listed as supported, and
@@ -133,7 +133,7 @@
    <title>Unsupported Features</title>
 
    <para>
-    The following features defined in <acronym>SQL:2003</acronym> are not
+    The following features defined in <acronym>SQL:2008</acronym> are not
     implemented in this release of
     <productname>PostgreSQL</productname>. In a few cases, equivalent
     functionality is available.
diff --git a/doc/src/sgml/mk_feature_tables.pl b/doc/src/sgml/mk_feature_tables.pl
index 7b4f45f3de196b5f0ff8bf5fa49049dbd0cfea1d..5dad68b809dae43a4c3027c90337ac7467a75a21 100644
--- a/doc/src/sgml/mk_feature_tables.pl
+++ b/doc/src/sgml/mk_feature_tables.pl
@@ -1,6 +1,6 @@
 # /usr/bin/perl -w
 
-# $PostgreSQL: pgsql/doc/src/sgml/mk_feature_tables.pl,v 2.2 2006/03/11 04:38:30 momjian Exp $
+# $PostgreSQL: pgsql/doc/src/sgml/mk_feature_tables.pl,v 2.3 2008/10/18 00:35:32 petere Exp $
 
 my $yesno = $ARGV[0];
 
@@ -30,6 +30,8 @@ while (<FEAT>) {
 
     $is_supported eq $yesno || next;
 
+    $feature_name =~ s/</&lt;/g;
+    $feature_name =~ s/>/&gt;/g;
     $subfeature_name =~ s/</&lt;/g;
     $subfeature_name =~ s/>/&gt;/g;
 
diff --git a/src/backend/catalog/sql_features.txt b/src/backend/catalog/sql_features.txt
index ba3f3a9046e3414698b98648ef88c50cbcea34f7..0fedc5729b40e0ff71fcf6a496b43bd9e9c03699 100644
--- a/src/backend/catalog/sql_features.txt
+++ b/src/backend/catalog/sql_features.txt
@@ -11,6 +11,7 @@ B032	Extended dynamic SQL			NO
 B032	Extended dynamic SQL	01	<describe input statement>	NO	
 B033	Untyped SQL-invoked function arguments			NO	
 B034	Dynamic specification of cursor attributes			NO	
+B035	Non-extended descriptor names			NO	
 B041	Extensions to embedded SQL exception declarations			NO	
 B051	Enhanced execution rights			NO	
 B111	Module language Ada			NO	
@@ -106,13 +107,13 @@ E101	Basic data manipulation	01	INSERT statement	YES
 E101	Basic data manipulation	03	Searched UPDATE statement	YES	
 E101	Basic data manipulation	04	Searched DELETE statement	YES	
 E111	Single row SELECT statement			YES	
-E121	Basic cursor support			NO	
+E121	Basic cursor support			YES	
 E121	Basic cursor support	01	DECLARE CURSOR	YES	
 E121	Basic cursor support	02	ORDER BY columns need not be in select list	YES	
 E121	Basic cursor support	03	Value expressions in ORDER BY clause	YES	
 E121	Basic cursor support	04	OPEN statement	YES	
-E121	Basic cursor support	06	Positioned UPDATE statement	NO	
-E121	Basic cursor support	07	Positioned DELETE statement	NO	
+E121	Basic cursor support	06	Positioned UPDATE statement	YES	
+E121	Basic cursor support	07	Positioned DELETE statement	YES	
 E121	Basic cursor support	08	CLOSE statement	YES	
 E121	Basic cursor support	10	FETCH statement implicit NEXT	YES	
 E121	Basic cursor support	17	WITH HOLD cursors	YES	
@@ -184,6 +185,8 @@ F111	Isolation levels other than SERIALIZABLE	03	REPEATABLE READ isolation level
 F121	Basic diagnostics management			NO	
 F121	Basic diagnostics management	01	GET DIAGNOSTICS statement	NO	
 F121	Basic diagnostics management	02	SET TRANSACTION statement: DIAGNOSTICS SIZE clause	NO	
+F122	Enhanced diagnostics management			NO	
+F123	All diagnostics			NO	
 F131	Grouped operations			YES	
 F131	Grouped operations	01	WHERE, GROUP BY, and HAVING clauses supported in queries with grouped views	YES	
 F131	Grouped operations	02	Multiple tables supported in queries with grouped views	YES	
@@ -193,7 +196,9 @@ F131	Grouped operations	05	Single row SELECT with GROUP BY and HAVING clauses an
 F171	Multiple schemas per user			YES	
 F181	Multiple module support			NO	
 F191	Referential delete actions			YES	
+F200	TRUNCATE TABLE statement			YES	
 F201	CAST function			YES	
+F202	TRUNCATE TABLE: identity column restart option			NO	
 F221	Explicit defaults			YES	
 F222	INSERT statement: DEFAULT VALUES clause			YES	
 F231	Privilege tables			YES	
@@ -223,6 +228,7 @@ F311	Schema definition statement	03	CREATE VIEW	YES
 F311	Schema definition statement	04	CREATE VIEW: WITH CHECK OPTION	NO	
 F311	Schema definition statement	05	GRANT statement	YES	
 F312	MERGE statement			NO	
+F313	Enhanced MERGE statement			NO	
 F321	User authorization			YES	
 F341	Usage tables			NO	
 F361	Subprogram support			YES	
@@ -230,14 +236,17 @@ F381	Extended schema manipulation			YES
 F381	Extended schema manipulation	01	ALTER TABLE statement: ALTER COLUMN clause	YES	
 F381	Extended schema manipulation	02	ALTER TABLE statement: ADD CONSTRAINT clause	YES	
 F381	Extended schema manipulation	03	ALTER TABLE statement: DROP CONSTRAINT clause	YES	
+F382	Alter column data type			NO	PostgreSQL syntax differs
 F391	Long identifiers			YES	
 F392	Unicode escapes in identifiers			NO	
 F393	Unicode escapes in literals			NO	
+F394	Optional normal form specification			NO	
 F401	Extended joined table			YES	
 F401	Extended joined table	01	NATURAL JOIN	YES	
 F401	Extended joined table	02	FULL OUTER JOIN	YES	
 F401	Extended joined table	04	CROSS JOIN	YES	
 F402	Named column joins for LOBs, arrays, and multisets			NO	
+F403	Partitioned joined tables			NO	
 F411	Time zone specification			YES	differences regarding literal interpretation
 F421	National character			YES	
 F431	Read-only scrollable cursors			YES	
@@ -274,7 +283,7 @@ F651	Catalog name qualifiers			YES
 F661	Simple tables			NO	
 F671	Subqueries in CHECK			NO	intentionally omitted
 F672	Retrospective check constraints			YES	
-F691	Collation and translation			NO	
+F690	Collation support			NO	
 F692	Enhanced collation support			NO	
 F693	SQL-session and client module collations			NO	
 F695	Translation support			NO	
@@ -286,17 +295,39 @@ F731	INSERT column privileges			NO
 F741	Referential MATCH types			NO	no partial match yet
 F751	View CHECK enhancements			NO	
 F761	Session management			YES	
+F762	CURRENT_CATALOG			NO	same as current_database()
+F763	CURRENT_SCHEMA			NO	same as current_schema()
 F771	Connection management			YES	
 F781	Self-referencing operations			YES	
 F791	Insensitive cursors			YES	
 F801	Full set function			YES	
-F811	Extended flagging			NO	
 F812	Basic flagging			NO	
 F813	Extended flagging			NO	
 F821	Local table references			NO	
 F831	Full cursor update			NO	
 F831	Full cursor update	01	Updatable scrollable cursors	NO	
 F831	Full cursor update	02	Updatable ordered cursors	NO	
+F841	LIKE_REGEX predicate			NO	
+F842	OCCURENCES_REGEX function			NO	
+F843	POSITION_REGEX function			NO	
+F844	SUBSTRING_REGEX function			NO	
+F845	TRANSLATE_REGEX function			NO	
+F846	Octet support in regular expression operators			NO	
+F847	Nonconstant regular expressions			NO	
+F850	Top-level <order by clause> in <query expression>			YES	
+F851	<order by clause> in subqueries			YES	
+F852	Top-level <order by clause> in views			YES	
+F855	Nested <order by clause> in <query expression>			YES	
+F856	Nested <fetch first clause> in <query expression>			YES	
+F857	Top-level <fetch first clause> in <query expression>			NO	same as LIMIT
+F858	<fetch first clause> in subqueries			NO	same as LIMIT
+F859	Top-level <fetch first clause> in views			NO	same as LIMIT
+F860	<fetch first row count> in <fetch first clause>			NO	same as LIMIT
+F861	Top-level <result offset clause> in <query expression>			NO	same as OFFSET
+F862	<result offset clause> in subqueries			NO	same as OFFSET
+F863	Nested <result offset clause> in <query expression>			NO	same as OFFSET
+F864	Top-level <result offset clause> in views			NO	same as OFFSET
+F865	<offset row count> in <result offset clause>			NO	same as OFFSET
 S011	Distinct data types			NO	
 S011	Distinct data types	01	USER_DEFINED_TYPES view	NO	
 S023	Basic structured types			NO	
@@ -319,6 +350,7 @@ S094	Arrays of reference types			NO
 S095	Array constructors by query			NO	
 S096	Optional array bounds			NO	
 S097	Array element assignment			NO	
+S098	ARRAY_AGG			NO	
 S111	ONLY in query expressions			YES	
 S151	Type predicate			NO	
 S161	Subtype treatment			NO	
@@ -341,7 +373,16 @@ S274	Multisets of reference types			NO
 S275	Advanced multiset support			NO	
 S281	Nested collection types			NO	
 S291	Unique constraint on entire row			NO	
+S301	Enhanced UNNEST			NO	
+S401	Distinct types based on array types			NO	
+S402	Distinct types based on distinct types			NO	
+S403	MAX_CARDINALITY			NO	
+S404	TRIM_ARRAY			NO	
 T011	Timestamp in Information Schema			NO	
+T021	BINARY and VARBINARY data types			NO	
+T022	Advanced support for BINARY and VARBINARY data types			NO	
+T023	Compound binary literal			NO	
+T024	Spaces in binary literals			NO	
 T031	BOOLEAN data type			YES	
 T041	Basic LOB data type support			NO	
 T041	Basic LOB data type support	01	BLOB data type	NO	
@@ -350,11 +391,14 @@ T041	Basic LOB data type support	03	POSITION, LENGTH, LOWER, TRIM, UPPER, and SU
 T041	Basic LOB data type support	04	Concatenation of LOB data types	NO	
 T041	Basic LOB data type support	05	LOB locator: non-holdable	NO	
 T042	Extended LOB data type support			NO	
+T043	Multiplier T			NO	
+T044	Multiplier P			NO	
 T051	Row types			NO	
 T052	MAX and MIN for row types			NO	
 T053	Explicit aliases for all-fields reference			NO	
 T061	UCS support			NO	
 T071	BIGINT data type			YES	
+T101	Enhanced nullability determiniation			NO	
 T111	Updatable joins, unions, and columns			NO	
 T121	WITH (excluding RECURSIVE) in query expression			NO	
 T122	WITH (excluding RECURSIVE) in subquery			NO	
@@ -369,6 +413,8 @@ T173	Extended LIKE clause in table definition			NO
 T174	Identity columns			NO	
 T175	Generated columns			NO	
 T176	Sequence generator support			NO	
+T177	Sequence generator support: simple restart option			NO	
+T178	Identity columns:  simple restart option			NO	
 T191	Referential action RESTRICT			YES	
 T201	Comparable data types for referential constraints			YES	
 T211	Basic trigger capability			NO	
@@ -381,6 +427,7 @@ T211	Basic trigger capability	06	Support for run-time rules for the interaction
 T211	Basic trigger capability	07	TRIGGER privilege	YES	
 T211	Basic trigger capability	08	Multiple triggers for the same event are executed in the order in which they were created in the catalog	NO	intentionally omitted
 T212	Enhanced trigger capability			YES	
+T213	INSTEAD OF triggers			NO	
 T231	Sensitive cursors			YES	
 T241	START TRANSACTION statement			YES	
 T251	SET TRANSACTION statement: LOCAL option			NO	
@@ -388,6 +435,7 @@ T261	Chained transactions			NO
 T271	Savepoints			YES	
 T272	Enhanced savepoint management			NO	
 T281	SELECT privilege with column granularity			NO	
+T285	Enhanced derived column names			NO	
 T301	Functional dependencies			NO	
 T312	OVERLAY function			YES	
 T321	Basic SQL-invoked routines			NO	
@@ -429,6 +477,11 @@ T601	Local cursor references			NO
 T611	Elementary OLAP operations			NO	
 T612	Advanced OLAP operations			NO	
 T613	Sampling			NO	
+T614	NTILE function			NO	
+T615	LEAD and LAG functions			NO	
+T616	Null treatment option for LEAD and LAG functions			NO	
+T617	FIRST_VALUE and LAST_VALUE function			NO	
+T618	NTH_VALUE function			NO	
 T621	Enhanced numeric functions			NO	
 T631	IN predicate with one list element			NO	
 T641	Multiple column assignment			NO	
@@ -444,14 +497,17 @@ X013	Distinct types of XML type			NO
 X014	Attributes of XML type			NO	
 X015	Fields of XML type			NO	
 X016	Persistent XML values			YES	
-X020	XML concatenation			YES	
+X020	XMLConcat			YES	
+X025	XMLCast			NO	
+X030	XMLDocument			NO	
 X031	XMLElement			YES	
 X032	XMLForest			YES	
-X033	XMLRoot			YES	
 X034	XMLAgg			YES	
 X035	XMLAgg: ORDER BY option			NO	
 X036	XMLComment			YES	
 X037	XMLPI			YES	
+X038	XMLText			NO	
+X040	Basic table mapping			NO	
 X041	Basic table mapping: nulls absent			YES	
 X042	Basic table mapping: null as nil			YES	
 X043	Basic table mapping: table as forest			YES	
@@ -470,21 +526,38 @@ X056	Advanced table mapping: data mapping			YES
 X057	Advanced table mapping: metadata mapping			YES	
 X058	Advanced table mapping: base64 encoding of binary strings			YES	
 X059	Advanced table mapping: hex encoding of binary strings			YES	
-X060	XMLParse: CONTENT option			YES	
-X061	XMLParse: DOCUMENT option			YES	
-X062	XMLParse: explicit WHITESPACE option			YES	
-X070	XMLSerialize: CONTENT option			YES	
-X071	XMLSerialize: DOCUMENT option			YES	
+X060	XMLParse: Character string input and CONTENT option			YES	
+X061	XMLParse: Character string input and DOCUMENT option			YES	
+X065	XMLParse: BLOB input and CONTENT option			NO	
+X066	XMLParse: BLOB input and DOCUMENT option			NO	
+X068	XMLSerialize: BOM			NO	
+X069	XMLSerialize: INDENT			NO	
+X070	XMLSerialize: Character string serialization and CONTENT option			YES	
+X071	XMLSerialize: Character string serialization and DOCUMENT option			YES	
+X072	XMLSerialize: Character string serialization			YES	
+X073	XMLSerialize: BLOB serialization and CONTENT option			NO	
+X074	XMLSerialize: BLOB serialization and DOCUMENT option			NO	
+X075	XMLSerialize: BLOB serialization			NO	
+X076	XMLSerialize: VERSION			NO	
+X077	XMLSerialize: explicit ENCODING option			NO	
+X078	XMLSerialize: explicit XML declaration			NO	
 X080	Namespaces in XML publishing			NO	
 X081	Query-level XML namespace declarations			NO	
 X082	XML namespace declarations in DML			NO	
 X083	XML namespace declarations in DDL			NO	
 X084	XML namespace declarations in compound statements			NO	
+X085	Predefined namespace prefixes			NO	
+X086	XML namespace declarations in XMLTable
 X090	XML document predicate			YES	
+X091	XML content predicate			NO	
+X096	XMLExists			NO	
 X100	Host language support for XML: CONTENT option			NO	
 X101	Host language support for XML: DOCUMENT option			NO	
 X110	Host language support for XML: VARCHAR mapping			NO	
 X111	Host language support for XML: CLOB mapping			NO	
+X112	Host language support for XML: BLOB mapping			NO	
+X113	Host language support for XML: STRIP WHITESPACE option			NO	
+X114	Host language support for XML: PRESERVE WHITESPACE option			NO	
 X120	XML parameters in SQL routines			YES	
 X121	XML parameters in external routines			YES	
 X131	Query-level XMLBINARY clause			NO	
@@ -492,3 +565,63 @@ X132	XMLBINARY clause in DML			NO
 X133	XMLBINARY clause in DDL			NO	
 X134	XMLBINARY clause in compound statements			NO	
 X135	XMLBINARY clause in subqueries			NO	
+X141	IS VALID predicate: data-driven case			NO	
+X142	IS VALID predicate: ACCORDING TO clause			NO	
+X143	IS VALID predicate: ELEMENT clause			NO	
+X144	IS VALID predicate: schema location			NO	
+X145	IS VALID predicate outside check constraints			NO	
+X151	IS VALID predicate with DOCUMENT option			NO	
+X152	IS VALID predicate with CONTENT option			NO	
+X153	IS VALID predicate with SEQUENCE option			NO	
+X155	IS VALID predicate: NAMESPACE without ELEMENT clause			NO	
+X157	IS VALID predicate: NO NAMESPACE with ELEMENT clause			NO	
+X160	Basic Information Schema for registered XML Schemas			NO	
+X161	Advanced Information Schema for registered XML Schemas			NO	
+X170	XML null handling options			NO	
+X171	NIL ON NO CONTENT option			NO	
+X181	XML(DOCUMENT(UNTYPED)) type			NO	
+X182	XML(DOCUMENT(ANY)) type			NO	
+X190	XML(SEQUENCE) type			NO	
+X191	XML(DOCUMENT(XMLSCHEMA)) type			NO	
+X192	XML(CONTENT(XMLSCHEMA)) type			NO	
+X200	XMLQuery			NO	
+X201	XMLQuery: RETURNING CONTENT			NO	
+X202	XMLQuery: RETURNING SEQUENCE			NO	
+X203	XMLQuery: passing a context item			NO	
+X204	XMLQuery: initializing an XQuery variable			NO	
+X205	XMLQuery: EMPTY ON EMPTY option			NO	
+X206	XMLQuery: NULL ON EMPTY option			NO	
+X211	XML 1.1 support			NO	
+X221	XML passing mechanism BY VALUE			NO	
+X222	XML passing mechanism BY REF			NO	
+X231	XML(CONTENT(UNTYPED)) type			NO	
+X232	XML(CONTENT(ANY)) type			NO	
+X241	RETURNING CONTENT in XML publishing			NO	
+X242	RETURNING SEQUENCE in XML publishing			NO	
+X251	Persistent XML values of XML(DOCUMENT(UNTYPED)) type			NO	
+X252	Persistent XML values of XML(DOCUMENT(ANY)) type			NO	
+X253	Persistent XML values of XML(CONTENT(UNTYPED)) type			NO	
+X254	Persistent XML values of XML(CONTENT(ANY)) type			NO	
+X255	Persistent XML values of XML(SEQUENCE) type			NO	
+X256	Persistent XML values of XML(DOCUMENT(XMLSCHEMA)) type			NO	
+X257	Persistent XML values of XML(CONTENT(XMLSCHEMA)) type			NO	
+X260	XML type: ELEMENT clause			NO	
+X261	XML type: NAMESPACE without ELEMENT clause			NO	
+X263	XML type: NO NAMESPACE with ELEMENT clause			NO	
+X264	XML type: schema location			NO	
+X271	XMLValidate: data-driven case			NO	
+X272	XMLValidate: ACCORDING TO clause			NO	
+X273	XMLValidate: ELEMENT clause			NO	
+X274	XMLValidate: schema location			NO	
+X281	XMLValidate: with DOCUMENT option			NO	
+X282	XMLValidate with CONTENT option			NO	
+X283	XMLValidate with SEQUENCE option			NO	
+X284	XMLValidate NAMESPACE without ELEMENT clause			NO	
+X286	XMLValidate: NO NAMESPACE with ELEMENT clause			NO	
+X300	XMLTable			NO	
+X301	XMLTable: derived column list option			NO	
+X302	XMLTable: ordinality column option			NO	
+X303	XMLTable: column default option			NO	
+X304	XMLTable: passing a context item			NO	
+X305	XMLTable: initializing an XQuery variable			NO	
+X400	Name and identifier mapping			NO