wordpress搭电影网站,传统网站有没有建设必要性,建设自动弹出qq对话框的网站,网站后缀安装按PostgreSQL数据库后#xff0c;会默认创建用户postgres和数据库postgres#xff0c;这个用户是超级用户#xff0c;权限最高#xff0c;可以创建其他用户和权限#xff0c;在实际开发过程中#xff0c;会新创建用户和业务数据库#xff0c;本文主要介绍用户权限和…安装按PostgreSQL数据库后会默认创建用户postgres和数据库postgres这个用户是超级用户权限最高可以创建其他用户和权限在实际开发过程中会新创建用户和业务数据库本文主要介绍用户权限和数据库的基本操作
1. 用户权限
PostgreSQL数据库使用角色的概念管理数据库权限访问把一系列的数据库权限赋予给一个角色同时把角色赋予给相应的用户在PostgreSQL数据库中角色与用户是没有区别一个用户也就是一个角色 创建用户
CREATE USER name [ [ WITH ] option [ ... ] ]创建角色
CREATE ROLE name [ [ WITH ] option [ ... ] ]两则的区别是CREATE USER默认创建的用户有LOGIN权限CREATE ROLE创建的用户没有LOGIN权限
option常用的选项如下所示 详细解释如下
参数说明SUPERUSERNOSUPERUSERCREATEDBNOCREATEDBCREATEROLENOCREATEROLEINHERITNOINHERITLOGINNOLOGINREPLICATIONNOREPLICATIONBYPASSRLSNOBYPASSRLSCONNECTION LIMIT connlimit表示该用户可以使用的并发连接数没有限制默认-1[ ENCRYPTED ] PASSWORD ‘password’PASSWORD NULLVALID UNTIL ‘timestamp’密码失效时间不指定表示永不过期IN ROLE role_name [, …]表示用户成为哪些角色的成员IN GROUP role_name [, …]表示用户成为哪些角色的成员ROLE role_name [, …]表示role_name 成为新建角色的成员ADMIN role_name [, …]表示role_name 将有这个新建角色的WITH ADMIN OPTION权限USER role_name [, …]表示role_name 成为新建用户的成员SYSID uid表示SQL向下兼容无实际用处
用户的权限分为两类一类是在创建用户时指定的权限可以使用ALTER ROLE命令修改 另一类是由GRANT命令和REVOKE命令管理
在数据库中创建模式(SCHEMA)在指定的数据库中创建临时表连接某个数据库在模式中创建数据库对象如创建表、视图、函数在表中做SELECT、UPDATE、INSERT、DELETE等操作对序列进行查询、使用和更新在声明中创建触发器把表、索引建到指定表空间
GRANT和REVOKE两个命令的作用一是让某个用户成为某个角色的成员从而使其拥有角色的权限(GRANT)或把某个角色的权限收回(REVOTE)二是把某些数据库逻辑结构对象的操作权限赋予某个用户(或角色)或收回 语法格式如下
GRANT some_privileges ON database_object_type object_name TO role_name;
REVOKE some_privileges ON database_object_type object_name FROM role_name;role_name具体的用户名或角色名 some_privileges表示该数据库对象的权限如SELECT、INSERT、UPDATE、DELETE、TRUNCATE、REFERENCES、CREATE、ALL PRIVILEGES database_object_type数据库对象类型如TABLE、SEQUENCE、SCHEMA
2. 数据库操作
创建数据库的语法如下 参数说明
参数说明OWNER [] user_name指定新建的数据库属于哪个用户默认属于当前执行命令的用户TEMPLATE [] template模板名(从哪个模板创建新数据库)默认使用template1ENCODING [] encoding创建新数据库使用的字符编码TABLESPACE [] tablespace_name指定和新数据库关联的表空间名称CONNECTION LIMIT [] connlimit指定数据库可以接受多少并发连接默认-1表示没有限制示例如下
create database yu_commerce with owner xxx templatetemplate0 encoding UTF-8;修改数据库的语法如下 删除数据库语法如下 注意如果有用户连接在这个数据库上将无法删除该数据库