ONLY is a magical word to convey not to recurse for partition tables used by ALTER TABLE, CREATE INDEX, TRUNCATE, CREATE PUBLICATION, LOCK TABLE, ......
Default behavior should be consistent across all the commands, and that should be to recurse unless ONLY is specified. (Upstream is currently inconsistent with respect to this default behavior across commands specially for ALTER TABLE.)
Currently, GRANT and REVOKE recurse to child partitions in GPDB. To enable dump and restore, plus to help use cases where differing permission is required between parent and child, ONLY option is needed.
PostgreSQL currently doesn't recurse to child partitions for GRANT and REVOKE. That's inconsistent behavior between commands. Plus, necessitates users to run GRANT/REVOKE individually for each child table. We plan to start thread upstream to discuss the option of adding ONLY to GRANT/REVOKE as well and change default behavior to recurse.
Currently for GDPB7, we are planning to add the ONLY option for GRANT and REVOKE. Thoughts?