diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml
index f42f3e9341217695ca665f1b24dbf61a419a64ee..5c3580aec68bd1cdc478bef0c20ff0a51135187d 100644
--- a/doc/src/sgml/func.sgml
+++ b/doc/src/sgml/func.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/func.sgml,v 1.475 2009/04/07 00:31:25 tgl Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/func.sgml,v 1.476 2009/04/09 17:39:47 tgl Exp $ -->
 
  <chapter id="functions">
   <title>Functions and Operators</title>
@@ -9368,9 +9368,6 @@ SELECT NULLIF(value, '(none)') ...
  <indexterm>
     <primary>array_upper</primary>
   </indexterm>
-  <indexterm>
-    <primary>cardinality</primary>
-  </indexterm>
   <indexterm>
     <primary>string_to_array</primary>
   </indexterm>
@@ -9503,19 +9500,6 @@ SELECT NULLIF(value, '(none)') ...
         <entry><literal>array_upper(ARRAY[1,2,3,4], 1)</literal></entry>
         <entry><literal>4</literal></entry>
        </row>
-       <row>
-        <entry>
-         <literal>
-          <function>cardinality</function>(<type>anyarray</type>)
-         </literal>
-        </entry>
-        <entry><type>int</type></entry>
-        <entry>returns the length of the first dimension of the array
-        (special case of <function>array_length</function> for SQL
-        compatibility)</entry>
-        <entry><literal>cardinality(array[1,2,3])</literal></entry>
-        <entry><literal>3</literal></entry>
-       </row>
        <row>
         <entry>
          <literal>
diff --git a/doc/src/sgml/release.sgml b/doc/src/sgml/release.sgml
index acd2786caad4a817175ef443bf58e9e16d348ebe..a13828d52c91e50c55dc809a154f2b6f950d6b91 100644
--- a/doc/src/sgml/release.sgml
+++ b/doc/src/sgml/release.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.624 2009/04/07 21:30:01 momjian Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.625 2009/04/09 17:39:47 tgl Exp $ -->
 <!--
 
 Typical markup:
@@ -1624,11 +1624,6 @@ do it for earlier branch release files.
         of an array for the specified dimensions (Jim Nasby, Robert
         Haas, Peter Eisentraut)
        </para>
-
-       <para>
-        Also add identically-functioning <acronym>SQL</>-standard
-        function <function>cardinality()</>.
-       </para>
       </listitem>
 
       <listitem>
diff --git a/src/backend/utils/adt/arrayfuncs.c b/src/backend/utils/adt/arrayfuncs.c
index 8b36edc42fa927f89a6d3d9c3bcde5361ad36efc..bc661ae4171898d83a8920f926c4cd22f200fed2 100644
--- a/src/backend/utils/adt/arrayfuncs.c
+++ b/src/backend/utils/adt/arrayfuncs.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/utils/adt/arrayfuncs.c,v 1.154 2009/04/05 22:28:59 tgl Exp $
+ *	  $PostgreSQL: pgsql/src/backend/utils/adt/arrayfuncs.c,v 1.155 2009/04/09 17:39:48 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -1668,28 +1668,6 @@ array_length(PG_FUNCTION_ARGS)
 	PG_RETURN_INT32(result);
 }
 
-/*
- * array_cardinality :
- *		SQL-spec alias for array_length(v, 1)
- */
-Datum
-array_cardinality(PG_FUNCTION_ARGS)
-{
-	ArrayType  *v = PG_GETARG_ARRAYTYPE_P(0);
-	int		   *dimv;
-	int			result;
-
-	/* Sanity check: does it look like an array at all? */
-	if (ARR_NDIM(v) <= 0 || ARR_NDIM(v) > MAXDIM)
-		PG_RETURN_NULL();
-
-	dimv = ARR_DIMS(v);
-
-	result = dimv[0];
-
-	PG_RETURN_INT32(result);
-}
-
 /*
  * array_ref :
  *	  This routine takes an array pointer and a subscript array and returns
diff --git a/src/include/catalog/catversion.h b/src/include/catalog/catversion.h
index 64c6e08e4529cc18ec0cc70d7f460a0145e3b887..bf23d146237e892c002b4775326b505ddcfb0ae6 100644
--- a/src/include/catalog/catversion.h
+++ b/src/include/catalog/catversion.h
@@ -37,7 +37,7 @@
  * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/include/catalog/catversion.h,v 1.529 2009/04/07 00:31:26 tgl Exp $
+ * $PostgreSQL: pgsql/src/include/catalog/catversion.h,v 1.530 2009/04/09 17:39:48 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -53,6 +53,6 @@
  */
 
 /*							yyyymmddN */
-#define CATALOG_VERSION_NO	200904061
+#define CATALOG_VERSION_NO	200904091
 
 #endif
diff --git a/src/include/catalog/pg_proc.h b/src/include/catalog/pg_proc.h
index fb711375a07a2d5849d2f28d95fb50eb681b1037..504bb3ebd9c4abb27dd7ef2760d7958fd2482d3f 100644
--- a/src/include/catalog/pg_proc.h
+++ b/src/include/catalog/pg_proc.h
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/include/catalog/pg_proc.h,v 1.541 2009/04/07 00:31:26 tgl Exp $
+ * $PostgreSQL: pgsql/src/include/catalog/pg_proc.h,v 1.542 2009/04/09 17:39:48 tgl Exp $
  *
  * NOTES
  *	  The script catalog/genbki.sh reads this file and generates .bki
