diff --git a/doc/src/sgml/array.sgml b/doc/src/sgml/array.sgml
index ce338c770c9..5b8ef5cabe6 100644
--- a/doc/src/sgml/array.sgml
+++ b/doc/src/sgml/array.sgml
@@ -756,10 +756,7 @@ SELECT f1[1][-2][3] AS e1, f1[1][-1][5] AS e2
If the value written for an element is NULL (in any case
variant), the element is taken to be NULL. The presence of any quotes
or backslashes disables this and allows the literal string value
- NULL
to be entered. Also, for backward compatibility with
- pre-8.2 versions of PostgreSQL, the configuration parameter can be turned
- off to suppress recognition of NULL as a NULL.
+ NULL
to be entered.
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index f36fbb60101..e537b3b0043 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -11941,32 +11941,6 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir'
-
- array_nulls (boolean)
-
- array_nulls configuration parameter
-
-
-
-
- This controls whether the array input parser recognizes
- unquoted NULL as specifying a null array element.
- By default, this is on, allowing array values containing
- null values to be entered. However, PostgreSQL versions
- before 8.2 did not support null values in arrays, and therefore would
- treat NULL as specifying a normal array element with
- the string value NULL
. For backward compatibility with
- applications that require the old behavior, this variable can be
- turned off.
-
-
-
- Note that it is possible to create array values containing null values
- even when this variable is off.
-
-
-
-
backslash_quote (enum)
stringsbackslash quotes
diff --git a/src/backend/utils/adt/arrayfuncs.c b/src/backend/utils/adt/arrayfuncs.c
index ef66182b047..f1f6336e5c8 100644
--- a/src/backend/utils/adt/arrayfuncs.c
+++ b/src/backend/utils/adt/arrayfuncs.c
@@ -38,11 +38,6 @@
#include "utils/typcache.h"
-/*
- * GUC parameter
- */
-bool Array_nulls = true;
-
/*
* Local definitions
*/
@@ -925,7 +920,7 @@ unquoted_element:
elembuf->len = dstlen;
*srcptr = p;
/* Check if it's unquoted "NULL" */
- if (Array_nulls && !has_escapes &&
+ if (!has_escapes &&
pg_strcasecmp(elembuf->data, "NULL") == 0)
return ATOK_ELEM_NULL;
else
diff --git a/src/backend/utils/misc/guc_parameters.dat b/src/backend/utils/misc/guc_parameters.dat
index c57441f7d98..380679a76c0 100644
--- a/src/backend/utils/misc/guc_parameters.dat
+++ b/src/backend/utils/misc/guc_parameters.dat
@@ -105,13 +105,6 @@
max => 'INT_MAX / 2',
},
-{ name => 'array_nulls', type => 'bool', context => 'PGC_USERSET', group => 'COMPAT_OPTIONS_PREVIOUS',
- short_desc => 'Enables input of NULL elements in arrays.',
- long_desc => 'When turned on, unquoted NULL in an array input value means a null value; otherwise it is taken literally.',
- variable => 'Array_nulls',
- boot_val => 'true',
-},
-
{ name => 'authentication_timeout', type => 'int', context => 'PGC_SIGHUP', group => 'CONN_AUTH_AUTH',
short_desc => 'Sets the maximum allowed time to complete client authentication.',
flags => 'GUC_UNIT_S',
diff --git a/src/backend/utils/misc/postgresql.conf.sample b/src/backend/utils/misc/postgresql.conf.sample
index e759f06b50f..01f98de8a9f 100644
--- a/src/backend/utils/misc/postgresql.conf.sample
+++ b/src/backend/utils/misc/postgresql.conf.sample
@@ -892,7 +892,6 @@
# - Previous PostgreSQL Versions -
-#array_nulls = on
#backslash_quote = safe_encoding # on, off, or safe_encoding
#lo_compat_privileges = off
#quote_all_identifiers = off
diff --git a/src/include/utils/array.h b/src/include/utils/array.h
index 88e4f4d70d8..e7ee184034e 100644
--- a/src/include/utils/array.h
+++ b/src/include/utils/array.h
@@ -343,11 +343,6 @@ typedef struct ArrayIteratorData *ArrayIterator;
(a)->xpn.lbound : ARR_LBOUND((ArrayType *) (a)))
-/*
- * GUC parameter
- */
-extern PGDLLIMPORT bool Array_nulls;
-
/*
* prototypes for functions defined in arrayfuncs.c
*/