postgresql 角色怎样创建一个角色

PostgreSQL创建数据库
现在位置: >
PostgreSQL创建数据库
PostgreSQL创建数据库来源:网络整理&&& 由 易百 更新版本&&& 浏览:人次
本章讨论在PostgreSQL中如何创建一个新的数据库, 提供两种方式创建一个新的数据库:
使用CREATE DATABASE的SQL命令。
使用createdb的一个命令行可执行文件。
使用CREATE DATABASE
该命令将创建一个数据库PostgreSQL的shell提示符,但你应该有适当的权限来创建数据库。默认情况下,创建新的数据库将通过克隆标准系统数据库template1。
CREATE DATABASE语句的基本语法如下:
CREATE DATABASE dbname;
其中dbname是要创建的数据库的名称。
下面是一个简单的例子,这将创建testdb&在PostgreSQL模式:&
postgres=# CREATE DATABASE testdb;
postgres-#
使用createdb的命令
PostgreSQL命令行可执行createdb是是SQL命令CREATE DATABASE一个包装器。此命令和SQL命令CREATE DATABASE之间唯一的区别是,前者可以直接在命令行中运行,它允许的注释被添加到数据库中,全部在一个命令。
createdb语法如下所示:
createdb [option...] [dbname [description]]
下表列出了参数及它们的描述。
The name of a database to create.
description
Specifies a comment to be associated with the newly created database.
command-line arguments which createdb accepts.
下表列出了命令行参数CREATEDB接收:
-D tablespace
Specifies the default tablespace for the database.
Echo the commands that createdb generates and sends to the server.
-E encoding
Specifies the character encoding scheme to be used in this database.
Specifies the locale to be used in this database.
-T template
Specifies the template database from which to build this database.
Show help about dropdb command line arguments, and exit.
Specifies the host name of the machine on which the server is running.
Specifies the TCP port or the local Unix domain socket file extension on which the server is listening for connections.
-U username
User name to connect as.
Never issue a password prompt.
Force createdb to prompt for a password before connecting to a database.
打开命令提示符,然后去是PostgreSQL安装所在的目录。进入到bin目录,执行下面的命令创建一个数据库。
createdb -h localhost -p 5432 -U postgress testdb
password ******
上面的命令会提示Postgres的默认的PostgreSQL管理用户的密码,以便提供密码和继续创建新的数据库。
一旦创建数据库时可以使用上述方法,可以检查它在列表中的数据库使用\l即反斜线el命令如下:
postgres-# \l
List of databases
| Encoding | Collate | Ctype |
Access privileges
-----------+----------+----------+---------+-------+-----------------------
| postgres | UTF8
template0 | postgres | UTF8
| =c/postgres
| postgres=CTc/postgres
template1 | postgres | UTF8
| =c/postgres
| postgres=CTc/postgres
| postgres | UTF8
postgres-#
本站文章除注明转载外,均为本站原创或编译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,传播学习教程;
转载请注明:文章转载自:易百教程 []
本文标题:PostgreSQL创建数据库
转载请保留原文链接:
上一篇: &&&&
易百教程提供的内容仅用于培训。我们不保证内容的正确性。通过使用本站内容而可能带来的风险与本站无关。易百教程的所有内容仅供测试,对任何法律问题及风险不承担任何责任。
当使用本站时,代表您已接受了本站的使用条款和隐私条款。版权所有,保留一切权利!文档分类:
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,
下载前请先预览,预览内容跟原文是一样的,在线预览图片经过高度压缩,下载原文更清晰。
您的浏览器不支持进度条
下载文档到电脑,查找使用更方便
还剩?页未读,继续阅读
播放器加载中,请稍候...
该用户其他文档
下载所得到的文件列表循序渐进PostgreSQL(三)- 网络访问配置、用户及角色管理、表空间及数据库创建.pdf
文档介绍:
iiihero@CSDNihero@CSDN专注于数据库与信息检索技术专注于数据库与信息检索技术循循序渐进PostgreSQL(三):网络访问配置、用户及角色管理、表空间及数据库创建序渐进PostgreSQL(三):网络访问配置、用户及角色管理、表空间及数据库创建分类:PostgreSQL4:05291人阅读评论(0)收藏举报前边若干文章,只是简单的介绍了一下PG的手动安装和启动。如:http://blog./iihero/article/details/8254115(安装FAQ)循序渐进PostgreSQL:实现PostgreSQL自启动循序渐进PostgreSQL:学习pqxxC++API访问使用C编写的动态链接库为PostgreSQL数据库添加自定义函数使用C编写的动态链接库为PostgreSQL数据库添加自定义函数要正常使用PG,也必须要了解它的基本网络配置、用户权限以及数据库是如何创建,掌握了这些,其它的用法与别的数据库基本上也就大同小异了。1.网络配置默认情况下,PG的配置文件:postgresql.conf里有一行:listen_addresses='localhost';在pg_hba.conf里有另外几行:#IPv4localconnections:hostallall127.0.0.1/32trust#IPv6localconnections:hostallall::1/128trust意思是只监听本机,对本机的所有用户都是trust,无需密码即可访问。IP地址限制为127.0.0.1,/32的意思是32个bit都是有效地址。我要限制只有网段10.128.98.*上的主机才能访问,首先,要修改postgresql.conf,listen_addresses='*';再在pg_hba.conf里加一行:hostallall10.128.98.0/24md5(注,如果你只想某台机器访问,e.g.10.128.98.4,使用10.128.98.4/32即可,表示32位全部是有效地址)对所有网段全开放:#IPV4hostallall0.0.0.0/0md5#IPV6hostallall::/0md5IPV6什么时候会用到,当你用psql-h&hostname&而不是IP地址的时候,可能会碰到。具体的描述定义,可以参照:s/8.2/static/-types.html1在此以后,就可以从别的主机上访问本机的数据库了。2.用户、组及角色,以及schema创建与管理PG里头的角色与用户是有区分开的,有些细微区别。和别的数据库不一样。记住就好。它的user相当于role加上一个login,它的group相当于role加一个nologin的限制,即本质上都是role.这就能解释为什么你create完一个role之后,又不能登录的奇怪现象了。iihero=#\duListofrolesRolename|Attributes|Memberof-----------+------------------------------------------------+-----------spring|Superuser,Createrole,CreateDB|{}创建一个新用户spring2,带有createdbcreateuser权限iihero=#createuserspring2password'spring1'CREATEROLEiihero=#\duListofrolesRolename|Attributes|Memberof-----------+------------------------------------------------+-----------spring|Superuser,Createrole,CreateDB|{}spring2|Superuser,CreateDB|{}问题:iihero=#createtablespring2.t1(idint);ERROR:schema&spring2&doesnotexist为何不能创建spring2下的表呢?因为PG有schema的概念。userspring2并不等于schema为spring2.要想正常使用,还得为spring2创建一个同名的schemaiihero=#createschemaspring2authorizationspring2;CREATESCHEMAiihero=#createtablespring2.t1(idint);CREATETABLE我们切到spring2的session下边,查查看:iihero=#setsessionauthorizationspring2;SETiihero=#\dListofrelationsSchema|Name|Type|Owner---------+------+-------+--------spring2|t1|table|spring(1row)能看到刚才创建的表.也可以创建不同的schema名称:iihero=#createschemaspring_newauthorizationspring2;CREATESCHEMAiihero=#createtablespring_new.t1(idint);CREATETABLE创建同名的schema的简要做法是将中间的schema名称省去。这样它与user名就完全相同。iihero=#createschemaauthorizationspring2;CREATESCHEMA因此,在创建完带密码的用户之后,需要一步创建同名的schema,即完成与别的数据库等效的功2因此,在创建完带密码的用户之后,需要一步创建同名的schema,即完成与别的数据库等效的功能。下边是创建用户、schema、建对应表、删除的完整顺序实验:iihero=#createuserspring3password'spring1';CREATEROLEiihero=#createschemaauthorizationspring3;CREATESCHEMAiihero=#createtablespring3.t1(idint);CREATETABLEiihero=#insertintospring3.t1values(1),(2);INSERT02iihero=#select*fromspring3.t1;id----12(2rows)iihero=#droptablespring3.t1;DROPTABLEiihero=#dropuserspring3;ERROR:role&spring3&cannotbedroppedbecausesomeobjectsdependonitDETAIL:ownerofschemaspring3iihero=#dropschemaspring3;DROPSCHEMAiihero=#dropuserspri1
内容来自淘豆网转载请标明出处.
文件大小:0 KB
下载次数:相关文章推荐
ls -l 显示文件及详细信息
-rw-r--r-- 1 root root 1688 Oct 3 2016 anaconde-ks.cfg
drwxr-xr-...
PostgreSQL 是一个自由的对象-关系数据库服务器(数据库管理系统),它在灵活的 BSD-风格许可证下发行。它提供了相对其他开放源代码数据库系统(如 MySQL 和 Firebird),和对专有...
这里用一个实例来演示PostgreSQL存储过程如何返回数据集.
1 首先准备数据表
//member_category
create table member_category(id serial,...
第一部分 在一个主机上创建多个 postgresql实例
步骤一:安装postgresql软件
安装 postgresql实例,从postgresql官网上
https://w...
1.设置用户组和用户级别
Postgresql不能以root身份运行,要以其他的身份运行,所以必须建立对应的用户和组。
(1)新增postgresql用户组:gro...
一、pg_dump的用法:
数据库的导入导出是最常用的功能之一,每种数据库都提供有这方面的工具,例如Oracle的exp/imp,Informix的dbexp/dbimp,MySQL的mys...
第一步:修改PostgreSQL数据库的默认用户postgres的密码(注意不是linux系统帐号)
1.PostgreSQL登录(使用psql客户端登录)
CREATE DATABASE
----- 创建表
CREATE TABLE a
std_no character varying(32) NOT NULL, -- 学号
实例:数据库sales
1.客户表(Customer)
客户编号(CusNo)
姓名(CusName)
地址(Address)
他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)PostgreSQL 数据库角色
PostgreSQL 8.2.3 中文文档
章18. 数据库角色和权限
数据库角色从概念上与操作系统用户是完全无关的。在实际使用中把它们对应起来可能比较方便,但这不是必须的。数据库角色在整个数据库集群中是全局的(而不是每个库不同)。要创建一个角色,使用 SQL 命令
CREATE ROLE name;
name 遵循 SQL 标识的规则:要么完全没有特殊字符,要么用双引号包围(实际上你通常会给命令增加额外的选项,比如 LOGIN)。要删除一个现有角色,使用类似的
DROP ROLE name;
为了方便,程序
提供了对了这些 SQL 命令的封装。我们可以在 shell 命令上直接调用它们:
createuser name
dropuser name
要检查现有角色的集合,可以检查 pg_roles 系统表,比如:
SELECT rolname FROM pg_
的元命令 \du 也可以用于列出现有角色。
为了能创建初始数据库系统,新建立的数据库总是包含一个预定义的"超级用户"角色,并且缺省时(除非在运行 initdb 时更改过)他将和初始化该数据库集群的用户有相同的名称。通常,这个角色名叫 postgres 。为了创建更多角色,你必须首先以这个初始用户角色连接。
每一个和数据库的连接都必须以一个角色身份进行,这个角色决定在该连接上的初始权限。特定数据库连接的角色名是在初始化连接请求的时候声明的。比如,psql 程序使用 -U 命令行选项声明它代表的角色。许多应用以当前操作系统的用户名为缺省角色名(这样的应用包括 createuser 和 psql)。所以,在系统用户和数据库角色之间有某种命名关系会让我们工作方便很多。
一个客户端连接可以使用的角色集合是由客户认证设置决定的,在里面有解释。因此,一个客户端并不局限于以它的操作系统用户同名的角色进行连接,就像你登录系统的名称不一定要是你的真实姓名一样。因为角色的身份决定了一个连接的权限,所以在多用户环境里仔细配置这些内容是非常重要的。
数据库角色和权限角色属性PostgreSQL用户角色及其属性介绍_数据库技术_Linux公社-Linux系统门户网站
你好,游客
PostgreSQL用户角色及其属性介绍
来源:Linux社区&
作者:dyx1024
1.CREATE ROLE创建的用户默认不带LOGIN属性,而CREATE USER创建的用户默认带有LOGIN属性,如下:
postgres=#&CREATE&ROLE&pg_test_user_1;&/*默认不带LOGIN属性*/&&
CREATE&ROLE&&
postgres=#&CREATE&USER&pg_test_user_2;&/*默认具有LOGIN属性*/&&
CREATE&ROLE&&
postgres=#&\du&&
&&&&&&&&&&&&&&&List&of&roles&&
&&&Role&name&&&&|&&Attributes&&|&Member&of&&
----------------+--------------+-----------&&
&pg_test_user_1&|&Cannot&login&|&{}&&
&pg_test_user_2&|&&&&&&&&&&&&&&|&{}&&
&postgres&&&&&&&|&Superuser&&&&|&{}&&
&&&&&&&&&&&&&&&&:&Create&role&&
&&&&&&&&&&&&&&&&:&Create&DB&&
postgres=#&&&
2.在创建用户时赋予角色属性
postgres=#&CREATE&&ROLE&pg_test_user_3&CREATEDB;&&&/*具有创建数据库的属性*/&&
CREATE&ROLE&&
postgres=#&\du&&
&&&&&&&&&&&&&&&List&of&roles&&
&&&Role&name&&&&|&&Attributes&&|&Member&of&&
----------------+--------------+-----------&&
&pg_test_user_1&|&Cannot&login&|&{}&&
&pg_test_user_2&|&&&&&&&&&&&&&&|&{}&&
&pg_test_user_3&|&Create&DB&&&&|&{}&&
&&&&&&&&&&&&&&&&:&Cannot&login&&
&postgres&&&&&&&|&Superuser&&&&|&{}&&
&&&&&&&&&&&&&&&&:&Create&role&&
&&&&&&&&&&&&&&&&:&Create&DB&&
postgres=#&CREATE&ROLE&pg_test_user_4&CREATEDB&PASSWORD&'123456';&/*具有创建数据库及带有密码登陆的属性&*/&&&&
CREATE&ROLE&&
postgres=#&\du&&
&&&&&&&&&&&&&&&List&of&roles&&
&&&Role&name&&&&|&&Attributes&&|&Member&of&&
----------------+--------------+-----------&&
&pg_test_user_1&|&Cannot&login&|&{}&&
&pg_test_user_2&|&&&&&&&&&&&&&&|&{}&&
&pg_test_user_3&|&Create&DB&&&&|&{}&&
&&&&&&&&&&&&&&&&:&Cannot&login&&
&pg_test_user_4&|&Create&DB&&&&|&{}&&
&&&&&&&&&&&&&&&&:&Cannot&login&&
&postgres&&&&&&&|&Superuser&&&&|&{}&&
&&&&&&&&&&&&&&&&:&Create&role&&
&&&&&&&&&&&&&&&&:&Create&DB&&
postgres=#&&postgres=# CREATE
ROLE pg_test_user_3 CREATEDB;
/*具有创建数据库的属性*/
CREATE ROLE
postgres=# \du
List of roles
Attributes
| Member of
----------------+--------------+-----------
pg_test_user_1 | Cannot login | {}
pg_test_user_2 |
pg_test_user_3 | Create DB
: Cannot login
| Superuser
: Create role
: Create DB
postgres=# CREATE ROLE pg_test_user_4 CREATEDB PASSWORD '123456'; /*具有创建数据库及带有密码登陆的属性 */
CREATE ROLE
postgres=# \du
List of roles
Attributes
| Member of
----------------+--------------+-----------
pg_test_user_1 | Cannot login | {}
pg_test_user_2 |
pg_test_user_3 | Create DB
: Cannot login
pg_test_user_4 | Create DB
: Cannot login
| Superuser
: Create role
: Create DB
postgres=#
3.给已存在用户赋予各种权限
使用ALTER ROLE即可。
postgres=#&\du&&
&&&&&&&&&&&&&&&List&of&roles&&
&&&Role&name&&&&|&&Attributes&&|&Member&of&&
----------------+--------------+-----------&&
&pg_test_user_3&|&Create&DB&&&&|&{}&&
&&&&&&&&&&&&&&&&:&Cannot&login&&
&pg_test_user_4&|&Create&DB&&&&|&{}&&
&&&&&&&&&&&&&&&&:&Cannot&login&&
&postgres&&&&&&&|&Superuser&&&&|&{}&&
&&&&&&&&&&&&&&&&:&Create&role&&
&&&&&&&&&&&&&&&&:&Create&DB&&
postgres=#&ALTER&ROLE&pg_test_user_3&WITH&LOGIN;&/*赋予登录权限*/&&
ALTER&ROLE&&
postgres=#&\du&&
&&&&&&&&&&&&&&&List&of&roles&&
&&&Role&name&&&&|&&Attributes&&|&Member&of&&
----------------+--------------+-----------&&
&pg_test_user_3&|&Create&DB&&&&|&{}&&
&pg_test_user_4&|&Create&DB&&&&|&{}&&
&&&&&&&&&&&&&&&&:&Cannot&login&&
&postgres&&&&&&&|&Superuser&&&&|&{}&&
&&&&&&&&&&&&&&&&:&Create&role&&
&&&&&&&&&&&&&&&&:&Create&DB&&
postgres=#&ALTER&ROLE&pg_test_user_4&WITH&CREATEROLE;/*赋予创建角色的权限*/&&
ALTER&ROLE&&
postgres=#&\du&&
&&&&&&&&&&&&&&&List&of&roles&&
&&&Role&name&&&&|&&Attributes&&|&Member&of&&
----------------+--------------+-----------&&
&pg_test_user_3&|&Create&DB&&&&|&{}&&
&pg_test_user_4&|&Create&role&&|&{}&&
&&&&&&&&&&&&&&&&:&Create&DB&&
&&&&&&&&&&&&&&&&:&Cannot&login&&
&postgres&&&&&&&|&Superuser&&&&|&{}&&
&&&&&&&&&&&&&&&&:&Create&role&&
&&&&&&&&&&&&&&&&:&Create&DB&&
postgres=#&ALTER&ROLE&pg_test_user_4&WITH&PASSWORD&'654321';/*修改密码*/&&
ALTER&ROLE&&
postgres=#&ALTER&ROLE&pg_test_user_4&VALID&UNTIL&'JUL&7&14:00:00&2012&+8';&/*设置角色的有效期*&&
ALTER&ROLE&&
4.查看角色表中的信息:
postgres=#&SELECT&*&FROM&pg_&&
&&&&rolname&&&&&|&rolsuper&|&rolinherit&|&rolcreaterole&|&rolcreatedb&|&rolcatupdate&|&rolcanlogin&|&rolconnlimit&|&rolpassword&|&&&&&rolvaliduntil&&&&&&|&rol&&
config&|&&oid&&
----------------+----------+------------+---------------+-------------+--------------+-------------+--------------+-------------+------------------------+----&&
-------+-------&&
&postgres&&&&&&&|&t&&&&&&&&|&t&&&&&&&&&&|&t&&&&&&&&&&&&&|&t&&&&&&&&&&&|&t&&&&&&&&&&&&|&t&&&&&&&&&&&|&&&&&&&&&&&-1&|&********&&&&|&&&&&&&&&&&&&&&&&&&&&&&&|&&
&&&&&&&|&&&&10&&
&pg_test_user_3&|&f&&&&&&&&|&t&&&&&&&&&&|&f&&&&&&&&&&&&&|&t&&&&&&&&&&&|&f&&&&&&&&&&&&|&t&&&&&&&&&&&|&&&&&&&&&&&-1&|&********&&&&|&&&&&&&&&&&&&&&&&&&&&&&&|&&
&&&&&&&|&16390&&
&pg_test_user_4&|&f&&&&&&&&|&t&&&&&&&&&&|&t&&&&&&&&&&&&&|&t&&&&&&&&&&&|&f&&&&&&&&&&&&|&f&&&&&&&&&&&|&&&&&&&&&&&-1&|&********&&&&|&&14:00:00+08&|&&
&&&&&&&|&16391&&
(3&rows)&&
postgres=#&&
5.ALTER ROLE语句简介:
ALTER&ROLE&&
ALTER&ROLE&--&修改一个数据库角色&&
ALTER&ROLE&name&[&[&WITH&]&option&[&...&]&]&&
这里的&option&可以是:&&
&&&&&&SUPERUSER&|&NOSUPERUSER&&
&&&&|&CREATEDB&|&NOCREATEDB&&
&&&&|&CREATEROLE&|&NOCREATEROLE&&
&&&&|&CREATEUSER&|&NOCREATEUSER&&
&&&&|&INHERIT&|&NOINHERIT&&
&&&&|&LOGIN&|&NOLOGIN&&
&&&&|&CONNECTION&LIMIT&connlimit&&
&&&&|&[&ENCRYPTED&|&UNENCRYPTED&]&PASSWORD&'password'&&
&&&&|&VALID&UNTIL&'timestamp'&&&
ALTER&ROLE&name&RENAME&TO&newname&&
ALTER&ROLE&name&SET&configuration_parameter&{&TO&|&=&}&{&value&|&DEFAULT&}&&
ALTER&ROLE&name&RESET&configuration_parameter描述&&
ALTER&ROLE&修改一个数据库角色的属性。&&
相关资讯 & & &
& (03/04/:19)
& (01/19/:05)
& (08/14/:08)
& (02/12/:18)
& (12/30/:29)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款

我要回帖

更多关于 postgresql 查看角色 的文章

 

随机推荐