@@ -1005,8 +1005,6 @@ DATA(insert OID = 2092 (  array_upper	   PGNSP PGUID 12 1 0 0 f f f t f i 2 0 23
 DESCR("array upper dimension");
 DATA(insert OID = 2176 (  array_length     PGNSP PGUID 12 1 0 0 f f f t f i 2 0 23 "2277 23" _null_ _null_ _null_ _null_ array_length _null_ _null_ _null_ ));
 DESCR("array length");
-DATA(insert OID = 2179 (  cardinality      PGNSP PGUID 12 1 0 0 f f f t f i 1 0 23 "2277" _null_ _null_ _null_ _null_ array_cardinality _null_ _null_ _null_ ));
-DESCR("array cardinality");
 DATA(insert OID = 378 (  array_append	   PGNSP PGUID 12 1 0 0 f f f f f i 2 0 2277 "2277 2283" _null_ _null_ _null_ _null_ array_push _null_ _null_ _null_ ));
 DESCR("append element onto end of array");
 DATA(insert OID = 379 (  array_prepend	   PGNSP PGUID 12 1 0 0 f f f f f i 2 0 2277 "2283 2277" _null_ _null_ _null_ _null_ array_push _null_ _null_ _null_ ));
diff --git a/src/include/utils/array.h b/src/include/utils/array.h
index f2c79a62196fa89c92dc4fd7a825d56a36d28073..b2942d8f8c57908f78dbb32efc3635f1ccf14328 100644
--- a/src/include/utils/array.h
+++ b/src/include/utils/array.h
@@ -49,7 +49,7 @@
  * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/include/utils/array.h,v 1.75 2009/04/05 22:28:59 tgl Exp $
+ * $PostgreSQL: pgsql/src/include/utils/array.h,v 1.76 2009/04/09 17:39:50 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -200,7 +200,6 @@ extern Datum array_dims(PG_FUNCTION_ARGS);
 extern Datum array_lower(PG_FUNCTION_ARGS);
 extern Datum array_upper(PG_FUNCTION_ARGS);
 extern Datum array_length(PG_FUNCTION_ARGS);
-extern Datum array_cardinality(PG_FUNCTION_ARGS);
 extern Datum array_larger(PG_FUNCTION_ARGS);
 extern Datum array_smaller(PG_FUNCTION_ARGS);
 extern Datum generate_subscripts(PG_FUNCTION_ARGS);
diff --git a/src/test/regress/expected/arrays.out b/src/test/regress/expected/arrays.out
index ec2fd52c7f82d45caf402ede832ab81d991b3212..c7ddc2d7aa5eb8365f53ba463dde168e5e22a1d7 100644
--- a/src/test/regress/expected/arrays.out
+++ b/src/test/regress/expected/arrays.out
@@ -1105,26 +1105,6 @@ select array_length(array[[1,2,3], [4,5,6]], 3);
              
 (1 row)
 
-select cardinality(array[1,2,3]);
- cardinality 
--------------
-           3
-(1 row)
-
-select cardinality(array[[1,2,3], [4,5,6]]);
- cardinality 
--------------
-           2
-(1 row)
-
-select c, cardinality(c), d, cardinality(d) from arrtest;
-         c         | cardinality |       d       | cardinality 
--------------------+-------------+---------------+-------------
- {}                |             | {}            |            
- {foobar,new_word} |           2 | {{elt1,elt2}} |           1
- {foo,new_word}    |           2 | {bar,foo}     |           2
-(3 rows)
-
 select array_agg(unique1) from (select unique1 from tenk1 where unique1 < 15 order by unique1) ss;
               array_agg               
 --------------------------------------
@@ -1143,12 +1123,6 @@ select array_agg(nullif(ten, 4)) from (select ten from tenk1 where unique1 < 15
  {0,1,2,3,NULL,5,6,7,8,9,0,1,2,3,NULL}
 (1 row)
 
-select cardinality(array_agg(unique1)) from tenk1 where unique1 < 15;
- cardinality 
--------------
-          15
-(1 row)
-
 select array_agg(unique1) from tenk1 where unique1 < -15;
  array_agg 
 -----------
diff --git a/src/test/regress/sql/arrays.sql b/src/test/regress/sql/arrays.sql
index a4a91b034c9ef1ab9c7e08ed22327572f555efbf..5e4933c31d3cd2750ee1793efe6eca4305fb273e 100644
--- a/src/test/regress/sql/arrays.sql
+++ b/src/test/regress/sql/arrays.sql
@@ -392,14 +392,10 @@ select array_length(array[[1,2,3], [4,5,6]], 0);
 select array_length(array[[1,2,3], [4,5,6]], 1);
 select array_length(array[[1,2,3], [4,5,6]], 2);
 select array_length(array[[1,2,3], [4,5,6]], 3);
-select cardinality(array[1,2,3]);
-select cardinality(array[[1,2,3], [4,5,6]]);
-select c, cardinality(c), d, cardinality(d) from arrtest;
 
 select array_agg(unique1) from (select unique1 from tenk1 where unique1 < 15 order by unique1) ss;
 select array_agg(ten) from (select ten from tenk1 where unique1 < 15 order by unique1) ss;
 select array_agg(nullif(ten, 4)) from (select ten from tenk1 where unique1 < 15 order by unique1) ss;
-select cardinality(array_agg(unique1)) from tenk1 where unique1 < 15;
 select array_agg(unique1) from tenk1 where unique1 < -15;
 
 select unnest(array[1,2,3]);