SYNOPSIS

CREATE USER name [ [ WITH ] option [ ... ] ]

where option can be:

      SYSID uid
| [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'
| CREATEDB | NOCREATEDB
| CREATEUSER | NOCREATEUSER
| IN GROUP groupname [, ...]
| VALID UNTIL 'abstime'

DESCRIPTION 描述

CREATE USER 向一个 PostgreSQL 数据库集群增加一个新用户。 参考 Chapter 17 ``Database Users and Privileges'' 和 Chapter 19 ``Client Authentication'' 获取关于管理用户和认证的信息。 要执行这条命令,你必须是一个数据库超级用户。

PARAMETERS 参数

name
 用户名
uid
SYSID 子句可以用于选择正在被创建的用户的 PostgreSQL 用户标识。
通常这是不必要的,但是如果你想恢复一个孤儿对象的所有者,也许这个很有用。

如果没有声明这个,缺省使用已分配的最高用户标识加一(最小是 100)。

password
 设置用户的口令,如果你不准备使用口令认证, 那么你可以省略这个选项,但如果你想切换到一个口令认证的服务器,那么该用户将不能联接。 此口令可以稍后再次设置或者修改,使用 ALTER USER [alter_user(7)]。

ENCRYPTED
UNENCRYPTED
控制口令在数据库中是否以加密形式存储在系统表中。 (如果两个都没有设置,那么缺省的特性是由配置参数 password_encryption 决定的。)
如果提供的字串已经是 MD5 加密的格式,那么就照原样存储, 不管声明的是 ENCRYPTED 还是 UNENCRYPTED。
这样就允许在转储/恢复的过程中重载加密后的口令。

请注意老的客户端可能缺少 MD5 认证机制,我们需要这个认证机制处理存储为密文的口令。

CREATEDB
NOCREATEDB
这个子句定义用户的创建数据库权限。 如果声明了CREATEDB, 被定义的用户将允许创建其自己的数据库。
而使用NOCREATEDB将否决该用户的创建数据库的能力。 如果忽略本子句,缺省是NOCREATEDB。
CREATEUSER
NOCREATEUSER
 该子句决定一个用户是否能创建一个新的用户。 这个选项同样把此用户变成数据库超级用户,可以跨越所有访问限制。省略这个参数将置用户的这个属性为 NOCREATEUSER。

groupname
 一个组名称,把这个用户设为该组成员。 你可以列出多个组名字。
abstime
VALID UNTIL (有效期)子句设置一个绝对时间, 过了该时间后用户的口令将不再有效。 如果省略这个子句,登陆将总是有效的。

NOTES 注意

使用 ALTER USER [alter_user(7)] 修改用户的口令和权限,DROP USER [drop_user(7)] 删除一个用户。 使用 ALTER GROUP [alter_group(l)] 从组中增加或删除用户。

PostgreSQL 里有一个程序 createuser [createuser(1)] 与CREATE USER
有相同的功能(实际上,它调用这条命令), 但是可以在命令行上运行。

EXAMPLES 例子

创建一个没有口令的用户:

CREATE USER jonathan;

创建一个有口令的用户:

CREATE USER davide WITH PASSWORD 'jw8s0F4';

创建一个有口令的用户,其帐号在 2004 年底失效。 注意当 2005 年走过一秒后,该帐号将不再有效:

CREATE USER miriam WITH PASSWORD 'jw8s0F4' VALID UNTIL '2005-01-01';

创建一个拥有创建数据库权限的用户:

CREATE USER manuel WITH PASSWORD 'jw8s0F4' CREATEDB;

CREATE USER - 创建一个新的数据库用户帐户的更多相关文章

  1. createuser - 定义一个新的 PostgreSQL 用户帐户

    SYNOPSIS createuser [ option...] [ username] DESCRIPTION 描述 createuser 创建一个新的 PostgreSQL 用户.只有超级用户(在 ...

  2. CREATE SEQUENCE - 创建一个新的序列发生器

    SYNOPSIS CREATE [ TEMPORARY | TEMP ] SEQUENCE name [ INCREMENT [ BY ] increment ] [ MINVALUE minvalu ...

  3. [App Store Connect帮助]二、 添加、编辑和删除用户(5)创建一个沙盒测试员帐户

    如果您的 App 使用了 App 内购买项目或 Apple Pay,您可以在 App Store Connect 中创建沙盒测试员帐户,以便您向用户提供该 App 前,可以使用该帐户在测试环境中运行您 ...

  4. Django学习路10_创建一个新的数据库,指定列名并修改表名

    在 models.py 中添加 from django.db import models # Create your models here. class Person(models.Model): ...

  5. CREATE DOMAIN - 定义一个新域

    SYNOPSIS CREATE DOMAIN name [AS] data_type [ DEFAULT expression ] [ constraint [ ... ] ] where const ...

  6. CREATE TRIGGER - 定义一个新的触发器

    SYNOPSIS CREATE TRIGGER name { BEFORE | AFTER } { event [ OR ... ] } ON table [ FOR [ EACH ] { ROW | ...

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

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

  8. 记一次oracle创建一个新数据库,并导入正式环境数据库备份的dmp包过程

    背景:正式环境oracle数据库定时用exp备份一个dmp包,现在打算在一台机器上创建一个新数据库,并导入这个dmp包. 1.创建数据库 开始 -> 所有程序 -> Oracle -> ...

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

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

随机推荐

  1. 【转】wait和waitpid详解

    发现进程有关的编程题里面的包含知识量实在是太庞大,这是关于wait和waitpid区别的,以前只是粗略知道它们的区别,这是网上看到的比较全的对比 转自http://blog.chinaunix.net ...

  2. I.MX6 Android stlport 使用

    /****************************************************************** * I.MX6 Android stlport 使用 * 说明: ...

  3. Linux服务器性能问题

    如何快速分析出现性能问题的Linux服务器 https://www.cnblogs.com/leixiaobai/category/1246164.html Brendan Gregg曾经分享过当遇到 ...

  4. bzoj2743 [HEOI2012]采花——树状数组+离线

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2743 和 HH的项链 那道题很像,也是类似的做法: 但不同的是这里的点只有有前驱时才起作用: ...

  5. DIV居中显示

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. 3winsock编程1

    先看几个结构体定义 typedef struct WSAData { WORD wVersion;//版本号 通过MAKEWORD(2,2)返回该值 高位字节存储副版本号 第位字节存储主版本号 WOR ...

  7. CodeForces 730G Car Repair Shop (暴力)

    题意:给定 n 个工作的最好开始时间,和持续时间,现在有两种方法,第一种,如果当前的工作能够恰好在最好时间开始,那么就开始,第二种,如果不能,那么就从前找最小的时间点,来完成. 析:直接暴力,每次都先 ...

  8. 【黑金教程笔记之008】【建模篇】【Lab 07 数码管电路驱动】—笔记

    实验七的目的是设计实现最大为99数字在2个数码管上.采用同步动态扫描.即行信号和列信号同步扫描.这里数码管是共阳极的.选择端口也是共阳极的. 模块: /************************ ...

  9. java.util.Optional

    public class OptionalDemo { public static void main(String[] args) { //创建Optional实例,也可以通过方法返回值得到. Op ...

  10. 使用redis构建分布式锁

    Redis使用WATCH命令来代替对数据进行加锁,因为WATCH只会在数据被其他客户端抢先修改了的情况下通知执行了这个命令的客户端,但是不会阻止其他客户端对数据进行修改,所以这个命令被称为乐观锁. 但 ...