PostgreSQL — различия между версиями
(не показаны 2 промежуточные версии 1 участника) | |||
Строка 1: | Строка 1: | ||
+ | {{Программа|PostgreSQL}} - это свободная объектно-реляционная система управления базами данных (СУБД). | ||
− | + | Присутствует в репозиториях ROSA. Для установки используйте следующую команду: | |
− | + | ||
dnf install postgresql-server | dnf install postgresql-server | ||
Строка 7: | Строка 7: | ||
PostgreSQL использует концепцию ролей для выполнения аутентификации и авторизации клиента. В некоторых аспектах они напоминают обычные учетные записи в Linux, однако PostgresSQL не делает различий между пользователями и группами и предпочитает использовать более гибкий термин - роль. | PostgreSQL использует концепцию ролей для выполнения аутентификации и авторизации клиента. В некоторых аспектах они напоминают обычные учетные записи в Linux, однако PostgresSQL не делает различий между пользователями и группами и предпочитает использовать более гибкий термин - роль. | ||
− | После установки PostgresSQL настроена на использование аутентификации ident, это значит, что выполняется привязка ролей 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''' : |
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