Добавление конфигурации БД
This commit is contained in:
parent
5e88312481
commit
65cf1a5198
|
@ -1,4 +1,7 @@
|
||||||
# Конфигурации
|
# Конфигурации
|
||||||
|
|
||||||
|
- [Установка софта в Linux](soft.md)
|
||||||
- [Настройка сети](network.md)
|
- [Настройка сети](network.md)
|
||||||
- [Настройка SSH](ssh.md)
|
- [Настройка SSH](ssh.md)
|
||||||
|
- [Копирование файлов на удалённый сервер через SSH](scp.md)
|
||||||
|
- [Базы данных](db.md)
|
||||||
|
|
|
@ -0,0 +1,127 @@
|
||||||
|
# Базы данных
|
||||||
|
|
||||||
|
## PostgreSQL
|
||||||
|
|
||||||
|
### Установка
|
||||||
|
|
||||||
|
Установка `PostgreSQL` в `Ubuntu`:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install postgresql postgresql-contrib
|
||||||
|
```
|
||||||
|
|
||||||
|
Установка в `Solus`:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo eopkg it postgresql postgresql-contrib
|
||||||
|
```
|
||||||
|
|
||||||
|
Пакет `postgresql-contrib` содержит дополнительные утилиты и функциональные возможности.
|
||||||
|
|
||||||
|
В процессе установки создаётся учётная запись `postgres`, которая связана с используемой по умолчанию ролью `postgres`.
|
||||||
|
|
||||||
|
### Использование
|
||||||
|
|
||||||
|
После установки, чтобы подключиться к СУБД PostgreSQL необходимо открыть `shell` из под пользователя `postgres`:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo -i -u postgres
|
||||||
|
```
|
||||||
|
|
||||||
|
где `-i` запуск оболочки входа в систему от имени целевого пользователя `-u postgres`.
|
||||||
|
|
||||||
|
После входа в оболочку под пользователем `postgres` запустить утилиту `psql`:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
psql
|
||||||
|
```
|
||||||
|
|
||||||
|
Или использовать более быстрый способ:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo -u postgres psql
|
||||||
|
```
|
||||||
|
|
||||||
|
### Создание новой роли
|
||||||
|
|
||||||
|
После входа в оболочку под пользователем `postgres`, можно создать новую роль с помощью следующей команды:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
createuser --interactive
|
||||||
|
```
|
||||||
|
|
||||||
|
При создании необходимо будет ввести имя новой роли и указать, будет ли являться новая роль суперпользователем:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
Enter name of role to add: user
|
||||||
|
Shall the new role be a superuser? (y/n) y
|
||||||
|
```
|
||||||
|
|
||||||
|
Для любой роли, используемой для входа, существует база данных с тем же именем, к которой роль может получить доступ. Это означает, что если созданный пользователь будет иметь имя `user`, эта роль попытается подключиться к базе данных, которая также называется `"user"` по умолчанию. Необходимо создать соответствующую базу данных:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
createdb user
|
||||||
|
```
|
||||||
|
|
||||||
|
При этом должен существовать пользователь Linux с тем же именем, что и имя роли и базы данных в Postgres.
|
||||||
|
|
||||||
|
### Смена пароля
|
||||||
|
|
||||||
|
Для установки/смены пароля выполнить в `psql` команду:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
\password user
|
||||||
|
```
|
||||||
|
|
||||||
|
где `user` - имя пользователя, у которого необходимо сменить пароль.
|
||||||
|
|
||||||
|
### Удалённый доступ
|
||||||
|
|
||||||
|
Для открытия удалённого доступа необходимо отредактировать файл `/etc/postgresql/14/main/postgresql.conf`, где `14` - версия PostgreSQL:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo nano /etc/postgresql/14/main/postgresql.conf
|
||||||
|
```
|
||||||
|
|
||||||
|
Раскомментировать параметр `listen_addresses` и установить в качестве значения звёздочку (`*`):
|
||||||
|
|
||||||
|
```sh
|
||||||
|
listen_addresses = '*'
|
||||||
|
```
|
||||||
|
|
||||||
|
Сохранить и перезагрузить сервер PostgreSQL, в `Ubuntu`:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo systemctl restart postgresql.service
|
||||||
|
```
|
||||||
|
|
||||||
|
в других дистрибутивах:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo service postgresql restart
|
||||||
|
```
|
||||||
|
|
||||||
|
### Возможные ошибки
|
||||||
|
|
||||||
|
При подключении к удалённой БД может возникнуть ошибка:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
FATAL: no pg_hba.conf entry for host "192.168.56.1", user "user", database "user", SSL encryption
|
||||||
|
```
|
||||||
|
|
||||||
|
где `192.168.56.1` - адрес компьютера, с которого происходит подключение, `user` - имя пользователя, от которого происходит подключение, а также имя базы данных.
|
||||||
|
|
||||||
|
Необходимо отредактировать файл `/etc/postgresql/14/main/pg_hba.conf`, где 14 - версия PostgreSQL:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo nano /etc/postgresql/14/main/pg_hba.conf
|
||||||
|
```
|
||||||
|
|
||||||
|
и добавить запись:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
host all user 192.168.56.1/32 scram-sha-256
|
||||||
|
```
|
||||||
|
|
||||||
|
которая разрешает доступ логина `user` к любой базе данных с IP-адреса `192.168.56.1`.
|
|
@ -0,0 +1,16 @@
|
||||||
|
# Установка софта в Linux
|
||||||
|
|
||||||
|
## Solus
|
||||||
|
|
||||||
|
Обновление списка доступных пакетов и обновление дистрибутива:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo eopkg ur && sudo eopkg up -y
|
||||||
|
```
|
||||||
|
|
||||||
|
Установка базовых инструментов разработчика:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo eopkg it -c system.devel
|
||||||
|
```
|
||||||
|
|
Loading…
Reference in New Issue