【PostgreSQL】PostgreSQL简史
博主介绍:✌全网粉丝20W+,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌
技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物联网、机器学习等设计与开发。
感兴趣的可以先关注收藏起来,在工作中、生活上等遇到相关问题都可以给我留言咨询,希望帮助更多的人。
PostgreSQL简史
- 一、伯克利 POSTGRES 项目
- 二、Postgres95
- 三、PostgreSQL
对象关系数据库管理系统现在称为 PostgreSQL,它源自加州大学伯克利分校编写的 POSTGRES 包。经过数十年的发展,PostgreSQL 现在是最先进的开源数据库。
一、伯克利 POSTGRES 项目
POSTGRES项目由Michael Stonebraker教授领导,由国防高级研究计划局(DARPA)、陆军研究办公室(ARO)、美国国家科学基金会(NSF)和ESL, Inc.赞助。POSTGRES 的实施始于 1986 年。系统的初始概念出现在 [ston86] 中,初始数据模型的定义出现在 [rowe87] 中。当时的规则系统设计在[ston87a]中进行了描述。存储管理器的基本原理和架构在 [ston87b] 中进行了详细说明。
从那时起,POSTGRES 经历了几个主要版本。第一个“演示软件”系统于 1987 年投入使用,并在 1988 年的 ACM-SIGMOD 会议上展出。[版本 1(在 ston90a] 中描述)于 1989 年 6 月发布给一些外部用户。为了回应对第一个规则系统([ston89])的批评,规则系统被重新设计([ston90b]),第2版于1990年6月发布,其中包含新的规则系统。版本 3 出现在 1991 年,增加了对多个存储管理器的支持、改进的查询执行器和重写的规则系统。在大多数情况下,直到 Postgres95 的后续版本(见下文)都专注于可移植性和可靠性。
POSTGRES 已被用于实现许多不同的研究和生产应用程序。其中包括:财务数据分析系统、喷气发动机性能监测包、小行星跟踪数据库、医疗信息数据库和几个地理信息系统。POSTGRES也被几所大学用作教育工具。最后,Illustra Information Technologies(后来并入 Informix,现在归 IBM 所有)拿起了代码并将其商业化。1992 年底,POSTGRES 成为 Sequoia 2000 科学计算项目的主要数据管理器。
1993年,外部用户社区的规模几乎翻了一番。越来越明显的是,原型代码和支持的维护占用了大量时间,而这些时间本应用于数据库研究。为了减轻这种支持负担,Berkeley POSTGRES 项目以 4.2 版正式结束。
二、Postgres95
1994 年,Andrew Yu 和 Jolly Chen 在 POSTGRES 中添加了一个 SQL 语言解释器。Postgres95 随后以新名称发布到网络上,作为原始 POSTGRES Berkeley 代码的开源后代在世界上找到自己的方式。
Postgres95 代码完全是 ANSI C 代码,大小修剪了 25%。许多内部更改提高了性能和可维护性。与 POSTGRES 4.2 版相比,Postgres95 版本 1.0.x 在威斯康星基准测试中的运行速度提高了约 30-50%。除了错误修复外,以下是主要的增强功能:
- 查询语言 PostQUEL 已替换为 SQL(在服务器中实现)。(接口库 libpq 以 PostQUEL 命名。在 PostgreSQL 之前不支持子查询(见下文),但可以在 Postgres95 中使用用户定义的 SQL 函数来模仿它们。重新实现了聚合功能。还添加了对查询子句的支持。
GROUP BY - 为交互式 SQL 查询提供了一个新程序 (psql),它使用 GNU Readline。这在很大程度上取代了旧的监视器程序。
- 支持基于 Tcl 的新前端库。示例 shell 提供了新的 Tcl 命令,用于将 Tcl 程序与 Postgres95 服务器连接起来。
libpgtcl``pgtclsh - 对大型对象界面进行了大修。反转大型物体是存储大型物体的唯一机制。(反转文件系统已删除。
- 删除了实例级规则系统。规则仍可用作重写规则。
- 一个简短的教程介绍了常规的 SQL 功能以及 Postgres95 的功能,并与源代码一起分发
- GNU make(而不是 BSD make)用于构建。此外,Postgres95 可以使用未修补的 GCC 进行编译(修复了 doubles 的数据对齐)。
三、PostgreSQL
到 1996 年,很明显“Postgres95”这个名字经不起时间的考验。我们选择了一个新名称 PostgreSQL,以反映原始 POSTGRES 与具有 SQL 功能的最新版本之间的关系。同时,我们将版本编号设置为从 6.0 开始,将数字放回最初由 Berkeley POSTGRES 项目开始的序列中。
许多人继续将 PostgreSQL 称为“Postgres”(现在很少使用大写字母),因为传统或因为它更容易发音。这种用法被广泛接受为昵称或别名。
Postgres95 开发过程中的重点是识别和理解服务器代码中存在的问题。在PostgreSQL中,重点已经转移到增强特性和功能上,尽管所有领域的工作仍在继续。
本文完结!
好了,今天分享到这里。希望你喜欢这次的探索之旅!不要忘记 “点赞” 和 “关注” 哦,我们下次见!🎈
本文完结!
祝各位大佬和小伙伴身体健康,万事如意,发财暴富,扫下方二维码与我一起交流!!!
相关文章:
【PostgreSQL】PostgreSQL简史
博主介绍:✌全网粉丝20W,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...
Linux的热插拔UDEV机制和守护进程
目录 一、Linux的热插拔UDEV机制 二、守护进程 2.1 守护进程概念和基本特点: 2.2 显示进程信息: 2.3 守护进程和后台进程的区别: 2.4 创建守护进程的步骤和守护进程的特征: 2.4.1 创建守护进程的步骤: 2.4.2 守…...
laravel框架基础通识-新手
常用目录及其解析 routes 该目录为路由目录 一般根据api uri可以反向查找对应路由及其controller,目录下的文件名一般和url的第一级对应为了规范,然后根据根据里面具体分组和别名对应拼接对应路由url,后面对应的则是controller,…...
c++ extern 关键字
C中的extern关键字和跨语言互操作 变量的声明与定义 extern关键字用于声明在另一个翻译单元(文件)中定义的变量或函数。通过extern关键字,可以在多个文件中访问全局变量或函数。 变量声明示例 文件:main.cpp #include <io…...
Meta KDD Cup 2024 CRAG: Comphrehensive RAG Benchmark参赛指南(写了一半跑去改大论文了所以没正式参赛)
诸神缄默不语-个人CSDN博文目录 因为比赛过程正好和我毕业答辩的时间段高度重合,所以我……最后其实还是相当于没有成功参赛。 呃反正现在已经咕咕咕了,就把当时写了一半(一小半)的参赛指南发一下吧。 官网:AIcrowd …...
系统架构设计师教程 第3章 信息系统基础知识-3.7 企业资源规划(ERP)-解读
系统架构设计师教程 第3章 信息系统基础知识-3.7 企业资源规划(ERP) 3.7.1 企业资源规划的概念3.7.2 企业资源规划的结构3.7.2.1 生产预测3.7.2.2 销售管理(计划)3.7.2.3 经营计划(生产计划大纲)3.7.2.4 …...
windows实现自动化按键
1.选择目标窗口 获取窗口句柄 void KeyPresser::selectWindow() {SetWinEventHook(EVENT_SYSTEM_FOREGROUND, EVENT_SYSTEM_FOREGROUND, NULL, WinEventProc, 0, 0, WINEVENT_OUTOFCONTEXT);selectedWindowLabel->setText("请点击目标窗口..."); }void CALLBACK …...
阿里云 https证书部署
一.申请证书 二.查看状态 查看状态,已签发是完成了申请证书 三.部署 我在nginx服务器上部署 具体操作链接:阿里云文档 修改前 修改后 四.重启ngnix 五.验证是否成功 在浏览器输入域名查看...
DX-10A信号继电器 柜内安装,板前接线 约瑟JOSEF
DX-10型闪光信号继电器型号: DX-10A闪光信号继电器; DX-10B闪光信号继电器; DX-10C闪光信号继电器; 用途 DX-10 闪光继电器用于电力系统断路器的位置信号灯不对应闪光,该继电器是为了适应当前推广使用发光二极管节能指示灯而…...
芯片光刻后的晶片多层组合构成的吗
是的,芯片(尤其是集成电路芯片)确实是通过光刻后的晶片多层组合构成的。在芯片制造过程中,光刻是一个至关重要的步骤,用于在硅片(或称为晶片)上刻画出精确的电路图案。然而,一个完整…...
OpenGL-ES 学习(7) ---- VBO EBO 和 VAO
目录 VBO(Vertex Buffer Object)EBO(Element Buffer Object)VAO(Vertex Array Object) VBO(Vertex Buffer Object) EBO(Element Buffer Object) VBO(Vertex Buffer Object) 实际是指顶点缓冲器对象 在 opengl-es 2.0 的编程中,用于绘制图元的顶点数据是从 CPU 传…...
github如何实现和gitlab的同步
要实现 GitHub 和 GitLab 之间的同步,你可以使用以下几种方法。这里介绍两种常用的方法:使用 GitLab CI/CD 和使用镜像仓库。 方法1:使用 GitLab CI/CD 通过 GitLab CI/CD,可以在每次推送到 GitLab 时自动同步到 GitHub。以下是…...
内网隧道——隧道技术基础
文章目录 一、正向连接与反向连接1.1 正向连接1.2 反向连接 二、端口转发三、端口映射四、端口复用五、代理和隧道的区别六、常见隧道穿透分类 环境: kali:192.168.92.6,MSF v6.3.25 win7:192.168.92.7 一、正向连接与反向连接 1…...
NAS新品“翻车”后,绿联科技要上市了
在消费电子市场回暖的东风中,又一消费电子知名企业登陆A股。 近日,深圳市绿联科技股份有限公司(下称“绿联科技”)开启申购,将在创业板上市。本次上市,绿联科技的发行价为21.21元/股,发行数量为…...
kafka-client如何打印连接日志
在Kafka客户端中打印连接日志,通常涉及配置日志框架来捕获和输出Kafka客户端在建立连接过程中的相关信息。由于Kafka客户端使用SLF4J(Simple Logging Facade for Java)作为日志门面,实际的日志实现(如Log4j2、Logback等…...
1、springboot3 vue3开发平台-后端-项目构建
文章目录 1. 创建项目1.1 前置环境条件1.2 项目创建 2. 模块配置2.1 父工程配置概述2.2 配置启动模块2.3 父工程相关依赖管理 1. 创建项目 1.1 前置环境条件 idea2023, jdk17 1.2 项目创建 创建父工程并删除不需要的文件目录: 右键父工程依次创建其他模块 最…...
修改了mybatis的xml中的sql不重启服务器如何动态加载更新
目录 一、背景 二、注意 三、代码 四、使用示例 五、其他参考博客 一、背景 开发一个报表功能,好几百行sql,每次修改完想自测下都要重启服务器,启动一次服务器就要3分钟,重启10次就要半小时,耗不起时间呀。于是在…...
Intel和AMD用户再等等!微软确认Win11 24H2年底前登陆
微软近日确认,Windows 11 24H2版本将于2024年底前正式登陆使用英特尔和AMD处理器的PC。 根据微软介绍,Windows 11 24H2将作为传统功能更新,将在今年晚些时候提供给所有设备。 此前,微软已向搭载骁龙X Plus和X Elite系列处理器的Co…...
Web开发:图片九宫格与非九宫格动态切换效果(HTML、CSS、JavaScript)
目录 一、业务需求 二、实现思路 三、实现过程 1、基础页面 2、图片大小调整 3、图片位置调整 4、鼠标控制切换 5、添加过渡 四、完整代码 一、业务需求 默认显示基础图片; 当鼠标移入,使用九宫格效果展示图片; 当鼠标离开&#…...
价格较低,功能最强?OpenAI 推出 GPT-4o mini,一个更小、更便宜的人工智能模型
OpenAI美东时间周四推出“GPT-4o mini”,入局“小而精”AI模型竞争,称这款新模型是“功能最强、成本偏低的模型”,计划今后整合图像、视频、音频到这个模型中。 OpenAI表示,GPT-4o mini 相较于 OpenAI 目前最先进的 AI 模型更加便…...
使用快马平台基于OpenSpec一键生成RESTful API原型,加速后端服务开发
今天想和大家分享一个快速搭建RESTful API原型的经验。最近在开发一个用户管理系统,发现用OpenSpec规范配合InsCode(快马)平台可以省去大量重复工作,特别适合需要快速验证想法的场景。 OpenSpec规范的价值 OpenSpec(也就是OpenAPI规范&#x…...
提示词工程完全指南
提示词工程完全指南 Prompt Engineering Complete Guide 来源参考:OpenAI 官方指南、DAIR.AI Prompt Engineering Guide、IBM、Google Research、斯坦福 CS224N 整理用于学习交流 目录 什么是提示词工程六大核心策略(OpenAI 官方)基础技巧进…...
【Python 3.14 JIT性能跃迁指南】:实测提升327%吞吐量的7大调优指令与避坑清单
第一章:Python 3.14 JIT 编译器性能调优Python 3.14 引入了实验性内置 JIT(Just-In-Time)编译器,基于 LLVM 后端实现,旨在对热点函数进行动态编译优化。该 JIT 默认处于禁用状态,需通过环境变量或运行时 AP…...
科学图表数值提取:用WebPlotDigitizer实现研究数据还原与学术图表解析
科学图表数值提取:用WebPlotDigitizer实现研究数据还原与学术图表解析 【免费下载链接】WebPlotDigitizer WebPlotDigitizer: 一个基于 Web 的工具,用于从图形图像中提取数值数据,支持 XY、极地、三角图和地图。 项目地址: https://gitcode…...
Hadoop 大数据开发专家 · 学习路线图-Python版
文章目录 基于 Python 为主开发 的 Hadoop 大数据开发工程师 学习路线大纲(可打印、企业级、纯实战方向) 一、阶段1:Python 开发基础(1 个月) 目标:能独立写 Python 代码、操作文件、数据处理、连接数据库 1. Python 核心语法 2. Python 数据结构(必须精通) 3. 文件与数…...
s2-pro中小企业AI落地实践:低成本构建自有音色库的完整技术路径
s2-pro中小企业AI落地实践:低成本构建自有音色库的完整技术路径 1. 为什么中小企业需要自有音色库 在数字化营销时代,语音合成技术已经成为企业内容生产的重要工具。但大多数中小企业面临两个核心痛点: 成本问题:专业语音合成服…...
百度网盘提取码智能获取:3分钟解锁加密资源的秘密武器
百度网盘提取码智能获取:3分钟解锁加密资源的秘密武器 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 还在为百度网盘上那些需要提取码的资源而烦恼吗?每次遇到心仪的学习资料、软件工具或影视资源&…...
ArcGIS里坐标系搞混了怎么办?一份拯救‘空间参考错误’数据的实战排查指南
ArcGIS坐标系混乱急救手册:从定位问题到精准修复的全流程指南 当你在ArcGIS中加载多个来源的空间数据时,是否遇到过这些令人抓狂的场景?精心收集的行政边界图层突然跑到了撒哈拉沙漠;水文监测点数据明明采集于长江流域,…...
新手必看:用快马AI生成HTML链接代码示例,轻松掌握网页跳转
今天想和大家分享一个特别适合新手入门HTML链接标签的小技巧。作为一个刚接触前端开发的小白,我发现理解各种链接的写法其实并不难,关键是要有直观的示例和实时反馈。最近在InsCode(快马)平台上尝试用AI生成代码,发现它特别适合用来学习基础H…...
医学影像处理实战:用Python实现Marching Cubes算法重建CT扫描数据
医学影像处理实战:用Python实现Marching Cubes算法重建CT扫描数据 在医学影像处理领域,三维重建技术正逐渐成为临床诊断和科研分析的重要工具。想象一下,当医生面对一堆二维CT切片时,如何快速构建出患者骨骼或器官的三维模型&…...
