Как создать пользователя в Postgresql?

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

Это пошаговое руководство проведет вас через процесс создания пользователя в PostgreSQL или создания пользователя в Postgresql. Мы также расскажем, как установить сервер PostgreSQL в Ubuntu с помощью Docker.

Что такое PostgreSQL?

PostgreSQL — это мощная система управления объектно-реляционными базами данных (ORDBMS) с открытым исходным кодом, известная своей производительностью, целостностью данных и гибкостью. Она пользуется популярностью среди разработчиков и предприятий благодаря своей стабильности и обширному набору функций.

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

Ключевые особенности PostgreSQL:

  • Расширенная поддержка географических данных с индексированием и пространственными запросами
  • Встроенная поддержка репликации данных
  • Мощная система контроля доступа на основе ролей
  • Возможности полнотекстового поиска
  • Многоверсионный контроль параллелизма (MVCC) для эффективной обработки транзакций
  • Гибкая поддержка хранения ключ-значение

Необходимые условия

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

  • Система с последней версией Ubuntu
  • Docker установлен на вашем компьютере (при необходимости обратитесь к официальной документации Docker)
  • Ваша учетная запись пользователя должна принадлежать группе Docker, что позволит вам запускать команды Docker без необходимости каждый раз использовать права root.

Как создать пользователя в PostgreSQL: пошаговое руководство

Чтобы создать нового пользователя (или роль) в PostgreSQL, мы начнем с настройки экземпляра PostgreSQL внутри контейнера Docker. После запуска контейнера мы подключимся к серверу PostgreSQL с помощью командной строки psql и приступим к созданию и управлению ролями — все это в среде Docker.

Шаг 1: Настройка PostgreSQL с помощью Docker

Самый простой способ запустить PostgreSQL — использовать официальный образ Docker, поддерживаемый сообществом PostgreSQL.

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

docker run --name postgres_db -e POSTGRES_PASSWORD=mysecretpassword -d postgres📋

Замените mysecretpassword на надежный и безопасный пароль по вашему выбору. Например:

# docker run --name postgres_db -e POSTGRES_PASSWORD=password123 -d postgres

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

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

# docker ps

Это выведет список всех активных контейнеров, включая ваш экземпляр PostgreSQL.

Шаг 2: Доступ к PostgreSQL через psql

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

Используйте следующую команду для доступа к оболочке psql внутри контейнера:

# docker exec -it postgres_db psql -U postgres

Здесь:

  • docker exec позволяет запускать команды внутри работающего контейнера.
  • -it включает интерактивный режим.
  • -U postgres указывает, что вы хотите подключиться как пользователь postgres.

Оказавшись внутри оболочки PostgreSQL, вы можете отобразить список всех существующих ролей с помощью:

\du

Это отобразит список ролей (пользователей) вместе с назначенными им привилегиями.

Важное примечание: PostgreSQL использует термин «роль» для обозначения как пользователей, так и групп. Роль может иметь привилегии входа (как пользователь) или действовать как группа, от которой другие роли могут наследовать разрешения. По сути, роли служат механизмом контроля доступа в PostgreSQL.

Шаг 3: Создание нового пользователя в PostgreSQL (psql create user)

В PostgreSQL пользователь — это просто роль, имеющая право на вход в систему. Вы можете создать его с помощью команды CREATE USER, которая автоматически включает привилегию LOGIN.

Например, чтобы создать пользователя с именем editor и паролем:

CREATE USER editor WITH PASSWORD „password123“;

Чтобы убедиться, что пользователь был успешно добавлен, выполните:

\du

Это отобразит список всех ролей и назначенных им прав. Пользователь editor появится в списке с настройками по умолчанию.

Шаг 4: Предоставление дополнительных прав

После создания пользователя вы можете назначить ему дополнительные права. Например, чтобы разрешить пользователю editor создавать новые базы данных, выполните:

ALTER USER editor CREATEDB;

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

Шаг 5: Переключение на нового пользователя

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

SET ROLE editor;

Поскольку этот пользователь теперь имеет разрешение на создание баз данных, вы можете попробовать создать одну:

CREATE DATABASE articles_db;

Заключение

В этом руководстве показано, как запустить контейнер PostgreSQL с помощью Docker, создать нового пользователя (редактора), назначить привилегии базы данных и использовать роль для управления базами данных. Для более продвинутых настроек обязательно изучите официальную документацию PostgreSQL.

Bluevps предлагает мгновенную настройку KVM VPS в 20 точках по всему миру, благодаря чему ваш виртуальный сервер будет готов к работе в течение нескольких минут. Независимо от того, развертываете ли вы систему Linux или Windows, вы получаете полную гибкость с помощью ряда панелей управления и 100% выделенных ресурсов, гарантированных благодаря виртуализации KVM. Это обеспечивает стабильную производительность и полную изоляцию вашей среды.

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

Blog