学习目的:基础使用。

能够开发RoR就行。

git:

https://github.com/postgres-cn/pgdoc-cn


1.2. 架构基础

PostgreSQL使用一种客户端/服务器的模型。

一次PostgreSQL会话由下列相关的进程(程序)组成:

  • 一个服务器进程process: 管理数据库文件,接受来自客户端应用与数据库的连接,并代表客户端在数据库上操作。
  • 需要操作数据库的用户的客户端(前端)应用:客户端本身是多样的, 可以是网页服务器, 或者图形界面的应用等等。。。,大部分是用户开发的。
PostgreSQL服务器可以处理来自客户端的多个并发请求。

因此,它为每个连接启动("forks")一个新的进程。

从这个时候开始,客户端和新服务器进程就不再经过最初的 postgres进程的干涉进行通讯。 因此,主服务器进程总是在运行并等待着客户端联接, 而客户端和相关联的服务器进程则是起起停停

1.3. 创建一个数据库

在此之前需要先有一个用户账号,参阅21章。

$ createdb mydb

dropda mydb是删除数据库。

1.4. 访问数据库

通过psql(交互终端程序)来访问数据库。可以通过它执行SQL命令

也可以通过图形化的前端工具,如pgAdim或支持的办公套件。

$ psql name

在psql界面会看到欢迎信息,postgres=#

如果是=#,则代表是超级用户。但⚠️是我使用create -P name后仍然是这个?

而且用其他名字创建后无法进入psql

$ createuser -d myapp
$ psql myapp
psql: FATAL:  database "myapp" does not exist

可能是之前没有创建过相关的myapp数据库: createdb myapp


 21.1数据库角色

CREATE ROLE name;

DROP ROLE name;

不过一般使用createuser, dropuser来快速建立,又叫SQL命令的包装器。

createuser -d name #-d是允许用户创建一个新databases,(点击见creatuser详解)

dropuser name       #删除该用户

psql -U name #指定以哪个角色来连接到数据库服务器。(可以省略-U)

21.2. 角色属性

数据库角色可以有一些属性,它们定义角色的权限并且与客户端认证系统交互。

password:

只有当客户端认证方法要求用户在连接数据库时提供一个口令时,一个口令才有意义。passwordmd5认证方法使用口令。数据库口令与操作系统命令独立。在角色创建时指定一个口令:CREATE ROLE name PASSWORD 'string'

可以在psql中使用\password [username]来输入新的口令

21.3. 角色成员关系

用于方便的管理用户权限,权限可以被授予一整组或从整组收回。

21.4. 删除角色

由于角色可以拥有数据库对象并且能持有访问其他对象的特权,删除一个角色 常常并非一次DROP ROLE就能解决。任何被该用户所拥有 的对象必须首先被删除或者转移给其他拥有者,并且任何已被授予给该角色的 权限必须被收回。


psql --  PostgreSQL的交互式终端

http://www.postgres.cn/docs/9.6/app-psql.html

描述:

psql是一个PostgreSQL的基于终端的前端。它让你能交互式地键入查询,把它们发送给PostgreSQL,并且查看查询结果。或者,输入可以来自于一个文件或者命令行参数。此外,psql还提供一些元命令和多种类似 shell 的特性来为编写脚本和自动化多种任务提供便利。

遇到的options:

\du:  列出数据库角色,如果创建了一个role,可以通过这个命令查看。

                                    List of roles
  Role name  |                         Attributes                         | Member of
-------------+------------------------------------------------------------+-----------
 chenXXXXX | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
 postgres    | Create DB                                                  | {}

\password [username]


