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