PGSQL(PostgreSQL)数据库基础篇:PostgreSQL 的 主要优点 、 劣势 、体系结构 、核心功能 、安装教程。

文章目录

  • PostgreSQL 的 主要优点
  • PostgreSQL 的 应用劣势
  • PostgreSQL 的体系结构
  • PostgreSQL 的核心功能
  • PostgreSQL 的适用场景
  • 安装部署

PostgreSQL 的 主要优点

1.维护者是PostgreSQL Global Development Group,首次发布于1989年6月。
2.操作系统支持WINDOWS、Linux、UNIX、MAC OS X、BSD。
3.从基本功能上来看,支持ACID、关联完整性、数据库事务、Unicode多国语言。
4.表和视图方面,PostgreSQL支持临时表,而物化视图,可以使用PL/pgSQL、PL/Perl、PL/Python或其他过程语言的存储过程和触发器模拟。
5.索引方面,全面支持R-/R+tree索引、哈希索引、反向索引、部分索引、Expression 索引、GiST、GIN(用来加速全文检索),从8.3版本开始支持位图索引。
6.其他对象上,支持数据域,支持存储过程、触发器、函数、外部调用、游标
7.数据表分区方面,支持4种分区,即范围、哈希、混合、列表。
8.从事务的支持度上看,对事务的支持与MySQL相比,经历了更为彻底的测试。
9.My ISAM表处理方式方面,MySQL对于无事务的MyISAM表,采用表锁定,1个长时间运行的查询很可能会阻碍对表的更新,而PostgreSQL不存在这样的问题。
10.从存储过程上看,PostgreSQL支持存储过程。因为存储过程的存在也避免了在网络上大量原始的SQL语句的传输,这样的优势是显而易见的。
11.用户定义函数的扩展方面,PostgreSQL可以更方便地使用UDF(用户定义函数)进行扩展。
安装包下载

PostgreSQL 的 应用劣势

1.最新版本和历史版本不分离存储,导致清理老旧版本时需要做更多的扫描,代价比较大但一般的数据库都有高峰期,如果合理安排VACUUM,这也不是很大的问题,而且在PostgreSQL9.0中VACUUM进一步被加强了。
2.在PostgreSQL中,由于索引完全没有版本信息,不能实现Coverage index scan,即查询只扫描索引,不能直接从索引中返回所需的属性,还需要访问表,而Oracle与Innodb则可以。

PostgreSQL 的体系结构

PostgreSQL 的体系结构是以客户端-服务器模型为基础的。它包括以下核心组件:

客户端:用户通过客户端连接到 PostgreSQL 服务器来执行查询和操作数据库。

PostgreSQL 服务器:服务器接收客户端请求,并负责处理和执行 SQL 查询、管理事务、处理并发和数据存储等。

后台进程:这些进程负责管理数据库的不同方面,例如自动化备份、日志记录、统计信息收集和查询优化等。

共享缓冲区:服务器使用共享缓冲区来提高性能,将常用的数据存储在内存中,加快数据访问速度。

PostgreSQL 的核心功能

PostgreSQL 提供了丰富的核心功能,使其成为广泛使用的数据库解决方案。以下是几个重要的核心功能:

高级查询功能:PostgreSQL 支持复杂的 SQL 查询,包括联接、子查询、聚合函数、窗口函数等。同时它还支持全文搜索、地理空间数据处理和图形数据分析等扩展功能。

完整性约束:PostgreSQL 允许定义各种完整性约束,例如主键、唯一约束、外键和检查约束,以保证数据的完整性和一致性。

触发器和存储过程:PostgreSQL 支持触发器和存储过程,允许在插入、更新或删除数据时执行自定义的业务逻辑。

并发控制:借助多版本并发控制(MVCC)技术,PostgreSQL 实现了高度并发的读写操作,避免数据锁定和读写冲突。

复制和高可用性:PostgreSQL 支持数据复制和流复制,可以创建热备份和实现高可用性架构。

