SYNOPSIS

createuser [ option...] [ username]

DESCRIPTION 描述

createuser 创建一个新的 PostgreSQL 用户。只有超级用户(在 pg_shadow 表中设置了 usesuper 的用户)可以创建新的 PostgreSQL 用户。 因此,createuser 必须由某位可以以 PostgreSQL 超级用户连接的用户执行。

作为超级用户同时也意味着绕开数据库内访问检查的能力, 因此我们应该少赋予超级用户权限。

createuser 是 SQL 命令 CREATE USER [create_user(7)] 的封装。
因此,用那种方法创建新用户都没什么特别的。

OPTIONS 选项

createuser 接受下列命令行参数:

username
 声明要创建的 PostgreSQL 用户名称。 该名称必须在所有 PostgreSQL 用户中唯一。
-a
--adduser
 允许该新建用户创建其他用户。 (注意∶实际上这样做相当于把这个新用户变成了 superuser,只不过这个选项命名得比较烂。)
-A
--no-adduser
 不允许该新建用户创建其他用户。 (也就是说,该用户是一个普通用户,不是超级用户)。
-d
--createdb
 允许该新建用户创建数据库。
-D
--no-createdb
 禁止该新建用户创建数据库。
-e
--echo
 回显 createuser 生成的命令并发送给服务器。
-E
--encrypted
 对保存在数据库里的用户口令加密。如果没有声明, 则使用缺省值。
-i number
--sysid number
 允许你给新用户使用非缺省用户标识。这个也不是必须的,但是有些人喜欢这样。
-N
--unencrypted
 不对保存在数据库里的用户口令加密。如果没有声明, 则使用缺省值,
-P
--pwprompt
 如果给出,createuser 将发出一个提示符要求输入新用户的口令。 如果你不打算用口令认证,那么这是不必要的。
-q
--quiet
 不显示响应。

如果没有在命令行上声明名称和其他的一些缺少的信息,脚本会提示你输入。

createuser 还接受下列命令行参数用作连接参数:

-h host
--host host
 声明运行服务器的机器的主机名。 如果数值以斜扛开头,则它被用做到 Unix 域套接字的路径。
-p port
--port port
 声明服务器 正在侦听的互联网 TCP 端口号或本地Unix域套接字的文件扩展(描述符)。
-U username
--username username
 连接的用户名(不是要创建的用户名)。
-W
--password
 强制口令提示(与服务器连接的口令,不是新用户的口令。)

ENVIRONMENT 环境

PGHOST
PGPORT
PGUSER
 缺省连接参数。

DIAGNOSTICS 诊断

如果出现错误,将会显示后端错误信息。参阅 CREATE USER [create_user(7)] 和 psql(1)  获取可能信息描述。数据库服务器必须在目标主机上运行。 同样,任何 libpq 前端库使用的缺省连接设置和环境变量都将适用。

EXAMPLES 例子

在缺省数据库服务器上创建一个用户 joe:

$ createuser joe
Is the new user allowed to create databases? (y/n) n
Shall the new user be allowed to create more new users? (y/n) n
CREATE USER

用在主机eden上的服务器创建用户 joe,端口是 5000,避免提示并且显示执行的命令:

$ createuser -p 5000 -h eden -D -A -e joe
CREATE USER "joe" NOCREATEDB NOCREATEUSER
CREATE USER

