Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| postgresql:postgresql [2016/06/29 20:25] – mirocow | postgresql:postgresql [2018/03/08 20:21] (текущий) – [Настройка доступа] mirocow | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | {{tag> | + | {{tag> |
| - | ====== | + | ====== |
| ===== Установка ===== | ===== Установка ===== | ||
| Строка 40: | Строка 40: | ||
| </ | </ | ||
| ==== Настройка доступа ==== | ==== Настройка доступа ==== | ||
| + | |||
| + | Не безопасно, | ||
| + | Для подключения извне, также необходимо включить прослушивания внешнего IP \\ | ||
| + | в настройках **/ | ||
| + | |||
| **nano / | **nano / | ||
| - | | + | < |
| - | host | + | # Database administrative login by Unix domain socket |
| + | #local | ||
| + | # TYPE DATABASE | ||
| - | <code sh> | + | # " |
| - | # psql -U B -T -h localhost | + | #local |
| + | # IPv4 local connections: | ||
| + | #host all | ||
| + | # IPv6 local connections: | ||
| + | #host all | ||
| + | # Allow replication connections from localhost, by a user with the | ||
| + | # replication privilege. | ||
| + | local | ||
| + | host replication | ||
| + | host replication | ||
| + | |||
| + | local | ||
| + | host all | ||
| + | host all | ||
| + | host all | ||
| </ | </ | ||
| + | |||
| + | <note important> | ||
| + | Это однотипные записи \\ | ||
| + | < | ||
| + | # | ||
| + | local | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | * ADDRESS - [[: | ||
| + | * METHOD - Метод-аутентификации | ||
| + | === методы аутентификации === | ||
| + | |||
| + | **trust** \\ | ||
| + | Разрешает безусловное подключение. Этот метод позволяет тому, кто может подключиться к серверу с базой данных Postgres Pro, войти под любым желаемым пользователем Postgres Pro без введения пароля и без какой-либо другой аутентификации.\\ | ||
| + | **ident** \\ | ||
| + | Получает имя пользователя операционной системы клиента, | ||
| + | **peer** \\ | ||
| + | Получает имя пользователя операционной системы клиента из операционной системы и проверяет, | ||
| + | **md5** \\ | ||
| + | **scram-sha-256** \\ | ||
| + | Проверяет пароль пользователя, | ||
| + | |||
| + | [[https:// | ||
| + | === Проверка доступа === | ||
| + | |||
| + | |||
| + | <code bash> | ||
| + | $ psql -U postgres -h localhost | ||
| + | $ psql -U postgres | ||
| + | </ | ||
| + | |||
| + | ===== Вопрос/ | ||
| + | |||
| + | ==== Пользователи ==== | ||
| + | |||
| + | * **Как создать пользователя в PostgreSQL? | ||
| + | * CREATE USER ramesh WITH password ‘tmppassword’; | ||
| + | |||
| + | * **Как посмотреть список пользователей? | ||
| + | * SELECT * FROM pg_shadow; | ||
| + | |||
| + | * **Как сменить пароль у пользователя? | ||
| + | * ALTER USER postgres WITH PASSWORD ' | ||
| + | |||
| + | === Смена пароля === | ||
| + | |||
| + | Включаем однопользовательский режим nano / | ||
| + | < | ||
| + | local | ||
| + | </ | ||
| + | |||
| + | * подключаемся к бд, указывая локального пользователя (в моем случае mirocow) | ||
| + | * меняем пароль у пользователя mirocow | ||
| + | |||
| + | включаем многопользовательский режим | ||
| + | добавляем строчку в nano / | ||
| + | < | ||
| + | local | ||
| + | </ | ||
| + | |||
| + | ==== Права ==== | ||
| + | |||
| + | === Смена прав === | ||
| + | |||
| + | * ALTER TABLE sequence_name OWNER TO владелец | ||
| + | |||
| + | ==== Привелегии ==== | ||
| + | |||
| + | * **Как посмотреть привелегии пользователя? | ||
| + | * < | ||
| + | SELECT n.nspname as " | ||
| + | c.relname as " | ||
| + | c.relacl as " | ||
| + | FROM pg_catalog.pg_class c | ||
| + | LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace | ||
| + | WHERE c.relkind IN (' | ||
| + | AND pg_catalog.pg_table_is_visible(c.oid) /*AND n.nspname !~ ' | ||
| + | ORDER BY 1, 2; | ||
| + | </ | ||
| + | |||
| + | * **Как дать привелегии** | ||
| + | * GRANT ALL ON DATABASE demodb TO demo; | ||
| + | |||
| + | ==== Базы ==== | ||
| + | |||
| + | * **Как создать базу в PostgreSQL? | ||
| + | * CREATE DATABASE mydb WITH OWNER ramesh; | ||
| + | |||
| + | * **Как удалить базу в PostgreSQL? | ||
| + | * DROP DATABASE mydb; | ||
| + | |||
| + | * **Как получить весь список баз в Postgresql? | ||
| + | * SELECT datname FROM pg_database; | ||
| + | * SELECT * FROM pg_database; | ||
| + | |||
| + | ==== Таблицы ==== | ||
| + | |||
| + | |||
| + | * **Как вывести список всех таблиц? | ||
| + | * SELECT table_name FROM information_schema.tables WHERE table_schema = ' | ||