扩展性:通过提供扩展机制,用户可以自定义和使用各种插件和扩展,从而增强 PostgreSQL 的功能。

PostgreSQL 的适用场景

由于其灵活性和可定制性,PostgreSQL 在多个应用场景中得到广泛应用。以下是几个常见的应用场景:

Web 应用程序:PostgreSQL 提供了可靠、高性能的数据库解决方案,适用于开发 Web 应用程序和电子商务平台。

地理信息系统:借助 PostGIS 扩展,PostgreSQL 可以有效地存储和查询地理空间数据,并支持空间分析功能。

数据仓库和大数据分析:PostgreSQL 具有处理复杂查询和大规模数据集的能力,适用于构建数据仓库和进行数据分析。

物联网(IoT)应用:由于其稳定、高可靠的特性,PostgreSQL 适用于处理大量传感器数据和实时事件。

安装部署

下载地址
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下载后点击exe安装包
在这里插入图片描述

在这里插入图片描述
设置的data存储路径
在这里插入图片描述
设置密码
在这里插入图片描述
设置端口
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
安装完毕,配置PGSQL的ip远程连接,pg_hba.conf,postgresql.conf,需要更改这两个文件

pg_hba.conf
在这里插入图片描述
最后增加一行

host 	all  			all  			192.168.0.1/24  		trust

postgresql.conf 找到如下配置

listen_addresses
将listen_addresses改成listen_addresses=‘*’
在这里插入图片描述
重启windows pgsql服务或者重启pgsql

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

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

相关文章

转换NC或HDF数据时候转出数据无坐标信息的处理方法

有时候我们在转换NC或HDF数据时,有时候会出现没有坐标信息的情况!如下图: 这种情况一般是原始数据将坐标信息存储在说明文件中以便后期做生成坐标信息的处理、或坐标存储的形式比较特殊,造成工具无法读取!这种数据处理…

Emacs之dired模式重新绑定键值v(一百三十一)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

python-缩进式编码+算术运算符+定义与赋值代码示例

文章目录 一、​缩进式编码二、算术运算符三、定义与赋值关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案例③Python小游戏源码五、面试资料六、Python兼职渠道 一、​…

用C++实现队列顺序结构的基本操作

//队列顺序结构的基本操作: #include"stdio.h" #include"String" #define QueueSize 100 typedef char ElemType; typedef struct { ElemType data[QueueSize]; /*保存队中元素*/int front,rear; /*队头和队尾指针*/ } SqQueue; void Init…

CETN01 - How to Use Cloud Classroom

文章目录 I. Introduction to Cloud ClassroomII. How to Use Cloud Classroom1. Publish Resources2. Conduct Activities3. Class Teaching Reports4. View Experience Values5. Performance in Cloud Classroom I. 云课堂介绍II. 如何使用云课堂1. 发布资源2. 进行活动3. 班…

yolov8使用详解

