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 ]
