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

Материал из Rosalab Wiki
Перейти к: навигация, поиск
 
(не показаны 2 промежуточные версии 1 участника)
Строка 1: Строка 1:
 +
{{Программа|PostgreSQL}} - это свободная объектно-реляционная система управления базами данных (СУБД).
  
PostgreSQL доступна в используемом по умолчанию репозитории Rosa
+
Присутствует в репозиториях ROSA. Для установки используйте следующую команду:
Чтобы установить PostgreSQL используйте следующую команду:
+
  
 
  dnf install postgresql-server
 
  dnf install postgresql-server
Строка 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''' :
Строка 37: Строка 37:
 
  postgres=# \password testuser
 
  postgres=# \password testuser
  
Создаем базу занных '''testdb''' :
+
Создаем базу данных '''testdb''' :
  
 
  postgres=# create database testdb;
 
  postgres=# create database testdb;
  
Чтобы предоставить разрешения еуыегыук пользователю в базе данных, которую мы создали, выполните следующий запрос:
+
Чтобы предоставить разрешения пользователю testuser в базе данных, которую мы создали, выполните следующий запрос:
  
 
  postgres=# grant connect, create on database testdb to testuser;
 
  postgres=# grant connect, create on database testdb to 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