*** a/src/backend/utils/adt/acl.c --- b/src/backend/utils/adt/acl.c *************** *** 2031,2036 **** convert_table_priv_string(text *priv_type_text) --- 2031,2041 ---- {"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,2248 **** convert_sequence_priv_string(text *priv_type_text) --- 2248,2254 ---- {"USAGE", ACL_USAGE}, {"SELECT", ACL_SELECT}, {"UPDATE", ACL_UPDATE}, + {"ANY", ACL_USAGE | ACL_SELECT | ACL_UPDATE}, {NULL, 0} }; *************** *** 2858,2863 **** convert_column_priv_string(text *priv_type_text) --- 2864,2872 ---- {"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,3060 **** convert_database_priv_string(text *priv_type_text) --- 3064,3072 ---- {"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,3243 **** convert_foreign_data_wrapper_priv_string(text *priv_type_text) --- 3250,3256 ---- 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,3443 **** convert_function_priv_string(text *priv_type_text) --- 3451,3457 ---- 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,3634 **** convert_language_priv_string(text *priv_type_text) --- 3643,3649 ---- 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,3827 **** convert_schema_priv_string(text *priv_type_text) --- 3837,3843 ---- {"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,4009 **** convert_server_priv_string(text *priv_type_text) --- 4020,4026 ---- 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,4191 **** convert_tablespace_priv_string(text *priv_type_text) --- 4203,4209 ---- 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,4390 **** convert_type_priv_string(text *priv_type_text) --- 4403,4409 ---- 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,4571 **** convert_role_priv_string(text *priv_type_text) --- 4585,4591 ---- {"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} };