GoLearn
Описание
Языки
- Go98,4%
- Shell0,8%
- Makefile0,3%
- HTML0,2%
- JavaScript0,2%
- Остальные0,1%
Postgres
Установка Postgres
Для запуска службы Postgres
Для запуска интерактивной оболочки
Создание пользователя
Создание базы данных:
Просмотр всех пользователей:
Просмотр всех бд:
Просмотр всех таблиц в базе:
Переключение на определённую базу
Изменение пароля пользователя:
Выдача админских прав пользователю на базу:
Создание роли для пользователя:
Примечание: В PostgreSQL "пользователь" = "роль с правами логина".
Назначение прав
Подключаться к БД, создавать новые объекты и временные таблицы
-
CONNECT — позволяет пользователю подключаться к базе petrdb;
-
CREATE — позволяет пользователю создавать новые объекты внутри базы данных (например, новые схемы);
-
TEMPORARY — позволяет создавать временные таблицы в базе данных.
Просмотр схемы, обращение к объектам в схеме:
Чтобы пользователь базы мог ещё создавать схему:
USAGE на схему public означает:
- пользователь может видеть схему, может обращаться к объектам в схеме (но без права изменять объекты, пока отдельно не выдано разрешение).
CREATE на схему public означает:
- пользователь может создавть схему.
Примечание: Без права USAGE на схему пользователь не сможет использовать даже существующие таблицы.
Права на все существующие таблицы:
Данная команда даёт права на все существующие таблицы в схеме public:
-
SELECT — читать данные;
-
INSERT — вставлять данные;
-
UPDATE — изменять данные;
-
DELETE — удалять записи;
-
REFERENCES — создавать внешние ключи (FOREIGN KEY) на эти таблицы.
Примечание: ⚡ Но только для уже существующих таблиц. Новые таблицы пока не затрагиваются.
Права на все существующие последовательности:
Даёт права на все существующие последовательности (SEQUENCE, используются для генерации автоинкрементных ID) в схеме public:
-
USAGE — право использовать последовательность (например, получать её текущее значение);
-
SELECT — читать текущее значение последовательности;
-
UPDATE — изменять значение (например, устанавливать nextval вручную).
Примечание: В PostgreSQL автонумерация часто завязана на последовательности.
Права поумолчанию на таблицы
Устанавливает права по умолчанию:
-
На все будущие таблицы, которые будут созданы в схеме public.
-
Пользователь name сразу будет иметь права SELECT, INSERT, UPDATE, DELETE, REFERENCES на новые таблицы без необходимости вручную давать права каждый раз.
Примечание: Это очень важно, иначе после создания новых таблиц права придётся назначать вручную.
Права по умолчанию для новых последовательностей
-
Аналогично предыдущему пункту, но для новых последовательностей;
-
Устанавливаются права на USAGE, SELECT, UPDATE для всех последовательностей, созданных в будущем в схеме public.