一.用户
创建用户使用create user语句,一般使用create user with password 'xxx' XXX 其中最后的XXX是给予的角色权限
postgres=# \h create user@H_502_51@;Command@H_502_51@: CREATE USERDescription define a new database roleSyntaxCREATE USER name @H_502_51@[ WITH @H_502_51@] option @H_502_51@...]where option can be SUPERUSER @H_502_51@| NOSUPERUSER CREATEDB NOCREATEDB CREATEROLE NOCREATEROLE CREATEUSER NOCREATEUSER INHERIT NOINHERIT LOGIN NOLOGIN REPLICATION NOREPLICATION BYPASSRLS NOBYPASSRLS CONNECTION LIMIT connlimit ENCRYPTED UNENCRYPTED PASSWORD 'password' VALID UNTIL 'timestamp' IN ROLE role_name @H_502_51@[,...] IN GROUP role_name ROLE role_name ADMIN role_name USER role_name SYSID uid
Role name Attributes Member of @H_502_51@-----------+------------------------------------------------------------+----------- brent @H_502_51@{} dsg Create DB postgres Superuser@H_502_51@,76)"> role DB Replication Bypass RLS suq test Superuser{}
用户的权限分为系统权限和对象权限
对象权限使用grant语句来赋予:
alter role brent replicationALTER ROLE
1.创建数据库
\h create database Command CREATE DATABASEDescription create a databaseSyntaxCREATE DATABASE name OWNER @H_502_51@[=] user_name TEMPLATE template ENCODING encoding LC_COLLATE lc_collate LC_CTYPE lc_ctype TABLESPACE tablespace_name ALLOW_CONNECTIONS allowconn CONNECTION LIMIT connlimit IS_TEMPLATE istemplate create database brent owner@H_502_51@=suq CREATE DATABASE \l List of databases Name Owner Encoding Collate Ctype Access privileges @H_502_51@-----------+----------+----------+---------+-------+----------------------- UTF8 C template0 c@H_502_51@/postgres @H_502_51@+ postgres@H_502_51@=CTcpostgres template1 postgres