PostgreSQL: создать БД, пользователя, таблицу, установить права
- Применим к себе права суперпользователя postgres (от которого запущен сервер Использование и настройка PostgreSQL).
# su - postgres $ pwd /var/lib/postgresql
- Создать базу данных wandb. PostgreSQL позволяет создавать любое количество баз данных на одном сервере. Имена баз данных должны состоять из букв и цифр (вначале всегда должна быть буква) и быть не более 63 символов длиной. Можно рекомендовать создавать базу данных с таким же именем как у пользователя.
$ createdb wandb или из консоли psql postgres=# create database wandb;
- Создать пользователя wanuser для БД wandb. Имена пользователей в PostgreSQL существуют отдельно от имен пользователей в операционной системе. Если вы подключаетесь к какой-либо базе данных, вы можете выбрать для подключения какое-нибудь имя пользователя PostgreSQL; если вы это не сделаете, то по умолчанию будет установлено такое же имя, какое у вас в операционной системе (в нашем случае пользователь postgres). Добавление(createuser) и удаление(dropuser) пользователей.
$ createuser wanuser Shall the new role be a superuser? (y/n) n Shall the new role be allowed to create databases? (y/n) n Shall the new role be allowed to create more new roles? (y/n) n или из консоли psql postgres=# create user wanuser;
Мы создали пользователя wanuser с ограниченными правами, для их изменения используйте команды
Расширить пользователю права: # alter user wanuser superuser createrole createdb; Ограничить: alter user wanuser nosuperuser nocreaterole nocreatedb; - Установим пользователя wanuser владельцем БД wandb.
postgres=# alter database wandb owner to wanuser;
Если нужно стать владельцем не всей БД, а только таблицы countries
wandb=# alter table countries owner to wanuser;
- Установим пароль для пользователя wanuser. В этом случае в качестве метода аутентификации должен использоваться md5 (настраивается в файле pg_hba.conf).
# ALTER USER wanuser WITH ENCRYPTED PASSWORD 'test1234';
- Создадим таблицу суперпользователем postgres.
$ psql wandb wandb=# CREATE TABLE weather (city varchar(80), temp_hi int, prcp real, date date);
- Создадим таблицу владельцем БД wandb пользователем wanuser.
$ psql wandb -U wanuser Password for user wanuser: wandb=> CREATE TABLE weatheuser (city varchar(80), temp_hi int, prcp real, date date); wandb=> \dt List of relations Schema | Name | Type | Owner --------+------------+-------+---------- public | weather | table | postgres public | weatheuser | table | wanuser (2 rows)
- Сменим владельца для таблицы weather (нужны права суперпользователя). Prompt со знаком # означает, что подключение произошло с правами суперпользователя.
wandb=# ALTER TABLE weather OWNER TO wanuser;
Рекомендуемые обзоры инструментов
Aurorium AI: Обзор и отзывы
Инновационный браузер с поддержкой ИИ
Undetectable Browser: Честный обзор
Бесконечные профили для арбитража
Браузер Vision: Реальные отзывы
Надежное решение для мультиаккаунтинга
Dolphin {anty}: Обзор функционала
Лидер рынка для арбитражников
📌 Умный подбор сервера: Официальный инструмент проекта
DIEG — агрегатор
DIEG Finder.
Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти и сравнить по параметрам подходящий VPS/VDS сервер для любых задач хостинга.
📌 Инфраструктура для разработчиков:
Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок.
Подробнее о быстрой аренде VPS для экспериментов читайте здесь.