Skip to content

Instantly share code, notes, and snippets.

@Azmandius21
Created October 22, 2024 05:24
Show Gist options
  • Save Azmandius21/379da442fbfa11c0cdba30de74adf289 to your computer and use it in GitHub Desktop.
Save Azmandius21/379da442fbfa11c0cdba30de74adf289 to your computer and use it in GitHub Desktop.
Postgresql

=> \dp mytable Access privileges Schema | Name | Type | Access privileges | Column access privileges --------+---------+-------+-----------------------+-------------------------- public | mytable | table | miriam=arwdDxt/miriam | col1: : =r/miriam : miriam_rw=rw/miriam : admin=arw/miriam
(1 row) Записи, выводимые командой \dp, интерпретируются так:

имя_роли=xxxx -- права, назначенные роли =xxxx -- права, назначенные PUBLIC

        r -- SELECT ("read", чтение)
        w -- UPDATE ("write", запись)
        a -- INSERT ("append", добавление)
        d -- DELETE
        D -- TRUNCATE
        x -- REFERENCES
        t -- TRIGGER
        X -- EXECUTE
        U -- USAGE
        C -- CREATE
        c -- CONNECT
        T -- TEMPORARY
  arwdDxt -- ALL PRIVILEGES (все права для таблиц; для других объектов другие)
        * -- право передачи заданного права

    /yyyy -- роль, назначившая это право

В примере выше показано, что увидит пользователь miriam, если создаст таблицу mytable и выполнит:

GRANT SELECT ON mytable TO PUBLIC; GRANT SELECT, UPDATE, INSERT ON mytable TO admin; GRANT SELECT (col1), UPDATE (col1) ON mytable TO miriam_rw;

Для других объектов есть другие команды \d, которые также позволяют просмотреть назначенные права.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment