Удалить пользователя postgresql ubuntu

Обновлено: 21.11.2024

В этой статье описывается, как добавлять и удалять базы данных и пользователей PostgreSQL из командной строки.

Эта статья относится только к продуктам, перечисленным на боковой панели «Сведения о статье». Если ваша учетная запись включает cPanel, вы должны использовать ее для управления базами данных и пользователями PostgreSQL; вы не можете сделать это из командной строки. Информацию о том, как управлять базами данных PostgreSQL и пользователями в cPanel, см. в этой статье.

Создание пользователей PostgreSQL

Установка PostgresSQL по умолчанию всегда включает суперпользователя postgres. Сначала вы должны подключиться к PostgreSQL как пользователь postgres, пока не создадите других пользователей (которые также называются ролями).

Чтобы создать пользователя PostgreSQL, выполните следующие действия:

    В командной строке введите следующую команду от имени пользователя root сервера:

Теперь вы можете запускать команды от имени суперпользователя PostgreSQL. Чтобы создать пользователя, введите следующую команду:

Создание баз данных PostgreSQL

Чтобы создать базу данных PostgreSQL, выполните следующие действия:

    В командной строке введите следующую команду от имени пользователя root сервера:

Теперь вы можете запускать команды от имени суперпользователя PostgreSQL. Чтобы создать базу данных, введите следующую команду. Замените user на имя пользователя, которому вы хотите владеть базой данных, и замените dbname на имя базы данных, которую вы хотите создать:
< /p>

  • Пользователи PostgreSQL, у которых есть разрешение на создание баз данных, могут сделать это из своих учетных записей, введя следующую команду, где dbname — имя создаваемой базы данных:

Добавление существующего пользователя в базу данных

