diff --git a/doc/src/sgml/hstore.sgml b/doc/src/sgml/hstore.sgml
index 76d876b..78c2e81 100644
--- a/doc/src/sgml/hstore.sgml
+++ b/doc/src/sgml/hstore.sgml
@@ -225,6 +225,14 @@
+
+
+ The =>> operator is deprecated and may be removed in a
+ future release. The use of the hstore(text, text)
+ function is recommended as an alternative.
+
+
+
hstore> Functions
@@ -266,6 +274,14 @@
+ hstore(text, text)
+ hstore
+ make single-item hstore>
+ hstore('a', 'b')
+ "a"=>"b"
+
+
+
akeys(hstore)
text[]
get hstore>'s keys as an array
diff --git a/src/backend/commands/operatorcmds.c b/src/backend/commands/operatorcmds.c
index 9c07cf3..c0dc7a2 100644
--- a/src/backend/commands/operatorcmds.c
+++ b/src/backend/commands/operatorcmds.c
@@ -88,6 +88,16 @@ DefineOperator(List *names, List *parameters)
/* Convert list of names to a name and namespace */
oprNamespace = QualifiedNameGetCreationNamespace(names, &oprName);
+ /*
+ * The SQL standard committee has decided that => should be used for
+ * named parameters; therefore, a future release of PostgreSQL may
+ * disallow it as the name of a user-defined operator.
+ */
+ if (strcmp(oprName, "=>") == 0)
+ ereport(WARNING,
+ (errmsg("=> is deprecated as an operator name"),
+ errdetail("This name may be disallowed altogether in future versions of PostgreSQL.")));
+
/* Check we have creation rights in target namespace */
aclresult = pg_namespace_aclcheck(oprNamespace, GetUserId(), ACL_CREATE);
if (aclresult != ACLCHECK_OK)