diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml
index 8ef9fce..946bd4b 100644
--- a/doc/src/sgml/func.sgml
+++ b/doc/src/sgml/func.sgml
@@ -15142,7 +15142,11 @@ SET search_path TO <replaceable>schema</> <optional>, <replaceable>schema</>, ..
    <xref linkend="functions-info-access-table"> lists functions that
    allow the user to query object access privileges programmatically.
    See <xref linkend="ddl-priv"> for more information about
-   privileges.
+   privileges. In case if user wants to find out any privilege check
+   on the corresponding object, instead of providing individual/all
+   privileges, user can specify "any" as an privilege option. The
+   Access Prvilege Inquiry Functions returns true if the user have 
+   any privileges on the object.
   </para>
 
    <table id="functions-info-access-table">
diff --git a/src/backend/utils/adt/acl.c b/src/backend/utils/adt/acl.c
index 3ca168b..4685a51 100644
--- a/src/backend/utils/adt/acl.c
+++ b/src/backend/utils/adt/acl.c
@@ -2031,6 +2031,11 @@ convert_table_priv_string(text *priv_type_text)
 		{"REFERENCES WITH GRANT OPTION", ACL_GRANT_OPTION_FOR(ACL_REFERENCES)},
 		{"TRIGGER", ACL_TRIGGER},
 		{"TRIGGER WITH GRANT OPTION", ACL_GRANT_OPTION_FOR(ACL_TRIGGER)},
+		{"ANY", ACL_SELECT | ACL_GRANT_OPTION_FOR(ACL_SELECT) |
+				ACL_INSERT | ACL_GRANT_OPTION_FOR(ACL_INSERT) | ACL_UPDATE |
+				ACL_GRANT_OPTION_FOR(ACL_UPDATE) | ACL_DELETE | ACL_GRANT_OPTION_FOR(ACL_DELETE) |
+				ACL_TRUNCATE | ACL_GRANT_OPTION_FOR(ACL_TRUNCATE) | ACL_REFERENCES |
+				ACL_GRANT_OPTION_FOR(ACL_REFERENCES) | ACL_TRIGGER | ACL_GRANT_OPTION_FOR(ACL_TRIGGER)},
 		{"RULE", 0},			/* ignore old RULE privileges */
 		{"RULE WITH GRANT OPTION", 0},
 		{NULL, 0}
@@ -2243,6 +2248,7 @@ convert_sequence_priv_string(text *priv_type_text)
 		{"USAGE", ACL_USAGE},
 		{"SELECT", ACL_SELECT},
 		{"UPDATE", ACL_UPDATE},
+		{"ANY", ACL_USAGE | ACL_SELECT | ACL_UPDATE},
 		{NULL, 0}
 	};
 
@@ -2858,6 +2864,9 @@ convert_column_priv_string(text *priv_type_text)
 		{"UPDATE WITH GRANT OPTION", ACL_GRANT_OPTION_FOR(ACL_UPDATE)},
 		{"REFERENCES", ACL_REFERENCES},
 		{"REFERENCES WITH GRANT OPTION", ACL_GRANT_OPTION_FOR(ACL_REFERENCES)},
+		{"ANY", ACL_SELECT | ACL_GRANT_OPTION_FOR(ACL_SELECT) | ACL_INSERT |
+				ACL_GRANT_OPTION_FOR(ACL_INSERT) | ACL_GRANT_OPTION_FOR(ACL_INSERT) | ACL_UPDATE |
+				ACL_GRANT_OPTION_FOR(ACL_UPDATE) | ACL_REFERENCES | ACL_GRANT_OPTION_FOR(ACL_REFERENCES)},
 		{NULL, 0}
 	};
 
@@ -3055,6 +3064,9 @@ convert_database_priv_string(text *priv_type_text)
 		{"TEMP WITH GRANT OPTION", ACL_GRANT_OPTION_FOR(ACL_CREATE_TEMP)},
 		{"CONNECT", ACL_CONNECT},
 		{"CONNECT WITH GRANT OPTION", ACL_GRANT_OPTION_FOR(ACL_CONNECT)},
+		{"ANY", ACL_CREATE | ACL_GRANT_OPTION_FOR(ACL_CREATE) |
+									ACL_CREATE_TEMP | ACL_GRANT_OPTION_FOR(ACL_CREATE_TEMP) | ACL_CREATE_TEMP |
+									ACL_GRANT_OPTION_FOR(ACL_CREATE_TEMP) | ACL_CONNECT | ACL_GRANT_OPTION_FOR(ACL_CONNECT)},
 		{NULL, 0}
 	};
 