文章目录 一. 安装yolov81. 通过Pip安装2. 通过Conda安装3. Git克隆源码安装 二. yolov8基本设置三. yolov8模型1. 目标检测2. 实例分割3. 图像分类4. 姿态估计5. 多对象跟踪(1) 可用的追踪器(2) 选择追踪器(3) 持续追踪循环(4) 随时间绘制追踪路径 四. yolov8数据集[1. 检测数…

高效的多维空间点索引算法——GeoHash

一、Geohash 算法简介 GeoHash是空间索引的一种方式,其基本原理是将地球理解为一个二维平面,通过把二维的空间经纬度数据编码为一个字符串,可以把平面递归分解成更小的子块,每个子块在一定经纬度范围内拥有相同的编码。以GeoHash方…

书籍推荐: 深入理解Go并发编程

一书在手,并发无忧 收到了鸟窝老师历时五载写就的新作「深入理解Go并发编程」 迫不及待开卷阅览,大呼过瘾,最大感触是诚如副标题所言,“从原理到实践,看这本就够了”。 对并发编程优雅简洁的支持,是Go最大的…

从简单到入门,一文掌握jvm底层知识文集。

🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。 🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论…

关于我自己搭建了一个完整的 网站 - 从零开始(服务器购买选型,域名备案,wordpress 主题,各种支付插件)

这篇博客主要介绍是如何在华为云上搭建一个 WordPress 网站。我将详细介绍从购买服务器到推广网站的整个过程,包括域名主机的备案。无论您是技术新手还是有一定经验的开发者,这篇文章都能为您提供有价值的指导。 第一步:选择云服务器 我选择…

CART算法Python实现

本文深入探讨了CART(分类与回归树)算法的核心原理、实现方法以及应用场景。文章首先介绍了决策树的基础知识,然后详细解析了CART算法的工作机制,包括特征选择和树的构建。接着,通过Python和PyTorch的实例代码展示了CAR…

期末速成数据库极简版【存储过程】(5)

目录 【7】系统存储过程 【8】用户存储过程——带输出参数的存储过程 创建存储过程 存储过程调用 【9】用户存储过程——不带输出参数的存储过程 【7】系统存储过程 系统存储我们就不做过程讲解用户存储过程会考察一道大题,所以我们把重点放在用户存储过程。…

老年女性认知功能低于男性 |CHARLS CLHLS CFPS公共数据库周报(11.29)

欢迎参加郑老师2023年孟德尔随机化课程即将开始 发表文章后退款!郑老师科研统计课程详情 CHARLS公共数据库 CHARLS数据库简介中国健康与养老追踪调查(China Health and Retirement LongitudinalStudy,CHARLS)是一项持续的纵向调查,旨在调查中…

Java设计模式-工厂模式

目录 一、简单工厂模式 (一)需求 (二)使用传统的方法来完成 (三)传统方法的优缺点 (四)基本介绍 (五)使用简单工厂模式 二、工厂方法模式 &#xff0…

基于 ESP32-S3 的 Walter 开发板

Walter 是一款基于 ESP32-S3 且拥有 5G LTE 连接功能的新型开源开发套件。 近日,比利时公司 DPTechnics BV 推出了一款基于乐鑫 ESP32-S3 且拥有 5G LTE 连接功能的新型开源开发套件。该套件即将在 Crowd Supply 平台上发布,您可以点击此处了解详情。 无…

vm虚拟机固定IP

最近使用vm虚拟机 ,可用了一段时间ip就自动变化,于是去网上看了不少教程,但很多都没用。 1.编辑配置 vim /etc/sysconfig/network-scripts/ifcfg-ens33 修改BOOTPROTO为static加入属性IPADDR,设置你想要设置的ip配置GATEWAY与DNS1 不配置GA…

《每天一个Linux命令》 -- (5)通过sshkey密钥登录服务器

欢迎阅读《每天一个Linux命令》系列!在本篇文章中,将介绍通过密钥生成,使用公钥连接管理服务器。 概念 SSH 密钥是用于安全地访问远程服务器的一种方法。SSH 密钥由一对密钥组成:公钥和私钥。公钥存储在远程服务器上,…

Vue 2.0源码分析-update

Vue 的 _update 是实例的一个私有方法,它被调用的时机有 2 个,一个是首次渲染,一个是数据更新的时候;由于我们这一章节只分析首次渲染部分,数据更新部分会在之后分析响应式原理的时候涉及。_update 方法的作用是把 VNo…

23种策略模式之策略模式

文章目录 前言优缺点使用场景角色定义UML模拟示例小结 前言 在软件开发中,设计模式是为了解决常见问题而提供的一套可重用的解决方案。策略模式(Strategy Pattern)是其中一种常见的设计模式,它属于行为型模式。该模式的核心思想是…

【数据库】数据库多种锁模式,共享锁、排它锁,更新锁,增量锁,死锁消除与性能优化

多种锁模式的封锁系统 ​专栏内容: 手写数据库toadb 本专栏主要介绍如何从零开发,开发的步骤,以及开发过程中的涉及的原理,遇到的问题等,让大家能跟上并且可以一起开发,让每个需要的人成为参与者。 本专栏会…