PostgreSQL 是一个免费的对象-关系数据库服务器(ORDBMS),在灵活的BSD许可证下发行。PostgreSQL 开发者把它念作 post-gress-Q-L。PostgreSQL 的 Slogan 是 "世界上最先进的开源关系型数据库"。

什么是数据库?

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

ORDBMS(对象关系数据库系统)是面向对象技术与传统的关系数据库相结合的产物,查询处理是 ORDBMS 的重要组成部分,它的性能优劣将直接影响到DBMS 的性能。ORDBMS在原来关系数据库的基础上,增加了一些新的特性。

RDBMS 是关系数据库管理系统,是建立实体之间的联系,最后得到的是关系表。

OODBMS 面向对象数据库管理系统,将所有实体都看着对象,并将这些对象类进行封装,对象之间的通信通过消息 OODBMS 对象关系数据库在实质上还是关系数据库 。

ORDBMS 术语

在我们开始学习 PostgreSQL 数据库前,让我们先了解下 ORDBMS 的一些术语:

  • 数据库: 数据库是一些关联表的集合。
  • 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
  • 列: 一列(数据元素) 包含了相同的数据, 例如邮政编码的数据。
  • 行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
  • 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。
  • 主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
  • 外键:外键用于关联两个表。
  • 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
  • 索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
  • 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。

PostgreSQL 特征

  • 函数:通过函数,可以在数据库服务器端执行指令程序。

  • 索引:用户可以自定义索引方法,或使用内置的 B 树,哈希表与 GiST 索引。

  • 触发器:触发器是由SQL语句查询所触发的事件。如:一个INSERT语句可能触发一个检查数据完整性的触发器。触发器通常由INSERT或UPDATE语句触发。 多版本并发控制:PostgreSQL使用多版本并发控制(MVCC,Multiversion concurrency control)系统进行并发控制,该系统向每个用户提供了一个数据库的"快照",用户在事务内所作的每个修改,对于其他的用户都不可见,直到该事务成功提交。

  • 规则:规则(RULE)允许一个查询能被重写,通常用来实现对视图(VIEW)的操作,如插入(INSERT)、更新(UPDATE)、删除(DELETE)。

  • 数据类型:包括文本、任意精度的数值数组、JSON 数据、枚举类型、XML 数据

    等。

  • 全文检索:通过 Tsearch2 或 OpenFTS,8.3版本中内嵌 Tsearch2。

  • NoSQL:JSON,JSONB,XML,HStore 原生支持,至 NoSQL 数据库的外部数据包装器。

  • 数据仓库:能平滑迁移至同属 PostgreSQL 生态的 GreenPlum,DeepGreen,HAWK 等,使用 FDW 进行 ETL。

Linux 上安装 PostgreSQL

开 PostgreSQL 官网 https://www.postgresql.org/,点击菜单栏上的 Download ,可以看到这里包含了很多平台的安装包,包括 Linux、Windows、Mac OS等 。Linux 我们可以看到支持 Ubuntu 和 Red Hat 等各个平台,点击具体的平台链接,即可查看安装方法:

点击上图中的 file browser,我们还能下载 PostgreSQL 最新的源码。

Ubuntu 安装 PostgreSQL

Ubuntu 可以使用 apt-get 安装 PostgreSQL:

sudo apt-get update
sudo apt-get install postgresql postgresql-client

安装完毕后,系统会创建一个数据库超级用户 postgres,密码为空。

#  sudo -i -u postgres

这时使用以下命令进入 postgres,输出以下信息,说明安装成功:

~$ psql
psql (9.5.17)
Type "help" for help.postgres=# 

输入以下命令退出 PostgreSQL 提示符:

\q

PostgreSQL 安装完成后默认是已经启动的,但是也可以通过下面的方式来手动启动服务。

sudo /etc/init.d/postgresql start   # 开启
sudo /etc/init.d/postgresql stop    # 关闭
sudo /etc/init.d/postgresql restart # 重启

Windows 上安装 PostgreSQL

这里使用 EnterpriseDB 来下载安装,EnterpriseDB 是全球唯一一家提供基于 PostgreSQL 企业级产品与服务的厂商。下载地址:https://www.enterprisedb.com/downloads/postgres-postgresql-downloads。

双击下载安装包,开始安装

你可以修改安装路径

选择安装组件,不懂的选就是全部勾上:

设置数据库路径

设置超级用户的密码

设置端口号,可以直接用默认就行

直接点 Next

点 Next

去掉勾选,直接点 Finish

打开 pgAdmin 4

pgAdmin 主页如下

点击左侧的 Servers > Postgre SQL 10

输入密码,点击 OK 即可

控制面板如下

打开 SQL Shell(psql)

Mac OS 上安装 PostgreSQL

使用 EnterpriseDB 来下载安装,EnterpriseDB 是全球唯一一家提供基于 PostgreSQL 企业级产品与服务的厂商。下载地址:https://www.enterprisedb.com/downloads/postgres-postgresql-downloads。

下载 postgresql-****-osx.dmg 文件,双击安装文件:

这时会要求你输入管理员密码,输入即可,之后弹出安装向导:

接下来就是一些基本的配置,比如:安装目录、扩展安装、数据库目录、用户密码、端口设置等,一般使用默认的就好,直接点 Next:

最后,点击 Finish 即可:

执行以下脚本启动 PostgreSQL。以下几个选项你可以自己输入,或者用默认的,默认回车就行,密码的地方为刚才你在安装过程中设置的密码:

