学习目的:基础使用。

能够开发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. mysql数据库多源复制方案

    概述 由于目前生产环境的mysql数据库分布在两台服务器,若从单一主从来看,配置很简单,但是需要将两台服务器的数据库同步到一台从库上面,需要进行更多配置和注意事项.多源复制有两种方案,Binlog+P ...

  2. docx4j基本操作

    最近需要用docx4j来对docx进行一些操作,用到的技术是docx4j,这个技术在国内其实用的不是很多,看了一些博主的文章,有些感悟,做了一些总结,如果有疑问或错误之处欢迎交流. 创建包: Word ...

  3. Systemd unit generators unit

    systemd.generator(7) - Linux manual page http://man7.org/linux/man-pages/man7/systemd.generator.7.ht ...

  4. 崩溃block

    [__NSGlobalBlock__ setHidden:]: unrecognized selector sent to instance 0x10dbb9090(null)注释掉 sethidde ...

  5. xmr monero miner

    https://github.com/fireice-uk/xmr-stak-cpu xmr-stak-cpu安装 xmr-stak-cpu是一个用于cpu计算的开源软件,下面记录在ubuntu17. ...

  6. python+Nginx+uWSGI使用说明

    安装环境 Remote: CentOS 7.4 x64 (django.example.com) Python: Python3.6.5 Django: Django 2.0.4 nWSGI:  uw ...

  7. python之__setattr__常见问题

    #__setattr__ class Foo(object): def set(self,k,v): pass def __setattr__(self, key, value): print(key ...

  8. Selenium之IE浏览器的启动

    1.下载IEDriverServer.exe文件放至需要的目录中: 2.编写代码 import org.openqa.selenium.WebDriver; import org.openqa.sel ...

  9. redis.conf配置文件说明

    # Redis 配置文件 # 当配置中需要配置内存大小时,可以使用 1k, 5GB, 4M 等类似的格式,其转换方式如下(不区分大小写) # # 1k => 1000 bytes # 1kb = ...

  10. JS随机数种子

    JS随机数种子 1 试着想一下,如果在某一个场景,我们做一个游戏,用户玩到一半的时候退出了,这样 用户下次进来可以选择继续上一次的进度继续玩,那么现在问题来了:用户玩 的进度以及用户的积分等简单的描述 ...