PostgreSQL — различия между версиями

Материал из Rosalab Wiki
Перейти к: навигация, поиск
м
 
(не показана 1 промежуточная версия 1 участника)
Строка 7: Строка 7:
 
PostgreSQL использует концепцию ролей для выполнения аутентификации и авторизации клиента. В некоторых аспектах они напоминают обычные учетные записи в Linux, однако PostgresSQL не делает различий между пользователями и группами и предпочитает использовать более гибкий термин - роль.
 
PostgreSQL использует концепцию ролей для выполнения аутентификации и авторизации клиента. В некоторых аспектах они напоминают обычные учетные записи в Linux, однако PostgresSQL не делает различий между пользователями и группами и предпочитает использовать более гибкий термин - роль.
  
После установки PostgresSQL настроена на использование аутентификации ident, это значит, что выполняется привязка ролей PostgresSQL к системной учетной записи Linux - ```postgres```. Если роль существует внутри PostgresSQL, пользователь Linux с тем же именем может выполнить вход в качестве этой роли.
+
После установки PostgresSQL настроена на использование аутентификации ident, это значит, что выполняется привязка ролей PostgresSQL к системной учетной записи Linux - '''postgres'''. Если роль существует внутри PostgresSQL, пользователь Linux с тем же именем может выполнить вход в качестве этой роли.
  
 
Чтобы использовать PostgreSQL, вы можете войти в эту учетную запись. Но сначала надо установить для нее свой пароль.
 
Чтобы использовать PostgreSQL, вы можете войти в эту учетную запись. Но сначала надо установить для нее свой пароль.
Строка 27: Строка 27:
 
В результате вы можете получить доступ к командной строке PostgreSQL, а уже отсюда свободно взаимодействовать с системой управления базами данных.
 
В результате вы можете получить доступ к командной строке PostgreSQL, а уже отсюда свободно взаимодействовать с системой управления базами данных.
  
  sudo -u postgres psql
+
  sudo -i -u postgres psql
  
 
Для примера, создадим роль '''testuser''' :
 
Для примера, создадим роль '''testuser''' :

Текущая версия на 12:23, 23 января 2024

PostgreSQL - это свободная объектно-реляционная система управления базами данных (СУБД).

Присутствует в репозиториях ROSA. Для установки используйте следующую команду:

dnf install postgresql-server

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

После установки PostgresSQL настроена на использование аутентификации ident, это значит, что выполняется привязка ролей PostgresSQL к системной учетной записи Linux - postgres. Если роль существует внутри PostgresSQL, пользователь Linux с тем же именем может выполнить вход в качестве этой роли.

Чтобы использовать PostgreSQL, вы можете войти в эту учетную запись. Но сначала надо установить для нее свой пароль.

passwd postgres

Чтобы PostgresSQL запускался с запуском ОС, включим сервис:

systemctl enable postgresql12.service

Чтобы запустить PostgreSQL нам нужно запустить соответствующий сервис:

systemctl start postgresql12.service

Проверим запуск PostgreSQL и его версию:

sudo -u postgres psql -c "SELECT version();"

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

sudo -i -u postgres psql

Для примера, создадим роль testuser :

postgres=# create user testuser;

Создадим пароль для роли testuser :

postgres=# \password testuser

Создаем базу данных testdb :

postgres=# create database testdb;

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

postgres=# grant connect, create on database testdb to testuser;
postgres=# grant all privileges on database testdb to testuser;

Просмотр баз дынных:

postgres=# \l

Просмотр ролей:

postgres=# \du

Выход из консоли psql:

postgres=# \q