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

Материал из Rosalab Wiki
Перейти к: навигация, поиск
 
(не показано 7 промежуточных версий 3 участников)
Строка 1: Строка 1:
 +
{{Программа|PostgreSQL}} - это свободная объектно-реляционная система управления базами данных (СУБД).
  
PostgreSQL доступна в используемом по умолчанию репозитории Rosa
+
Присутствует в репозиториях ROSA. Для установки используйте следующую команду:
Чтобы установить PostgreSQL используйте следующую команду:
+
  
 
  dnf install postgresql-server
 
  dnf install postgresql-server
  
После установки всех зависимостей, будет создан пользователь ```postgres```.
+
PostgreSQL использует концепцию ролей для выполнения аутентификации и авторизации клиента. В некоторых аспектах они напоминают обычные учетные записи в Linux, однако PostgresSQL не делает различий между пользователями и группами и предпочитает использовать более гибкий термин - роль.
Нам надо установить ему свой пароль:
+
 
 +
После установки PostgresSQL настроена на использование аутентификации ident, это значит, что выполняется привязка ролей PostgresSQL к системной учетной записи Linux - '''postgres'''. Если роль существует внутри PostgresSQL, пользователь Linux с тем же именем может выполнить вход в качестве этой роли.
 +
 
 +
Чтобы использовать PostgreSQL, вы можете войти в эту учетную запись. Но сначала надо установить для нее свой пароль.
  
 
  passwd postgres
 
  passwd postgres
Строка 22: Строка 25:
 
  sudo -u postgres psql -c "SELECT version();"
 
  sudo -u postgres psql -c "SELECT version();"
  
Для входа в консоль управления PostgreSQL используем следующиую команду:
+
В результате вы можете получить доступ к командной строке 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
  
sudo -u postgres psql
+
[[Категория:ROSA Server|ROSA Server]]

Текущая версия на 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