PistgreSQL9.6手册(基础摘录)的更多相关文章

  1. ansible中文手册-基础模块使用

    此篇文章主要是翻译ansible官网文档而来,在里面讲述了如何使用ansible的基础模块,总体感觉比较晦涩,但是后面会写出自己相关实践的文档,从而更加通俗易懂,官网的东西拿来当手册偶尔翻翻也是很不错 ...

  2. CSS3中文手册基础知识

    CSS3手册是学习CSS3的最佳文档,不管是自己写博客,还是买书,手册少不了.今天我给大家介绍一些CSS3有哪些分类及其使用. 具体参考:http://caibaojian.com/css3/ 上来进 ...

  3. GitHub 使用手册 - 基础篇

    缘起 Git已经成为程序员必备技能之一,而GitHub做为做流行的Git仓库托管平台,其不仅提供Git仓库托管,还是一个非常棒的技术人员社交平台,可以通过开源的项目进行协作.交流,是现在优秀的工程师必 ...

  4. Redis基础知识点面试手册

    Redis基础知识点面试手册 基础 概述 数据类型 STRING LIST SET HASH ZSET(SORTEDSET) 数据结构 字典 跳跃表 使用场景 会话缓存 缓存 计数器 查找表 消息队列 ...

  5. 小刻也能看懂的Unraid系统使用手册:基础篇

    小刻也能看懂的Unraid系统使用手册 基础篇 Unraid系统简介 Unraid 的本体其实是 Linux,它主要安装在 NAS 和 All in One 服务器上,经常可以在 Linus 的视频里 ...

  6. 第 23 章 CSS3 边框图片效果

    学习要点: 1.属性初探 2.属性解释 3.简写和版本 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS3 中边框图片背景的效果,通过这个新属性让边框更加的丰富多彩. 一.属性解释 CSS3 提 ...

  7. Jmeter_初步认识随笔

    1. 简介 Apache JMeter是100%纯java桌面应用程序,被设计用来测试客户端/服务器结构的软件(例如web应用程序).它可以用来测试包括基于静态和动态资源程序的性能,例如静态文件,Ja ...

  8. 嵌入式开发之zynqMp ---Zynq UltraScale+ MPSoC 图像编码板zcu102

    1.1 xilinx zynqMp 架构 1.1.1 16nm 级别工艺 Zynq UltraScale+  MPSoC架构 Xilinx新一代Zynq针对控制.图像和网络应用推出了差异化的产品系,这 ...

  9. ”MySQL索引“学习总结

    序 learn by doing 是最快的学习方式.在百度外卖研发中心,我每天工作接触数据库方面最多的就是"索引",另外面试官在面试时也一定会考察到索引. Part 1, Expl ...

随机推荐

  1. Drools规则引擎

    一.简介 Drools is a Business Rules Management System (BRMS) solution. It provides a core Business Rules ...

  2. Android-aidl, binder,surfaceview

    http://blog.csdn.net/stonecao/article/details/6425019 http://www.cnblogs.com/linucos/archive/2012/05 ...

  3. PHP的线性安全和非线性安全的区别

    从2000年10月20日发布的第一个Windows版的PHP3.0.17开始的都是线程安全的版本,这是由于与Linux/Unix系统是采用多进程的工作方式不同的是Windows系统是采用多线程的工作方 ...

  4. JS&CSS压缩工具YUICompressor

    YUI Compressor 是一个用来压缩 JS 和 CSS 文件的工具,采用Java开发. YUI Compressor下载地址:http://www.jb51.net/softs/25860.h ...

  5. PAT 1111 Online Map[Dijkstra][dfs]

    1111 Online Map(30 分) Input our current position and a destination, an online map can recommend seve ...

  6. 谷歌百度以图搜图 "感知哈希算法" C#简单实现

    /// <summary> /// 感知哈希算法 /// </summary> public class ImageComparer { /// <summary> ...

  7. NodeJS学习笔记三

    map map对象是一个简单的键/值映射.任何值(包括对象和原始值)都可以用作一个键或一个值. var m = new Map(); var o = {p: "Hello World&quo ...

  8. 系统管理命令之who

    作为一名系统管理员,我们需要弄清楚在一个特定的时间点都有谁活跃在系统上.必须严密监视我们的服务器.但是,我们当然不可能一天24小时都盯着系统.在linux系统中,我们可以使用who命令查看登录者信息. ...

  9. 69. Sqrt(x)(二分查找)

    Implement int sqrt(int x). Compute and return the square root of x, where x is guaranteed to be a no ...

  10. hdu5102 枚举每条边的长度

    题意 给了 一颗 有 100000 个节点的树, 他们构成的边有 n*(n-1)/2 种. 每条边有一个长度,长度排序后 取前K条的 和, 枚举每条长度为1 的边 放进队列,然后通过成都为1 的表去 ...