@@ -3238,6 +3250,7 @@ convert_foreign_data_wrapper_priv_string(text *priv_type_text)
 	static const priv_map foreign_data_wrapper_priv_map[] = {
 		{"USAGE", ACL_USAGE},
 		{"USAGE WITH GRANT OPTION", ACL_GRANT_OPTION_FOR(ACL_USAGE)},
+		{"ANY", ACL_USAGE | ACL_GRANT_OPTION_FOR(ACL_USAGE)},
 		{NULL, 0}
 	};
 
@@ -3438,6 +3451,7 @@ convert_function_priv_string(text *priv_type_text)
 	static const priv_map function_priv_map[] = {
 		{"EXECUTE", ACL_EXECUTE},
 		{"EXECUTE WITH GRANT OPTION", ACL_GRANT_OPTION_FOR(ACL_EXECUTE)},
+		{"ANY", ACL_EXECUTE | ACL_GRANT_OPTION_FOR(ACL_EXECUTE)},
 		{NULL, 0}
 	};
 
@@ -3629,6 +3643,7 @@ convert_language_priv_string(text *priv_type_text)
 	static const priv_map language_priv_map[] = {
 		{"USAGE", ACL_USAGE},
 		{"USAGE WITH GRANT OPTION", ACL_GRANT_OPTION_FOR(ACL_USAGE)},
+		{"ANY", ACL_USAGE | ACL_GRANT_OPTION_FOR(ACL_USAGE)},
 		{NULL, 0}
 	};
 
@@ -3822,6 +3837,7 @@ convert_schema_priv_string(text *priv_type_text)
 		{"CREATE WITH GRANT OPTION", ACL_GRANT_OPTION_FOR(ACL_CREATE)},
 		{"USAGE", ACL_USAGE},
 		{"USAGE WITH GRANT OPTION", ACL_GRANT_OPTION_FOR(ACL_USAGE)},
+		{"ANY", ACL_CREATE | ACL_GRANT_OPTION_FOR(ACL_CREATE) | ACL_USAGE | ACL_GRANT_OPTION_FOR(ACL_USAGE)},
 		{NULL, 0}
 	};
 
@@ -4004,6 +4020,7 @@ convert_server_priv_string(text *priv_type_text)
 	static const priv_map server_priv_map[] = {
 		{"USAGE", ACL_USAGE},
 		{"USAGE WITH GRANT OPTION", ACL_GRANT_OPTION_FOR(ACL_USAGE)},
+		{"ANY", ACL_USAGE | ACL_GRANT_OPTION_FOR(ACL_USAGE)},
 		{NULL, 0}
 	};
 
@@ -4186,6 +4203,7 @@ convert_tablespace_priv_string(text *priv_type_text)
 	static const priv_map tablespace_priv_map[] = {
 		{"CREATE", ACL_CREATE},
 		{"CREATE WITH GRANT OPTION", ACL_GRANT_OPTION_FOR(ACL_CREATE)},
+		{"ANY", ACL_CREATE | ACL_GRANT_OPTION_FOR(ACL_CREATE)},
 		{NULL, 0}
 	};
 
@@ -4385,6 +4403,7 @@ convert_type_priv_string(text *priv_type_text)
 	static const priv_map type_priv_map[] = {
 		{"USAGE", ACL_USAGE},
 		{"USAGE WITH GRANT OPTION", ACL_GRANT_OPTION_FOR(ACL_USAGE)},
+		{"ANY", ACL_USAGE | ACL_GRANT_OPTION_FOR(ACL_USAGE)},
 		{NULL, 0}
 	};
 
@@ -4566,6 +4585,7 @@ convert_role_priv_string(text *priv_type_text)
 		{"USAGE WITH ADMIN OPTION", ACL_GRANT_OPTION_FOR(ACL_CREATE)},
 		{"MEMBER WITH GRANT OPTION", ACL_GRANT_OPTION_FOR(ACL_CREATE)},
 		{"MEMBER WITH ADMIN OPTION", ACL_GRANT_OPTION_FOR(ACL_CREATE)},
+		{"ANY", ACL_USAGE | ACL_CREATE | ACL_GRANT_OPTION_FOR(ACL_CREATE)},
 		{NULL, 0}
 	};
 
