ALTER DEFAULT PRIVILEGES [ FOR { ROLE | USER } $target_role$ [ , ... ] ] [ IN SCHEMA $schema_name$ [ , ... ] ] $abbreviated_grant_or_revoke$ where $abbreviated_grant_or_revoke$ is: GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER } [ , ... ] | ALL [ PRIVILEGES ] } ON TABLES TO { [ GROUP ] $role_name$ | PUBLIC } [ , ... ] [ WITH GRANT OPTION ] | GRANT { { USAGE | SELECT | UPDATE } [ , ... ] | ALL [ PRIVILEGES ] } ON SEQUENCES TO { [ GROUP ] $role_name$ | PUBLIC } [ , ... ] [ WITH GRANT OPTION ] | GRANT { EXECUTE | ALL [ PRIVILEGES ] } ON { FUNCTIONS | ROUTINES } TO { [ GROUP ] $role_name$ | PUBLIC } [ , ... ] [ WITH GRANT OPTION ] | GRANT { USAGE | ALL [ PRIVILEGES ] } ON TYPES TO { [ GROUP ] $role_name$ | PUBLIC } [ , ... ] [ WITH GRANT OPTION ] | GRANT { USAGE | CREATE | ALL [ PRIVILEGES ] } ON SCHEMAS TO { [ GROUP ] $role_name$ | PUBLIC } [ , ... ] [ WITH GRANT OPTION ] | REVOKE [ GRANT OPTION FOR ] { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER } [ , ... ] | ALL [ PRIVILEGES ] } ON TABLES FROM { [ GROUP ] $role_name$ | PUBLIC } [ , ... ] [ CASCADE | RESTRICT ] | REVOKE [ GRANT OPTION FOR ] { { USAGE | SELECT | UPDATE } [ , ... ] | ALL [ PRIVILEGES ] } ON SEQUENCES FROM { [ GROUP ] $role_name$ | PUBLIC } [ , ... ] [ CASCADE | RESTRICT ] | REVOKE [ GRANT OPTION FOR ] { EXECUTE | ALL [ PRIVILEGES ] } ON { FUNCTIONS | ROUTINES } FROM { [ GROUP ] $role_name$ | PUBLIC } [ , ... ] [ CASCADE | RESTRICT ] | REVOKE [ GRANT OPTION FOR ] { USAGE | ALL [ PRIVILEGES ] } ON TYPES FROM { [ GROUP ] $role_name$ | PUBLIC } [ , ... ] [ CASCADE | RESTRICT ] | REVOKE [ GRANT OPTION FOR ] { USAGE | CREATE | ALL [ PRIVILEGES ] } ON SCHEMAS FROM { [ GROUP ] $role_name$ | PUBLIC } [ , ... ] [ CASCADE | RESTRICT ]