转自:http://blog.chinaunix.net/uid-354915-id-3499975.html
一、创建数据库
1、通过pgAdmin创建数据库TestDb1:
打开数据库TestDb1看到建库脚本:
在目录——PostgreSQL(pg_catalog)——数据表——pg_database中可以查看多了一个数据库TestDb1:
select oid,* from pg_database;
此时,在E:\PostgreSQL\data\base下的文件夹如下:
以上说明,创建的数据库使用默认表空间(pg_default),数据文件夹使用oid命名。
同时,在E:\PostgreSQL\data\local下也会增加一些文件。
注:PostgreSQL的oid:行的对象表示符(对象ID);PostgreSQL的xid:事务ID;
这两个ID都是4字节的整数,在超过40亿时将溢出,此后会出现重复,所以,假设它们唯一是错误的,除非你自己采取了措施来保证它们是唯一的。
2、通过psql命令行创建数据库:
postgres=# create database "TestDb2";
CREATE DATABASE
postgres=#
postgres=# select oid,datname from pg_database;
oid | datname
-------+-----------
1 | template1
11905 | template0
11913 | postgres
16393 | TestDb1
16394 | TestDb2
(5 行记录)
从pgAdmin打开,两者建库脚本一样,说明都是使用的默认参数;
二、创建表空间
1、通过pgAdmin创建表空间
创建表空间必须首先建空目录,假设建文件夹:E:\PostgreSQL\data\TestDbs1,建表空间是选择该目录。
打开表空间TestDbs1, 可以看到建表空间脚本:
2、通过psql命令行创建表空间
postgres=# create tablespace "TestDbs2" location 'E:\PostgreSQL\data\TestDbs2';
CREATE TABLESPACE
三、创建角色、用户
角色与用户的区别:
角色就相当于岗位:角色可以是经理,助理。
用户就是具体的人:比如陈XX经理,朱XX助理,王XX助理。
1、通过pgAdmin创建角色
创建角色TestRole1,输入密码,分配权限,需要分配login权限系统才会自动创建同名用户TestRole1。
打开角色TestRole1,可以看到创建角色脚本:
2、通过psql命令行创建角色
postgres=# create role "TestRole2";
CREATE ROLE
postgres=# select rolname from pg_roles;
rolname
-----------
postgres
TestRole1
TestRole2
(3 行记录)
postgres=# select usename from pg_user;
usename
-----------
postgres
TestRole1
(2 行记录)
postgres=# create role "TestRole3" login;
CREATE ROLE
postgres=# select rolname from pg_roles;
rolname
-----------
postgres
TestRole1
TestRole2
TestRole3
(4 行记录)
postgres=# select usename from pg_user;
usename
-----------
postgres
TestRole1
TestRole3
(3 行记录)
角色TestRole2创建时没有分配login权限,所以没有创建用户;在pgAdmin的“登录角色”中看不到,到pg_authid中把rolcanlogin字段由false改为true,系统自动创建同名用户,此时在“登录角色”中才可以看到。
也可以通过sql命令给该角色分配login权限,系统将自动创建同名用户TestRole2:
postgres=# select usename from pg_user;
usename
-----------
postgres
TestRole1
TestRole3
TestRole2
(4 行记录)
TestRole3角色创建时分配了login权限,系统自动创建一个同名的用户TestRole3。
通过psql命令行创建用户
PostgreSQL的create role与create user命令是等效的,只是前者默认是非login的,而后者默认是login的。
postgres=# create user "TestUser11" with password 'TestUser11' login in role "TestRole1";
CREATE ROLE
postgres=# select rolname from pg_roles;
rolname
------------
postgres
TestRole1
TestRole3
TestRole2
TestUser11
(5 行记录)
postgres=# select usename from pg_user;
usename
------------
postgres
TestRole1
TestRole3
TestRole2
TestUser11
(5 行记录)
postgres=# create user "TestUser1";
CREATE ROLE
postgres=# select rolname from pg_roles;
rolname
------------
postgres
TestRole1
TestRole3
TestRole2
TestUser11
TestUser1
(6 行记录)
postgres=# select usename from pg_user;
usename
------------
postgres
TestRole1
TestRole3
TestRole2
TestUser11
TestUser1
(6 行记录)
相关推荐
本“PostgreSQL数据库实战培训课程(速成版)”旨在帮助初学者迅速掌握PostgreSQL的核心概念和操作技巧,为你的IT职业生涯添砖加瓦。 课程概述: 在本速成课程中,你将深入学习PostgreSQL的基础知识,包括安装与...
标题中的"postgresql数据库"指的是这个系统,而描述中的"postgresql-9.2.1-1-windows.exe"是PostgreSQL的一个特定版本,专为Windows操作系统设计。 PostgreSQL 9.2.1是在2012年发布的一个稳定版本,包含了多项改进...
由于PostgreSQL数据库对操作系统和服务器配置有一定的要求,文档中明确指出,建议的操作系统是Windows Server 2008的64位版本,同时要求服务器的处理器为Intel Xeon E7500系列及以上型号,内存至少8GB,硬盘空间至少...
### PostgreSQL 大象数据库还原与配置详解 ...通过以上步骤,您可以成功地在PostgreSQL中创建登录角色、表空间、数据库,还原备份文件,并允许远程访问。这些操作是管理和维护大型PostgreSQL数据库的重要组成部分。
PostGIS是PostgreSQL数据库的一个扩展,它为存储空间对象以及进行空间查询提供了支持。本操作手册主要涉及PostgreSQL 8.4版本的安装流程以及如何在PostgreSQL 8.4数据库中导入空间数据。 首先,进行PostgreSQL 8.4...
**PostgreSQL数据库内核分析** PostgreSQL是一种开源的关系型数据库管理系统(RDBMS),以其高度的稳定性和强大的功能而受到全球开发者的广泛欢迎。作为一款先进的数据库系统,PostgreSQL的内核架构是其核心竞争力...
### MetaSploit终端下PostgreSQL数据库的使用 在渗透测试及安全评估领域,MetaSploit作为一款强大的框架,被广泛应用于模拟攻击、漏洞利用等场景之中。为了更好地管理和利用漏洞库资源,MetaSploit集成了对多种...
**PostgreSQL数据库管理系统** PostgreSQL,通常简称为Postgres,是一种功能强大的开源关系型数据库管理系统。它以其稳定性、可扩展性和强大的SQL支持而受到全球开发者的广泛赞誉。PostgreSQL支持多种操作系统,...
5. 创建数据库用户和角色,这将用于访问和管理数据库。可以使用`CREATE USER`命令进行创建,并分配相应的权限。 6. 创建数据库和表空间。表空间允许你在不同的磁盘位置存储数据库文件,可以使用`CREATE DATABASE`和`...
### Postgre数据库学习知识点 #### 一、PostgreSQL简介...以上是基于给定文档内容总结出的关键知识点,涵盖了PostgreSQL的安装、基本操作、用户管理、表空间管理及数据库创建等方面的内容。希望这些信息对你有所帮助。
《藏经阁-PostgreSQL实战教程》是一本深入探讨PostgreSQL数据库系统的技术书籍,结合了当前数据库行业的变革和国产化趋势。在当前的信息化时代,PostgreSQL作为一款强大的开源关系型数据库,正受到越来越多的关注和...
在本文中,我们将探讨如何在PostgreSQL中进行数据库、表空间、角色和用户的创建。 首先,我们来看创建数据库的过程。在PostgreSQL中,可以通过图形界面工具如pgAdmin或者命令行工具psql创建数据库。例如,创建一个...
标题“postgresql”直接指出了我们要讨论的主题,即PostgreSQL数据库系统。描述中的“postgresql-9.6.8-4”表明这是PostgreSQL的特定版本,9.6.8是版本号,而“4”可能是发行版或构建号,这通常用于区分同一版本的...
**PostgreSQL数据库系统详解** PostgreSQL,简称PG,是一款开源的对象关系型数据库管理系统(ORDBMS),它以其强大、稳定和高度可扩展性而受到全球开发者的广泛青睐。这款数据库系统支持SQL标准,并且提供了许多...
5. **用户与权限**:PostgreSQL有完善的权限系统,包括角色(roles)、用户(users)、权限(privileges)等概念。`CREATE USER`和`GRANT`语句常用于创建和管理用户权限。 6. **数据类型与表**:PostgreSQL支持丰富...
3. **角色**:通过角色实现权限管理的分组,一个用户可以属于多个角色。 ### 七、备份与恢复 1. **pg_dump工具**:用于创建数据库的备份文件,如`pg_dump -U myuser mydb > backup.sql` 2. **pg_restore工具**:...
PostgreSQL的数据库对象层级结构从角色/用户(Role/Groups)开始,经过数据库(Database),表空间(Tablespace),最终到模式(Schema)、表(Table)、视图(View)、序列(Sequence)、函数(Function)、列...
**PostgreSQL:数据库管理系统概述** PostgreSQL,通常称为Postgres,是一种开源的对象关系数据库管理系统(ORDBMS),它以其强大的功能、稳定性和高度的可扩展性而受到全球开发者的广泛赞誉。这个“PostgreSQL从...