Управление пользователями
Чтобы создать подключение к PostgreSQL, необходимо сообщить о себе некоторые данные. По имени пользователя система узнает, кто именно подключается к базе данных. Имена пользователей PostgreSQL не всегда совпадают с именами пользователей операционной системы, хотя такое совпадение и не запрещено.
Каждому пользователю PostgreSQL назначается внутренний системный идентификатор (sysid) и пароль, хотя пароль не всегда обязателен для подключения (это зависит от файла конфигурации pg_hba.conf, о котором говорилось в главе 8). Системный идентификатор связывает объекты базы данных с владельцем (так называется пользователь, которому разрешено предоставлять и отзывать права доступа к объекту).
Помимо прав, предоставляемых владельцами объектов, при создании учетной записи пользователю также могут быть предоставлены глобальные права. Они определяют, разрешено ли пользователю создавать и уничтожать базы данных и является ли он суперполъзователем (пользователем, обладающим всеми правами во всех базах данных, включая право создания других пользователей). Глобальные права могут быть в любой момент изменены текущим суперпользователем.
В PostgreSQL по умолчанию создается один суперпользователь с именем postgres. Все остальные пользователи создаются этим суперпользователем или другим, созданным позднее.
Просмотр списка пользователей
Вся информация о пользователях PostgreSQL хранится в системной таблице pg_shadow, структуру которой иллюстрирует табл. 10.1. Выборка из этой таблицы разрешена только суперпользователям, хотя ограниченное представление этой таблицы с именем pg_user доступно и для обычных пользователей.
Таблица 10.1. Структура таблицы pg_shadow.
Поле | Тип |
---|---|
usename | name |
usesysid | integer |
usecreatedb | boolean |
usetrace | boolean |
usesuper | boolean |
usecatupd | boolean |
passwd | text |
valuntil | abstime |
Основное различие между данными, содержащимися в таблицах pg_user и pg_shadow, заключается в том, что в pg_user отсутствует значение в поле passwd (оно заменяется несколькими звездочками). Эта мера безопасности гарантирует, что обычный пользователь не сможет получить несанкционированный доступ к чужим паролям.
В поле usename хранится имя системного пользователя, которое представляет собой уникальную строку. Существование одноименных пользователей не допускается, потому что пользователи являются глобальными объектами базы данных. В поле usesysid хранится уникальный целый идентификатор, связанный с пользователем. Поля usecreatedb и usesuper содержат информацию о привилегиях, которые могут присваиваться пользователю при создании (см. следующий подраздел).
Создание пользователей
В PostgreSQL существует два способа создания учетных записей пользователей базы данных. Оба способа требуют аутентификации суперпользователя, поскольку только суперпользователям разрешено создавать новых пользователей.
— Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта.
— Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы).
— SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание.
SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Зарегистрироваться и Начать продвижение
Первый способ основан па выполнении команды SQL CREATE USER в клиенте PostgreSQL (например, psql) после прохождения аутентификации. Второй способ, основанный на использовании программы createuser, более удобен для системного администратора, поскольку все действия выполняются одной командой без взаимодействия с клиентом PostgreSQL.