创建用户和库

create database ncyj;

create schema whepc;

create user whepc with password 'whepc';

grant all privileges on schema whepc to whepc;


赋予rcb用户所有权限: grant all privileges on database imsdb to abc

如果创建时未设置owner,可以更改: alter database imsdb owner to abc

删除一个为空的模式(其中的所有对象已被删除):  DROP SCHEMA myschema;

删除一个模式以及其中包含的所有对象:DROP SCHEMA myschema CASCADE;

set search_path to whepc,public;

create schema whepcdev;

create user whepcdev with password 'whepcdev';

grant all privileges on schema whepcdev to whepcdev;


set search_path to whepcdev,public;

create schema emergencydev;


create user emergencydev with password 'emergencydev';

grant all privileges on schema emergencydev to emergencydev;

set search_path to emergencydev,public;



1、查看用户

postgres=# \du

2、创建普通用户

postgres=# create user test encrypted password 'test';


3、创建超级用户

postgres=# create user test2 superuser;


4、创建一个普通用户,并且赋予相关权限

postgres=# create user test createdb createrole inherit password 'test';



5、将超级用户修改为普通用户

postgres=# alter user test nosuperuser;


6、修改用户为超级用户

postgres=# alter user test superuser;

7、修改用户密码

postgres=# alter user test2 password 'test';

8、修改用户名

postgres=# alter user test2 rename to test3;

NOTICE: MD5 password cleared because of role rename


9、锁定/解锁用户,不允许/允许其登录

postgres=# alter user test nologin;

postgres=# alter user test login;


10、设置用户的连接数,其中0表示不允许登录,-1表示无限制

postgres=# alter user test connection limit 10;


11、创建extension

注意:默认只有superuser可以创建,如果要在具体某一个数据库下建extension,需要先赋予superuser权限,建完以后再设 置为非superuser;

test=# create extension tablefunc;

删除extension:drop extension tablefunc;


查看extension:\dx

select * from pg_roles;

select * from pg_user;



show search_path;

设置的2种方法

SET search_path TO itsm;

ALTER database "数据库" SET search_path TO "模式";


知识点search_path 阅读:

​https://blog.csdn.net/pg_hgdb/article/details/79410963 ​

​https://blog.51cto.com/2012ivan/2500177 ​

​https://www.csdn.net/tags/MtTaEg5sNjMwNjEzLWJsb2cO0O0O.html ​

​https://www.cnblogs.com/ShaYeBlog/p/5795940.html ​

​https://blog.csdn.net/qq1212qqpp/article/details/86064615 ​


1、使用postgres超级用户登录: ./psql -U postgres

2、创建imsdb这个数据库: create database imsdb [owner rcb]

3、赋予rcb用户所有权限: grant all privileges on database imsdb to rcb

4、如果创建时未设置owner,可以更改: alter database imsdb owner to rcb

5、查看数据库: \l命令查看所有数据库

6、连接数据库: \c imsdb 连接imsdb这个数据库

7、显示所有的schema: \dn

8、显示所有的用户: \du

9、显示表的权限分配情况: \dp

10、显示当前的模式: show search_path

11、更改模式: set search_path to myschema

12、已列的形式展示: \x (当不想列展示时,再次\x即可)

​https://www.codercto.com/a/76640.html​

​https://blog.csdn.net/weixin_41637329/article/details/108050820​