PostgreSQL:如何以非超级用户登录并创建数据库及权限疑问
嘿,这两个问题核心围绕PostgreSQL的用户权限与数据库创建逻辑,我给你拆解清楚:
1. 如何以非超级用户身份登录PostgreSQL并创建数据库?
步骤很清晰,前提是这个非超级用户已经被授予了CREATEDB权限(比如你的用户p5):
- 登录PostgreSQL:非超级用户需要先连接到一个已存在的公共数据库,通常用初始化时自动创建的
postgres库(所有有登录权限的用户都能访问它)。命令行执行:
比如针对p5就是psql -U 你的非超级用户名 -d postgrespsql -U p5 -d postgres,输入p5的密码即可登录。 - 创建数据库:登录成功后,直接执行创建命令:
看到CREATE DATABASE 自定义库名;CREATE DATABASE的提示就说明创建成功了。
2. 如何以用户p5登录并创建数据库db5?关于权限的疑问解答
完全不需要先以超级用户创建db5再让p5连接——这正是CREATEDB权限的核心用途!具体操作:
- 先登录p5用户:
psql -U p5 -d postgres - 登录后直接创建db5:
创建完成后,db5的所有者就是p5,p5对这个数据库拥有完全管理权限(比如建表、删表、给其他用户授权访问等)。CREATE DATABASE db5;
至于CREATEDB权限的作用:
它就是给普通用户开放的「自主创建数据库」能力,不用每次都依赖超级用户帮忙建库。拥有该权限的用户,创建的数据库默认归自己所有,能全权掌控库内的所有操作;如果没有这个权限,普通用户只能连接已存在的数据库,无法自主新建。
内容的提问来源于stack exchange,提问作者revoltman
相关产品推荐
相关产品推荐

