pgAdmin是一款专门针对PostgreSQL数据库的客户端管理软件,是postgresql自带的。
PostgreSQL用户账户
安装时设置了超级用户,用户名:postgres,密码:123456
创建一个数据库集簇
安装时创建的
D:/ProgramFiles/PostgreSQL/14/data
目录就是数据区域,所有数据都将被存储在其中。在初始化之后,一个数据库存储区域中会包含一个名为
postgres
的默认数据库。另一个在初始化过程中为每一个存储区域创建的数据库被称为
template1
。顾名思义,它将被用于创建后续数据库的模板;它不应该被用于实际工作。
创建角色
角色用于管理数据库访问权限,在PostgreSQL中,角色既是用户
又是组
。
General(常规)
Name
:登录名,如:demo_roleComments
:演示角色
Definition(定义)
Password
:登录密码,如:demo_roleAccount Expires
:密码过期时间Connection Limit
:该角色可以建立的并发连接数,默认值(-1)允许无限制的连接。
Privileges(特权)
Can login
:是否可以登录Superuser
:是否是超级用户Create roles
:是否可以创建和删除角色Create databases
:是否可以创建数据Update catalog
:是否可以更新目录,前提是必须是超级用户Inherit rights from the parent roles
:是否从父角色继承权利Can initiate streaming replication and backups
:是否可以启动流复制和备份
Role Membership(角色的成员关系)
在PostgreSQL中通过创建一个表示组的角色来实现,并且然后将在该组角色中的成员关系授予给单独的用户角色。
# 将pg_monitor中的成员关系授予demo_role
GRANT pg_monitor TO demo_role;
这样,demo_role
就有了pg_monitor
的权限。
可以说demo_role
是pg_monitor
的成员,也可以说pg_monitor
的成员中有demo_role
。
# demo_role可以把它的成员关系授予给其他用户,也可以撤回该角色中的成员关系。
GRANT pg_monitor TO demo_role WITH ADMIN OPTION;
角色属性LOGIN、SUPERUSER、CREATEDB和CREATEROLE可以被认为是一种特殊权限,但是它们从来不会像数据库对象上的普通权限那样被继承。
Parameters(参数)
一个角色也可以有角色相关的默认值。例如,如果出于某些原因你希望在每次连接时禁用索引扫描(提示:不是好主意),你可以使用:
ALTER ROLE demo_role SET enable_indexscan TO off;
Security(安全性)
SECURITY LABEL语句允许为一个数据库对象分配安全标签。
数据库模板
template0
和template1
是一样的,当template1
出问题时,可以复制一份template0
取代template1
,所以,
不应该对template0
做任何修改。
创建表空间
General(常规)
Name
:登录名,如:demo_table_spaceOwner
:所属角色,如:demo_roleComment
:演示表空间
Definition(定义)
Location
:用来存放数据库表的一个目录,必须是已经存在的空目录,如:D:/ProgramFiles/PostgreSQL/12/data/demo_table_space
创建数据库
General(常规)
Database
:数据库名称。如:demo_dbOwner
:所属角色。如:demo_roleComment
:描述。
Definition(定义)
Encoding
:UTF8Template
:template1Tablespace
:demo_table_spaceCollation
:排序规则。默认跟随系统语言选择Chinese (Simplified)_China.936。Character type
:字符类型。默认跟随系统语言选择Chinese (Simplified)_China.936。这会影响字符的分类,例如小写,大写和数字。缺省值或空白字段使用模板数据库的字符分类。Connection limit
:连接限制,配置最大连接请求数。默认值(-1)允许与数据库的无限连接。
Security(安全)
创建Schema
如果将数据存储区域
看作一块硬盘,那么数据库
就是逻辑盘,Schema
就是目录,表
就是文件。
General(常规)
Schema名称与角色名称相同
Name
:模式名称,如:demo_role。Owner
:所属角色,如:demo_role。Comment
:演示模式
参考: