Postgresql 教程
Postgresql 是一个免费的对象-关系数据库服务器(ORDBMS),在灵活的BSD许可证下发行。
Postgresql 开发者把它念作 post-gress-Q-L。
Postgresql 的 Slogan 是 “世界上最先进的开源关系型数据库”。
什么是数据库?
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。
每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。
我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。
所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
ORDBMS(对象关系数据库系统)是面向对象技术与传统的关系数据库相结合的产物,查询处理是 ORDBMS 的重要组成部分,它的性能优劣将直接影响到DBMS 的性能。
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。
相关资源
Postgresql 10.1 手册 在线手册:http://www.runoob.com/manual/Postgresql/
离线手册 - PDF 版本: https://pan.baidu.com/s/1h1J14i8tzJUY3p9yyeW0mA, 提取码: xs7r。
离线手册 - CHM 版本: https://pan.baidu.com/s/1h1J14i8tzJUY3p9yyeW0mA, 提取码: tq4z。
查看最新版:https://github.com/postgres-cn/pgdoc-cn/releases
Windows 上安装 Postgresql
这里使用 EnterpriseDB 来下载安装,EnterpriseDB 是全球唯一一家提供基于 Postgresql 企业级产品与服务的厂商。
下载地址:https://www.enterprisedb.com/downloads/postgres-postgresql-downloads。
双击下载安装包,开始安装
选择安装组件,不懂的选就是全部勾上:
设置数据库路径
设置端口号,可以直接用默认就行
直接点 Next
点 Next
去掉勾选,直接点 Finish
打开 pgAdmin 4
pgAdmin 主页如下
点击左侧的 Servers > Postgre sql 10
输入密码,点击 OK 即可
控制面板如下
窗口使用
默认情况下 Postgresql 安装完成后,自带了一个命令行工具 sql Shell(psql)。
Windows 系统一般在它的安装目录下:
Program Files → Postgresql 11.3 → sql Shell(psql)
Mac OS 我们直接搜索就可以了找到:
进入命令行工具,我们可以使用 \help 来查看各个命令的语法 :
postgres-# \help <command_name>
例如,我们查看下 select 语句的语法:
postgres=# \help SELECT
Command: SELECT
Description: retrieve rows from a table or view
Syntax:
[ WITH [ RECURSIVE ] with_query [, ...] ]
SELECT [ ALL | disTINCT [ ON ( expression [, ...] ) ] ]
[ * | expression [ [ AS ] output_name ] [, ...] ]
[ FROM from_item [, ...] ]
[ WHERE condition ]
[ GROUP BY grouping_element [, ...] ]
[ HAVING condition [, ...] ]
[ WINDOW window_name AS ( window_deFinition ) [, ...] ]
[ { UNION | INTERSECT | EXCEPT } [ ALL | disTINCT ] select ]
[ ORDER BY expression [ ASC | DESC | USING operator ] [ NULLS { FirsT | LAST } ] [, ...] ]
[ LIMIT { count | ALL } ]
[ OFFSET start [ ROW | ROWS ] ]
[ FETCH { FirsT | NEXT } [ count ] { ROW | ROWS } ONLY ]
[ FOR { UPDATE | NO KEY UPDATE | SHARE | KEY SHARE } [ OF table_name [, ...] ] [ NowAIT | SKIP LOCKED ] [...] ]
from_item 可以是以下选项之一:
[ ONLY ] table_name [ * ] [ [ AS ] alias [ ( column_alias [, ...] ) ] ]
sql 语句
一个 sql 语句通常包含了关键字、标识符(字段)、常量、特殊符号等,下面是一个简单的 sql 语句:
SELECT id, name FROM runoob
详情·查看postgresql菜鸟教程:https://www.runoob.com/postgresql/postgresql-tutorial.html(也可以百度搜索进入菜鸟教程)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。