createuser - 定义一个新的 PostgreSQL 用户帐户的更多相关文章

  1. CREATE USER - 创建一个新的数据库用户帐户

    SYNOPSIS CREATE USER name [ [ WITH ] option [ ... ] ] where option can be: SYSID uid | [ ENCRYPTED | ...

  2. dropuser - 删除一个 PostgreSQL 用户帐户

    SYNOPSIS dropuser [ option...] [ username] DESCRIPTION 描述 dropuser 删除一个现有 PostgreSQL 用户 和 该用户所有的数据库. ...

  3. [内网渗透]Windows中的用户帐户与组账户

    0x01 用户帐户 1.1 简介        用户帐户是对计算机用户身份的标识,本地用户帐户.密码存在本地计算机上,只对本机有效,存储在本地安全帐户数据库 SAM 中.        文件路径:C: ...

  4. CREATE OPERATOR - 定义一个新的操作符

    SYNOPSIS CREATE OPERATOR name ( PROCEDURE = funcname [, LEFTARG = lefttype ] [, RIGHTARG = righttype ...

  5. CREATE FUNCTION - 定义一个新函数

    SYNOPSIS CREATE [ OR REPLACE ] FUNCTION name ( [ argtype [, ...] ] ) RETURNS rettype { LANGUAGE lang ...

  6. initdb - 创建一个新的 PostgreSQL数据库集群

    SYNOPSIS initdb [ option...] --pgdata | -D directory DESCRIPTION 描述 initdb 创建一个新的 PostgreSQL 数据库集群. ...

  7. createdb - 创建一个新的 PostgreSQL 数据库

    SYNOPSIS createdb [ option...] [ dbname] [ description] DESCRIPTION 描述 createdb 创建一个新的 PostgreSQL 数据 ...

  8. CREATE OPERATOR CLASS - 定义一个新的操作符类

    SYNOPSIS CREATE OPERATOR CLASS name [ DEFAULT ] FOR TYPE data_type USING index_method AS { OPERATOR ...

  9. CREATE AGGREGATE - 定义一个新的聚集函数

    SYNOPSIS CREATE AGGREGATE name ( BASETYPE = input_data_type, SFUNC = sfunc, STYPE = state_data_type ...

随机推荐

  1. UVALive3989 Ladies' Choice —— 稳定婚姻问题 Gale - Shapely算法

    题目链接:https://vjudge.net/problem/UVALive-3989 题解: 题意:有n个男生和n个女生.每个女生对男神都有个好感度排行,同时每个男生对每个女生也有一个好感度排行. ...

  2. YTU 1076: SPY

    1076: SPY 时间限制: 1 Sec  内存限制: 128 MB 提交: 6  解决: 6 题目描述 The National Intelligence Council of X Nation ...

  3. I.MX6 Android CAN 命令行测试

    /********************************************************************* * I.MX6 Android CAN 命令行测试 * 说 ...

  4. java的内部类解析

    内部类分为四种: 成员内部类.类方法与普通方法同级: 局部内部类.类方法内部,局部内部类有构造器,通过构造器把外部的变量传入局部内部类再使用是完全可以的 匿名内部类.匿名内部类是唯一没有构造器的类,和 ...

  5. hash学习

    hash真奇妙 1.子串hash:如果我们要求一段子串的hash值,设h[i]:1-i的hash值,h[l-r]=h[r]-h[l-1]*pw[r-l+1],无论是模意义下还是自然溢出都是可以的 2. ...

  6. html5 canvas+js实现ps钢笔抠图(速抠图 www.sukoutu.com)

    html5 canvas+js实现ps钢笔抠图(速抠图 www.sukoutu.com)   根据html5 canvas+js实现ps钢笔抠图的实现,aiaito 开发者开发了一套在线抠图工具,速抠 ...

  7. 洛谷P2607 [ZJOI2008]骑士(基环树)

    传送门 首先这是一个有$n$个点$n$条边的图(据大佬们说这玩意儿叫做基环树?) 不难(完全没有)发现每个连通块里最多只有一个环 那么找到这个环,然后把它断开,再对它的两个端点分别跑树形dp 设$dp ...

  8. 《windows核心编程系列》二十二谈谈修改导入段拦截API。

    一个模块的导入段包含一组DLL.为了让模块能够运行,这些DLL是必须的.导入段还包含一个符号表.它列出了该模块从各DLL中导入的符号.当模块调用这些导入符号的时候,系统实际上会调用转换函数,获得导入函 ...

  9. 16-2 基于localStorage或sessionStorage的计数器

    localStorage 方法 localStorage 方法存储的数据没有时间限制.第二天.第二周或下一年之后,数据依然可用. <!doctype html> <html> ...

  10. 450 Delete Node in a BST 删除二叉搜索树中的结点

    详见:https://leetcode.com/problems/delete-node-in-a-bst/description/ C++: /** * Definition for a binar ...