在学习postgres时, 常常有些概念或者名词会容易搞错的. 下面总结一下.
pgsql
psql
role
superuser
psql或者createdb等等postgres-client带有的命令行中的--username参数.
在开始前, 应该使用DBMSs和database去区分数据库软件与数据库这两个概念. (^_^)
pgsql是一个用户名, 是安装DBMSs的操作系统中的一个常规用户. 这个常规用户作为操作系统本来的常规用户外, 还有一个特殊的身份: DBMSs软件管理中的root权限者!也就是说, pgsql在操作系统中是一个和nobody没有区别的用户. 但是当pgsql登陆入DMSs软件系统中时, 它就是superuser了! 因为DBMSs内有一套自身的权限机制.
psql是一个交互性命令行.它是用户与DBMSs软件系统交互的接口, 类似kernel与shell的关系.
role是认证系统中的角色, role包括有三个属性:用户名, 密码, 权限(自已总结的, 不是真的), linux操作系统与DBMSs软件系统使用不同的role系统, 但是当DBMSs软件系统使用了trust认证方式时, DBMSs软件系统会把存在于DBMSs中的role的"用户名/密码"与linux系统中的"用户名/密码"进行映射. 当使用非trust认证方式时, 这种映射就不存在.
superuser是超级管理员, 这分为DBMSs软件系统中的superuser和操作系统的superuser, 此superuser非彼superuser
psql或者createdb等等postgres-client带有的命令行中的--username参数, 是指连接到DMBSs软件系统时, 指定使用DBMSs中的role的名字.
个人屁笔记.
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.