PostgreSQL

Материал из Rosalab Wiki
Версия от 08:00, 23 декабря 2023; 716 (обсуждение | вклад)

Это снимок страницы. Он включает старые, но не удалённые версии шаблонов и изображений.
Перейти к: навигация, поиск

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 -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