$ /Library/PostgreSQL/11/scripts/runpsql.sh ;exit
Server [localhost]:
Database [postgres]:
Port [5432]:
Username [postgres]:
Password for user postgres:
psql (11.3)
Type "help" for help.postgres=# 

pgAdmin 4

打开 pgAdmin 4:

或者在屏幕右上方点击大象头像的图标:

pgAdmin 主页如下

点击左侧的 Servers > Postgre SQL 10

输入密码,点击 OK 即可

控制面板如下

PostgreSQL学习总结(1)—— PostgreSQL 入门简介与安装相关推荐

  1. DL框架之Caffe:深度学习框架之Caffe的简介、安装、使用方法详细攻略

    DL框架之Caffe:深度学习框架之Caffe的简介.安装.使用方法详细攻略 目录 Caffe的简介 Caffe的安装 Caffe的使用方法 1.基本函数 ​ Caffe的简介 全称Convoluti ...

  2. DL框架之Keras:深度学习框架Keras框架的简介、安装(Python库)、相关概念、Keras模型使用、使用方法之详细攻略

    DL框架之Keras:深度学习框架Keras框架的简介.安装(Python库).相关概念.Keras模型使用.使用方法之详细攻略 目录 Keras的简介 1.Keras的特点 2.Keras四大特性 ...

  3. DL框架之MXNet :深度学习框架之MXNet 的简介、安装、使用方法、应用案例之详细攻略

    DL框架之MXNet :深度学习框架之MXNet 的简介.安装.使用方法.应用案例之详细攻略 目录 MXNet 的简介 1.优缺点 2.相关文章 3.相关链接 MXNet 的安装 MXNet 的使用方 ...

  4. TensorFlow:深度学习框架TensorFlow TensorFlow_GPU的简介、安装、测试之详细攻略

    TensorFlow:深度学习框架TensorFlow & TensorFlow_GPU的简介.安装.测试之详细攻略 目录 TensorFlow的简介 TensorFlow的安装 1.tens ...

  5. DL框架之DL4J/Deeplearning4j:深度学习框架DL4J/Deeplearning4j的简介、安装、使用方法之详细攻略

    DL框架之DL4J/Deeplearning4j:深度学习框架DL4J/Deeplearning4j的简介.安装.使用方法之详细攻略 目录 深度学习框架Deeplearning4j的简介 1.Deep ...

  6. Doker入门简介和安装

    Doker入门简介和安装 Docker简介 为什么需要Docker Docker理念 容器和虚拟机的比较 Docker的基本组成 Docker安装 安装步骤 配置阿里云镜像加速 Docker简介 为什 ...

  7. postgresql学习_在PostgreSQL中学习这些快速技巧

    postgresql学习 PostgreSQL is one of the most popular open source SQL dialects. One of its main advanta ...

  8. Python3学习笔记(一)简介 、 安装 、 解释器

    python(一)简介.安装 . python解释器介绍 一. 简介 python提供了非常完善的基础代码库 , 覆盖了网络 . 文件 . GUI . 数据库 . 文本等大量的内容 , 被称之为&qu ...

  9. Spark基础学习笔记08:Scala简介与安装

    文章目录 零.本讲学习目标 一.Scala简介 (一)Scala概述 (二)函数式编程 (三)Scala特性 1.一切都是对象 2.一切都是函数 3.一切都是表达式 (四)在线运行Scala 二.选择 ...

最新文章

  1. linux运维基础2
  2. oracle 24365,深入解析:DBA_OBJECTS中的OBJECT_ID与DATA_OBJECT_ID的区别
  3. 数据持久层框架 Hibernate
  4. Laravel安装因PHP版本不对的bug
  5. 音视频技术开发周刊(第123期)
  6. windows下的库文件在linux的使用,Windows、Linux之间传输文件的几种方式
  7. 【源码】常用的人脸识别数据库以及上篇性别识别源码
  8. VMware文件共享
  9. 计算机位图字节怎么算,位图跨度和4个字节的关系?(Bitmap Stride And 4 bytes Relation?)...
  10. webmagic框架
  11. 在有空字符串的有序字符串数组中查找(找给定字符串)
  12. 那些属于我自己的牢骚
  13. 支持视频语音通话的免费远程管理软件-Rd远控
  14. 微信开发者工具之WXS和简单组件
  15. 使用pktgen-dpdk和l2fwd测试RFC2544
  16. MATLAB插值函数_akala啦_新浪博客
  17. SQL SERVER2000安装挂起问题
  18. Shadow Defender 版本: 1.1.0.331注册码
  19. Gitee如何上传整个项目文件夹
  20. ContestHunter #26 B 玩骰子

热门文章

  1. lane是什么意思_什么是Trunk?Trunk详解
  2. 139. 单词拆分(JavaScript)
  3. 计算机专业大学排名_最新!2020美国九大热门专业最具薪资潜力大学排名来了!...
  4. python post参数传递不成功_Python中的API构建指南:在Flask中进行API开发
  5. ffmpeg threads_用ffmpeg命令行转压视频
  6. gurobi和java_Gurobi和java和空解决方案
  7. unity打开一片黑_黑花儿和白花儿——记我家的两只猫星人
  8. mysql的service name_安装MYSQL出错:a windows service with the name MYSQL already...service解决...
  9. leelen可视对讲怎么接线_对讲门铃怎么安装
  10. ht1621b和单片机电平匹配_基于HT1621B段式液晶模块的驱动应用