This commit is contained in:
parent
6d8287780e
commit
b99cf60de4
@ -6,7 +6,8 @@
|
|||||||
|
|
||||||
- `sudo -u postgres psql postgres` - подключиться к базе данных `postgres` от имени пользователя Linux `postgres`
|
- `sudo -u postgres psql postgres` - подключиться к базе данных `postgres` от имени пользователя Linux `postgres`
|
||||||
!!! tip ""
|
!!! tip ""
|
||||||
Если не указано имя базы данных, psql попытается подключиться к базе данных с именем, совпадающим с именем пользователя. В данном случае это будет база данных postgres
|
`sudo -u postgres psql`
|
||||||
|
Если не указано имя базы данных при подключении, psql попытается подключиться к базе данных с именем, совпадающим с именем пользователя. В данном случае это будет база данных postgres
|
||||||
- `sudo -u postgres psql -d имя_базы_данных -f путь_к_скрипту.sql` - выполнить SQL-скрипт на базе
|
- `sudo -u postgres psql -d имя_базы_данных -f путь_к_скрипту.sql` - выполнить SQL-скрипт на базе
|
||||||
- `sudo -u postgres psql -d имя_базы_данных -c "SQL-запрос"` - выполнить SQL-скрипт на базе
|
- `sudo -u postgres psql -d имя_базы_данных -c "SQL-запрос"` - выполнить SQL-скрипт на базе
|
||||||
|
|
||||||
@ -31,17 +32,21 @@
|
|||||||
Роль (ROLE) — это более общее понятие. Она может быть как пользователем, так и группой. Роль по умолчанию НЕ ИМЕЕТ права на подключение к базе данных (если не указан атрибут LOGIN)
|
Роль (ROLE) — это более общее понятие. Она может быть как пользователем, так и группой. Роль по умолчанию НЕ ИМЕЕТ права на подключение к базе данных (если не указан атрибут LOGIN)
|
||||||
|
|
||||||
Роли (и пользователи) могут иметь дополнительные атрибуты, которые определяют их поведение. Вот основные атрибуты:
|
Роли (и пользователи) могут иметь дополнительные атрибуты, которые определяют их поведение. Вот основные атрибуты:
|
||||||
- `LOGIN` - Позволяет роли подключаться к базе данных (по умолчанию для USER)
|
|
||||||
- `SUPERUSER` - Дает роли права суперпользователя
|
- `LOGIN` - Позволяет роли подключаться к базе данных (по умолчанию для USER)
|
||||||
- `CREATEDB` - Позволяет роли создавать базы данных
|
- `SUPERUSER` - Дает роли права суперпользователя
|
||||||
- `CREATEROLE` - Позволяет роли создавать другие роли
|
- `CREATEDB` - Позволяет роли создавать базы данных
|
||||||
- `INHERIT` - Позволяет роли наследовать права от других ролей (по умолчанию TRUE)
|
- `CREATEROLE` - Позволяет роли создавать другие роли
|
||||||
- `REPLICATION`- Позволяет роли использоваться для репликации
|
- `INHERIT` - Позволяет роли наследовать права от других ролей (по умолчанию TRUE)
|
||||||
- `PASSWORD` - Устанавливает пароль для роли
|
- `REPLICATION`- Позволяет роли использоваться для репликации
|
||||||
|
- `PASSWORD` - Устанавливает пароль для роли
|
||||||
|
|
||||||
```sql
|
```sql
|
||||||
CREATE ROLE admin WITH LOGIN PASSWORD 'password' CREATEDB CREATEROLE
|
CREATE ROLE admin WITH LOGIN PASSWORD 'password' CREATEDB CREATEROLE
|
||||||
```
|
```
|
||||||
|
|
||||||
PostgreSQL пользователя (USER) можно добавить в роль (ROLE). Когда пользователь добавляется в роль, он автоматически наследует все права, связанные с этой ролью.
|
PostgreSQL пользователя (USER) можно добавить в роль (ROLE). Когда пользователь добавляется в роль, он автоматически наследует все права, связанные с этой ролью.
|
||||||
|
|
||||||
```sql
|
```sql
|
||||||
-- Создаем роль
|
-- Создаем роль
|
||||||
CREATE ROLE read_only;
|
CREATE ROLE read_only;
|
||||||
@ -51,7 +56,7 @@
|
|||||||
GRANT read_only TO myuser;
|
GRANT read_only TO myuser;
|
||||||
```
|
```
|
||||||
```sql
|
```sql
|
||||||
# удалить пользователя из роли
|
-- удалить пользователя из роли
|
||||||
REVOKE имя_роли FROM имя_пользователя;
|
REVOKE имя_роли FROM имя_пользователя;
|
||||||
```
|
```
|
||||||
- `GRANT ALL PRIVILEGES ON DATABASE имя_базы TO имя_пользователя;`
|
- `GRANT ALL PRIVILEGES ON DATABASE имя_базы TO имя_пользователя;`
|
||||||
@ -245,16 +250,16 @@ FROM pg_stat_database;
|
|||||||
#### Где что лежит??
|
#### Где что лежит??
|
||||||
|
|
||||||
1. Каталог данных
|
1. Каталог данных
|
||||||
- `/var/lib/postgresql/<версия>/main/` - Debian/Ubuntu
|
- `/var/lib/postgresql/<версия>/main/` - Debian/Ubuntu
|
||||||
- `/var/lib/pgsql/<версия>/data/` - CentOS/Fedora
|
- `/var/lib/pgsql/<версия>/data/` - CentOS/Fedora
|
||||||
- `psql -U postgres -c "SHOW data_directory;"`
|
- `psql -U postgres -c "SHOW data_directory;"`
|
||||||
2. Конфигурационные файлы (могут находится в каталоге данных)
|
2. Конфигурационные файлы (могут находится в каталоге данных)
|
||||||
- `/etc/postgresql/<версия>/main/`
|
- `/etc/postgresql/<версия>/main/`
|
||||||
- `psql -U postgres -c "SHOW config_file;"` - путь к конфигу
|
- `psql -U postgres -c "SHOW config_file;"` - путь к конфигу
|
||||||
- `psql -U postgres -c "SHOW hba_file;"` - путь к настройкам аутентификации
|
- `psql -U postgres -c "SHOW hba_file;"` - путь к настройкам аутентификации
|
||||||
3. Каталог логов
|
3. Каталог логов
|
||||||
- `/var/log/postgresql/`
|
- `/var/log/postgresql/`
|
||||||
- `psql -U postgres -c "SHOW log_directory;"`
|
- `psql -U postgres -c "SHOW log_directory;"`
|
||||||
---
|
---
|
||||||
|
|
||||||
- `SHOW shared_preload_libraries;` - список библиотек, которые были загружены при старте PostgreSQL с помощью параметра `shared_preload_libraries` в `postgresql.conf`
|
- `SHOW shared_preload_libraries;` - список библиотек, которые были загружены при старте PostgreSQL с помощью параметра `shared_preload_libraries` в `postgresql.conf`
|
||||||
|
Loading…
x
Reference in New Issue
Block a user