Чтобы предоставить существующему пользователю права доступа к базе данных, выполните следующие действия:

  1. Запустите программу psql от имени владельца базы данных или суперпользователя postgres.
  2. Введите следующую команду. Замените permissions разрешениями, которые вы хотите предоставить, dbname именем базы данных и username пользователем:

    < /ол>

    Удаление баз данных PostgreSQL

    Подобно команде createdb для создания баз данных, существует команда dropdb для удаления баз данных. Чтобы удалить базу данных, вы должны быть владельцем или иметь права суперпользователя.

    Введите следующую команду, заменив dbname именем базы данных, которую вы хотите удалить:

    Программа dropdb не запрашивает подтверждение перед удалением базы данных. Как только вы нажмете Enter, PostgreSQL удалит базу данных и все содержащиеся в ней данные.

    Удаление пользователей PostgreSQL

    Подобно команде createuser для создания пользователей, существует команда dropuser для удаления пользователей.

    Чтобы удалить определенного пользователя, введите следующую команду. Замените username именем пользователя, которого вы хотите удалить:

    Если пользователь владеет какими-либо базами данных или другими объектами, вы не можете удалить пользователя. Вместо этого вы получаете сообщение об ошибке, подобное следующему:

    Вы должны изменить владельца базы данных (или полностью удалить базу данных), а затем вы можете удалить пользователя.

    При администрировании кластера баз данных CockroachDB может возникнуть необходимость удалить определенного пользователя из кластера. Удалить пользователя CockroachDB легко с помощью команды DROP USER. В этой статье мы более подробно рассмотрим команду Postgres DROP USER и рассмотрим несколько примеров ее использования.

    Предпосылки

    Прежде чем продолжить работу с этим учебным пособием, убедитесь, что у вас установлен и запущен PostgreSQL, а также убедитесь, что у вас есть доступ к интерфейсу командной строки psql для PostgreSQL. Также полезно иметь базовые знания о системах управления базами данных, чтобы понимать примеры в этой статье.

    Открытие и доступ к интерфейсу командной строки в PostgreSQL

    В PostgreSQL пользователь с именем postgres имеет полные привилегии суперпользователя и, таким образом, может получить доступ ко всему, что находится в вашей установке PostgreSQL.

    Следующая команда позволит вам войти в интерфейс командной строки psql от имени суперпользователя postgres:

    Создание пользователя в PostgreSQL для удаления с помощью команды DROP USER

    После подключения к psql вы сможете создать пользователя с атрибутом WITH LOGIN. Если вы хотите иметь защищенную роль, вы также можете добавить атрибут ENCRYPTED PASSWORD в оператор CREATE USER.

    Вот пример команды CREATE USER:

    Чтобы убедиться, что ваш новый пользователь был успешно создан, используйте команду \du . Вы должны получить вывод, который выглядит следующим образом:

    Список ролей
    имя РОЛИ | Атрибуты | Член OF
    ---------------+--------------- -------------------------------+-----------
    newuser | | < >
    Объектракета | СОЗДАТЬ БД | < >
    оркб | | < >
    постгрес | Суперпользователь, СОЗДАТЬ РОЛЬ, СОЗДАТЬ БД, Репликация, Обход RLS | <>

    Удаление пользователя в PostgreSQL

    Только суперпользователь с правами на изменение пользователей, ролей и групп может УДАЛИТЬ или удалить другого пользователя Postgres.

    Основной синтаксис оператора SQL DROP USER:

    ПРИМЕЧАНИЕ. РОЛЬ также можно удалить так же, как и ПОЛЬЗОВАТЕЛЯ.

    Вы можете удалить или удалить пользователя, созданного ранее в этом руководстве, или вы можете удалить любого пользователя в вашей системе, которого вы больше не используете. Мы будем использовать следующую команду, чтобы удалить пользователя с помощью инструкции DROP USER:

    В этом примере команда DROP USER удалит пользователя с именем newuser в базе данных PostgreSQL.

    Чтобы убедиться, что пользователь действительно был удален, используйте команду \du, и вы увидите, что newuser не существует.

    Чтобы выйти из интерфейса psql, введите команду \q в PostgreSQL.

    КАСКАД УДАЛЕНИЯ ПОЛЬЗОВАТЕЛЯ PostgreSQL

    Если у пользователя есть предоставленные ему привилегии, их можно удалить только с помощью команды DROP CASCADE в терминале.

    Давайте рассмотрим пример:

    пользователь не может быть удален, если на него все еще есть ссылка в какой-либо базе данных кластера; вы получите сообщение об ошибке, если попытаетесь удалить его. Вам нужно будет удалить все объекты сами по себе, прежде чем удалять пользователя и удалять привилегии, предоставленные пользователю для других объектов.

    Добавить ROLE в Postgres

    «Роль» Postgres очень похожа на «пользователя» Postgres, но между ними есть ключевое различие. Хотя роль может быть либо группой, либо пользователем, роли, имеющие права входа в систему, определяются как «пользователи».

    Чтобы удалить ROLE Postgres, просто используйте синтаксис команды DROP таким же образом, как и для удаления пользователя:

    Заключение

    Удаление пользователя в PostgreSQL — это постоянная операция, поэтому администраторам баз данных важно знать, как правильно выполнять эту задачу. В этой статье мы познакомили вас с процессом удаления пользователя в PostgreSQL и предоставили примеры команды Postgres DROP USER для иллюстрации этого процесса. С помощью наших примеров вы будете готовы удалить пользователей из своей собственной базы данных PostgreSQL.

    Протестируйте платформу ObjectRocket бесплатно!

    Попробуйте полностью управляемые CockroachDB, Elasticsearch, MongoDB, PostgreSQL (бета-версия) или Redis.

    Последнее обновление: 01.05.2019

    Автор: Rackspace Support

    Чтобы протестировать рабочий сервер базы данных, вам следует создать дополнительные роли, поскольку регулярная работа с вашими базами данных в качестве роли суперпользователя по умолчанию сопряжена с риском.

    В этой статье показано, как создавать дополнительные роли в PostgreSQL® с помощью команд клиента psql или команд оболочки. Вам нужно использовать пользователя Linux®, postgres®, для обоих методов.

    Войдите в свой экземпляр с учетными данными Linux и выполните следующую команду, чтобы переключить пользователей на пользователя postgres:

    Использовать команды psql

    Выполните следующие действия, чтобы создать или удалить пользователей с помощью клиента psql.

    Подключиться к psql

    Подключитесь к серверу базы данных с помощью клиента psql с ролью postgres:

    Создать роль

    После подключения к клиенту psql выполните следующую команду, чтобы создать роль с атрибутом LOGIN и непустым паролем, зашифрованным с помощью MD5:

    Примечание. Точка с запятой ( ; ) в конце инструкции SQL обязательна. Одинарные кавычки ( ' ' ) не являются частью пароля, но должны его заключать.

    Подтвердите, что вы успешно создали роль, используя следующую команду:

    Отменить роль

    Когда вам больше не нужна роль, вы можете удалить (удалить или удалить) роль с помощью следующей команды:

    Если вы затем проверите с помощью команды \du, вы увидите, что demorole1 больше не указан.

    Создать суперпользователя

    Иногда вам может потребоваться создать дополнительные роли суперпользователя, например, если у вас есть программист баз данных, которому вы доверяете администрирование сервера postgres.

    Чтобы создать суперпользователя, выполните следующую команду:

    Команда устанавливает атрибут LOGIN и указывает непустой пароль. Эти факторы важны, если вы собираетесь использовать роль суперпользователя для локальных и удаленных подключений к базе данных.

    Выйти из psql

    Чтобы выйти из psql, выполните следующую команду:

    Использовать команды оболочки

    Вы можете создавать и удалять роли базы данных с помощью команд оболочки createuser и dropuser, которые являются оболочками для операторов CREATE и DROP SQL. Стандартная установка postgres включает эти команды.

    создатьпользователя

    Выполните следующую команду, чтобы создать роль без прав суперпользователя с атрибутом LOGIN:

    Флаг -P предлагает установить пароль для новой роли, а флаг -E указывает на сохранение пароля в виде строки, зашифрованной с помощью MD5.

    Чтобы проверить создание роли, подключитесь к psql и выполните следующую команду:

    дроппользователь

    Выполните следующую команду, чтобы удалить роль:

    Флаг -i выводит запрос на подтверждение, что является хорошей мерой безопасности при запуске потенциально разрушительной команды.

    Создать суперпользователя

    Иногда вам может потребоваться создать дополнительные роли суперпользователя, например, если у вас есть программист баз данных, которому вы доверяете администрирование сервера postgres.

    Чтобы создать суперпользователя, выполните следующую команду:

    Поделитесь этой информацией:

    © 2020 Rackspace США, Inc.

    Если не указано иное, содержимое этого сайта находится под лицензией Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License

    Ниже приведен пошаговый процесс создания пользователя в PostgreSQL PgAdmin:

    Шаг 1) Щелкните правой кнопкой мыши "Войти"

    На первом этапе щелкните правой кнопкой мыши Роль группы входа -> Создать -> Щелкните Роль группы входа…

    Шаг 2) Создайте логин/групповую роль

    Теперь введите имя для входа

    Шаг 3) Нажмите «Определение» и введите данные

    1. Введите пароль
    2. Срок действия аккаунта

    Шаг 4) Раздел "Привилегии"

    1. Переключите кнопку "Вход в систему" в положение "ДА".
    2. Переключить суперпользователя на ДА

    Шаг 5) Раздел SQL

    1. Вы увидите запрос SQL для создания пользователя в соответствии с настройками, сделанными на предыдущих шагах.
    2. Нажмите кнопку "Сохранить".

    Шаг 6) Роль создана

    Теперь роль отображается в дереве объектов.

    Шаг 7) Создайте базу данных

    Теперь назначьте ему владельца myguru, как показано ниже в примере создания пользователя Postgres.

    Шаг 8) Командная строка

    Теперь вы можете видеть, что владельцем является myguru.

    PostgreSQL Создать пользовательскую оболочку SQLShell (командная строка)

    Вы можете создать пользователя с помощью команды командной строки

    СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ

    Этот метод создания пользователя Postgres с паролем более удобен для программистов и администраторов, поскольку они имеют доступ к консоли сервера PostgreSQL. Более того, они необходимы для создания пользователя Postgres и выполнения с помощью одной команды вместо входа в систему и использования интерфейса клиента PostgreSQL.

    Синтаксис:

    Пример:

    создаст пользователя tom

    Будет создан пользовательский том с привилегиями суперпользователя. Давайте посмотрим на следующий пример.

    Шаг 1) Мы создаем суперпользователя, действительного до 3 апреля 2025 года, 11:50:38 IST. Введите следующую команду

    Шаг 2) Введите команду \du в контрольный список пользователей

    ПРИМЕЧАНИЕ. Команда CREATE USER аналогична команде CREATE ROLE. Разница между этими двумя командами заключается в том, что при написании пользовательской команды Postgres CREATE она по умолчанию находится в состоянии LOGIN, тогда как NOLOGIN предполагается при использовании параметра CRETE ROLE.

    Добавить существующего пользователя в базу данных

    Вы можете предоставить пользователю права доступа к базе данных.

    Например, мы предоставляем пользователю mytest все привилегии пользователя guru99

    После выполнения команды PostgreSQL add user пользователь сможет получить доступ к базе данных с заданными разрешениями.

    Команда GRANT очень мощная. Вы можете предоставить пользователю детализированные привилегии, такие как «Выбрать», «Вставить», «Обновить».

    PostgreSQL обновляет ПОЛЬЗОВАТЕЛЯ

    Изменение существующих разрешений пользователя

    Теперь, когда существует наш новый пользователь mytest, вы можете использовать ALTER USER для изменения разрешений, предоставленных библиотекарю.

    Формат ALTER USER Postgres включает в себя имя пользователя, за которым следуют некоторые параметры, сообщающие PostgreSQL, какие разрешительные изменения необходимо внести:

    Отзыв разрешений

    Вам необходимо использовать эту команду, если вы допустили ошибку и неправильно назначили разрешение, которое хотите отозвать. Вы можете использовать команду ALTER USER без префикса перед разрешающими параметрами.

    Например, мы можем удалить статус SUPERUSER из mytest следующим образом:

    Используя \du, вы увидите, что привилегия суперпользователя удалена.

    Назначение разрешения

    Вы можете использовать разрешение пользователя SUPERUSER обратно «mytest», используя следующую команду

    Используя \du, вы увидите, что привилегия суперпользователя добавлена.

    Удаление пользователя PostgreSQL

    Вы можете удалить любого пользователя, если уверены, что конкретный пользователь больше не относится к вашей базе данных. Обратите внимание, что удаление пользователей никогда не повлияет на фактическую базу данных.

    Чтобы удалить любого пользователя, необходимо убедиться, что он является владельцем базы данных. В противном случае вы можете получить сообщение об ошибке.

    Читайте также: