Skip to content

Large amount of unnecessary privileges in RDB$USER_PRIVILEGES for SYSDBA #8881

@usystem

Description

@usystem

In a small database with 40 tables in Firebird 3:

SELECT 
    RDB$PRIVILEGE,
    RDB$GRANT_OPTION,
    COUNT(*) as cnt
FROM RDB$USER_PRIVILEGES 
WHERE RDB$USER = 'SYSDBA'
  AND RDB$OBJECT_TYPE = 9
GROUP BY RDB$PRIVILEGE, RDB$GRANT_OPTION
ORDER BY cnt DESC;

Result:

G   1   327,000 records.

What is this and how to fix it? Has this been addressed somewhere? What is this?

The G privilege with GRANT_OPTION = 1 means "WITH GRANT OPTION" - permission to grant these privileges to other users. Having 327,000 such records for SYSDBA is completely abnormal and redundant because:

  • SYSDBA already has all privileges by default
  • SYSDBA can grant any privileges anyway
  • This is system-level bloat that slows down backups

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions