# su - postgres $ pwd /var/lib/postgresql
$ createdb wandb или из консоли psql postgres=# create database wandb;
$ 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;
postgres=# alter database wandb owner to wanuser;
Если нужно стать владельцем не всей БД, а только таблицы countries
wandb=# alter table countries owner to wanuser;
# ALTER USER wanuser WITH ENCRYPTED PASSWORD 'test1234';
$ psql wandb wandb=# CREATE TABLE weather (city varchar(80), temp_hi int, prcp real, date date);
$ 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)
wandb=# ALTER TABLE weather OWNER TO wanuser;