当前位置: 首页 > news >正文

PostgreSQL初体验

目录

一:PostgreSQL

1.简介

3.优势

4.架构

5.应用场景

6.结论

二:安装PostgreSQL

1.编译安装

三:PostgreSQL架构

1.PG的逻辑结构

2.PG的物理结构


前言

在数据驱动的时代,掌握 PostgreSQL 这一全球顶尖的开源关系型数据库,意味着拥有了一把开启高效数据处理与复杂业务支撑的钥匙。作为兼具 ACID 事务特性、多版本并发控制、丰富扩展能力与跨平台兼容性的数据库系统,PostgreSQL 不仅能支撑高并发 OLTP 场景,更擅长处理空间数据、JSON 等非结构化信息,其活跃的开源社区与持续迭代的生态工具链(如 PostGIS、TimescaleDB)使其成为从初创项目到企业级应用的首选方案。学习PostgreSQL,不仅是为了掌握一款功能全面的数据库工具,更是为了构建应对大数据量、高可靠性要求、复杂查询场景的技术底层思维,为人工智能、物联网、金融分析等前沿领域的数据服务需求奠定坚实基础,让技术学习直接转化为解决真实问题的硬核能力。

一:PostgreSQL

1.简介

PostgreSgL,作为一个功能强大且开源的对象关系型数据库管理系统(ORDBMS),自其诞生以来,便以其卓越的性能和丰富的特性赢得了全球开发者和企业的青睐。源自加利福尼亚大学伯克利分校的 PostgreSQL,不仅继承了其前身 Ingres 的精髓,更在不断的发展中推陈出新,成为了现代数据库领域的佼佼者。

2.特点

  • 开源与自由:PostgreSqL 完全开源,遵循PostgreSQL许可证,这一特性使得用户可以自由地使用、修改和分发 PostgreSqL,无需担心版权问题,同时也促进了全球开发者的积极参与和贡献。
  • 标准符合性:PostgreSqL 高度符合 SQL, 标准,支持复杂的查询语法、子查询、窗口函数、公共表表达式(CTE)等高级特性,使得开发者可以更加灵活地编写高效、易读的 SQL 代码
  • 数据类型丰富:PostgreSqL, 提供了丰富的数据类型,包括基本类型(如整数、浮点数、字符串等)、日期和时间类型、数组、枚举、范围类型、JSON、地理空间类型等,这些类型极大地扩展了PostgreSQL 的应用范围,使其能够处理各种复杂的数据场景。
  • 事务与并发:PostgreSQL采用多版本并发控制(MVCC)机制,确保了在高并发环境下的数据一致性和隔离性。同时,PostgreSQL还支持复杂的事务处理,包括嵌套事务、保存点等,为开发者提供了强大的事务管理能力。
  • 扩展性:PostgreSQL支持扩展和插件机制,允许用户根据需要定义新的数据类型、函数、操作符、索引方法等。这一特性使得 PostgreSqL 能够不断适应新的业务需求和技术发展。
  • 安全性:PostgreSqL提供了细粒度的访问控制、加密传输、审计日志等安全特性,确保了数据库的安全性和数据的保密性。

3.优势

  • 高性能:PostgreSqL通过优化查询计划、支持并行查询、分区表特性,提供了卓越的性能表现。即使在处理大规模数据和高并发访问时,也能保持高效的响应速度。
  • 高可用性:PostgreSQ 支持主从复制、流复制和逻辑复制等多种复制方式,使得数据库系统能够轻松实现高可用性和容灾备份。在发生故障时,能够快速恢复服务,确保业务的连续性
  • 灵活性:PostgreSQl的丰富数据类型和高级特性使得它能够灵活应对各种复杂的业务场景。无论是处理结构化数据还是非结构化数据,PostgreSQL都能提供强大的支持。
  • 社区支持:Postgresq拥有一个活跃的开发者社区和丰富的生态系统。社区中不仅有大量的教程、文档和插件可供使用,还有众多经验丰富的开发者愿意分享经验和解答问题
  • 成本效益:作为开源软件,PostgreSQL降低了企业的成本投入。同时,其卓越的性能和广泛的应用场景也使得 PostgreSQL,成为了许多企业的首选数据库产品。

4.架构

PostgreSQL 的架构设计体现了其高性能和可扩展性的特点。在逻辑层面上,PostgreSq 包含了数据库集群、表空间、数据库、Schema、表、索引等结构;在物理层面上,则包括数据文件、日志文件、参数文件、控制文件等物理存储方式。其中,数据块(Page)作为数据读写的基本单位,在PostgreSQL中扮演着至关重要的角色。通过优化数据块的读写效率和布局方式,PostgreSQ能够进一步提高其性能表现。

5.应用场景

PostgreSQL广泛应用于各种业务场景中,包括但不限于以下方面:

  • 企业应用:如ERP、CRM、HRM等系统,需要处理复杂的事务和查询操作。PPostgreSQL 凭借其高性能和事务处理能力,能够为企业应用提供稳定可靠的数据支持。
  • 数据分析:在数据仓库和商业智能领域,PostgreSQL凭借其丰富的数据类型和高级查询特性,能够轻松应对大规模数据分析和挖掘任务。
  • Web 应用:对于需要高并发访问和实时数据处理的 Web 应用来说,PostgreSQl的 MVCC 机制和扩展性特性使得其成为了一个理想的选择
  • 地理信息系统(GIS):通过PostGIS扩展,PostgreSQL能够支持地理空间数据的存储和分析功能,为 GIS 应用提供了强大的数据支持。
  • 物联网与大数据:随着物联网和大数据技术的不断发展,PostgreSqL凭借其高性能、可扩展性和丰富的数据类型特性,在物联网和大数据领域中也得到了广泛的应用。

6.结论

综上所述,PostgreSQL 作为一款功能强大、开源的数据库管理系统,在现代信息化建设中发挥着越来越重要的作用。其丰富的特性、卓越的性能、灵活的应用场景以及强大的社区支持使得 PostgreSqL 成为了众多企业和开发者的首选数据库产品。随着技术的不断进步和应用的不断扩展,相信PostgreSqL将在未来继续引领数据库技术的发展潮流。

二:安装PostgreSQL

1.编译安装

(1)安装编译所需的环境

安装依赖包

(2)编译安装

解压包,切换目录

配置

编译以及安装

配置环境

创建用户

创建数据存储目录

(3)配置环境变量

刷新环境变量

(4)登录数据库

登录数据库

三:PostgreSQL架构

1.PG的逻辑结构

PG 采用了多层逻辑结构:第一层为实例,第二层为数据库(每个实例下可有多个相互独立的数据库),第三层为 Schema(每个数据库下包含多个 Schema)。每个 Schema 下可以创建表、视图、索引、函数等数据库对象。如下图所示

  • Database cluster(数据库集簇):由postgresql server 管理的数据库的集合,下面由多个 database 组成。一个数据库集簇可以包含多个 Database、多个User,每个 Database 以及 Database 中的所有对象都有它们的所有者:User。
  • Database 数据库: Postgres 默认数据库、Template0 最精简模板、Templatel默认模板;数据库本身也是数据库对象,并且在逻辑上彼此分离。存储 schema 的一个逻辑空间,对应在物理层面上也是一个目录。
  • Schema:一个数据库可以有多个 User 用户,多个 Schema 模式,默认创建一个数据库会存储在默认表空间,它包含一个 Public 名称的 Schema 模式(拷贝自Template1 模板)。它可隔离多个用户之间相同名称的对象。一个数据库可以有多个 Schema 模式,他们互不相关互相隔离。实际存储数据库对象的逻辑空间->逻辑上的对象编号,schema 是依附于数据库而存在的。
  • User 用户:postgres 用户是默认创建的超级管理员;每个数据库都有一个OWNER 用户,每个用户可以 OWNER 多个数据库。数据库对象:这里包含了 table,index,view,序列,函数等,数据最终存储在表中。表的组成表由多个page[ block]组成)一个 page 包含(页头信息空闲空间 Tuple),实际存储数据的区域->对应到物理层面上就是文件 -->page构成
  • tablespace:存储数据库的一个逻辑空间,可以存放不同的数据库-->对应在物理层面上是一个目录
  • 0ID:所有数据库对象都有各自的 oid(object identifiers),oid 是一个无符号的四字节整数,相关对象的 oid 都存放在相关的 system catalog 表中,比如数据库的 oid 和表的 oid 分别存放在 pg_database, pg_class 表中。

总结:

(1) 从大小排列 database cluster-->databases-->schema-->ob jects

(2)Tablespace 是数据最大的存储空间, Database 是构成表空间的存储单元,pages 是 PostgreSQl 数据库中最小的 10 单元

2.PG的物理结构

数据库的文件默认保存在 initdb 时创建的数据目录中。在数据目录中有很多类型、功能不同的目录和文件,除了数据文件之外,还有参数文件、控制文件、数据库运行日志及预写日志等。本质上都是 PG的相关一些文件

(1)软件安装目录

PostgreSQL 数据库的软件目录通常是在/usr 目录下(也可自定义位置)使用 pg_confg 命令可以看到当前数据库的基本情况,也可以在环境变量中可以看到。最直接可以使用 which 命令看到

安装目录里的基本内容如下

其中各个目录里的内容及用途:

  • bin:二进制可执行文件,是PG数据库的所有相关命令所在,为方便使用需设置到环境变量中
  • lib :动态库目录,PostgreSql运行所需要的动态库都在此目录下
  • share:放有文档和配置模板文件,一些拓展插件的SQL 文件在此目录下的2extension中
  • data:目录是数据库集群的物理存储核心,包含用户数据、元数据和配置文件
  • include:目录则提供编译扩展和客户端程序所需的C语言头文件。

(2)数据库目录结构

(3)数据库有两个基础的对象 一个是oid,一个是表空间

0ID(0bject Identifier)是数据库对象的唯一标识符。

表空间实际上是文件系统中的一个位置链接,即一个目录,它是一个逻辑上的概念,目录是它的物理存在方式。数据库中创建的对象(表、索引、数据库对象)都保存在表空间中。postgresq1初始化完成后,会有两个默认的表空间,一个是 pg default,如果用户建表时没有指定表空间,所有新建的表都会放在pg_default 中,另一个是 pg_global,存放的是整个实例数据库所共享的系统表

(4)dase的物理布局设计

每个数据库都会在$PGDATA/base 下面生成一个子目录,如下图,都会一一对应。

(5)表空间跟数据库关系

在 0racle 数据库中;一个表空间只属于一个数据库使用;而一个数据库可以拥有多个表空间。属于"一对多"的关系

在 PostgreSQL 集群中;一个表空间可以让多个数据库使用;而一个数据库可以使用多个表空间。属于"多对多"的关系

系统自带表空间:

表空间 pg_default 是用来存储系统目录对象、用户表、用户表 index、和临时表、临时表 index、内部临时表的默认空间。对应存储目录$PADATA/base/

表空间pg global用来存放系统字典表;对应存储目录$PADATA/global/

相关文章:

PostgreSQL初体验

目录 一:PostgreSQL 1.简介 3.优势 4.架构 5.应用场景 6.结论 二:安装PostgreSQL 1.编译安装 三:PostgreSQL架构 1.PG的逻辑结构 2.PG的物理结构 前言 在数据驱动的时代,掌握 PostgreSQL 这一全球顶尖的开源关系型数据…...

Vue 3.0 Transition 组件使用详解

Vue 3.0 的 Transition 组件提供了一种简单的方式来为元素或组件的进入/离开添加动画效果。下面是使用<script setup>语法糖的实现方式。 1. 基本用法 使用场景&#xff1a;当需要为元素的显示/隐藏添加简单的淡入淡出效果时&#xff0c;这是最基础的过渡实现方式。 &…...

深入浅出IIC协议 - 从总线原理到FPGA实战开发 -- 第三篇:Verilog实现I2C Master核

第三篇&#xff1a;Verilog实现I2C Master核 副标题 &#xff1a;从零构建工业级I2C控制器——代码逐行解析与仿真实战 1. 架构设计 1.1 模块分层设计 三层架构 &#xff1a; 层级功能描述关键信号PHY层物理信号驱动与采样sda_oe, scl_oe控制层协议状态机与数据流控制state…...

通义灵码助力JavaScript开发:快速获取API与智能编码技巧

一、引言 JavaScript 拥有丰富的 API 生态&#xff0c;从浏览器的 Web API 到 Node.js 的环境生态&#xff0c;为开发者提供了强大的工具和库。然而&#xff0c;面对如此庞大的生态系统&#xff0c;开发者常常需要花费大量时间翻阅文档来查找和学习如何使用这些 API。通义灵码…...

ubuntu kubeasz 部署高可用k8s 集群

ubuntu kubeasz 部署高可用k8s 集群 测试环境主机列表软件清单kubeasz 部署高可用 kubernetes配置源配置host文件安装 ansible 并进行 ssh 免密登录:下载 kubeasz 项⽬及组件部署集群部署各组件开始安装修改 config 配置文件增加 master 节点增加 kube_node 节点登录dashboard…...

如何看待镍钯金PCB在当代工业制造中的地位和应用?

随着电子科技的飞速发展&#xff0c;电路板作为电子设备的核心组成部分&#xff0c;其制造材料和工艺也在不断进步。镍钯金&#xff08;NiPdAu&#xff09;电路板因其独特的物理和化学性质&#xff0c;在众多领域得到了广泛应用。本文将探讨镍钯金电路板的主要应用领域&#xf…...

Datawhale PyPOTS时间序列5月第4次笔记

端到端学习&#xff1a;使用一个模型直接接受包含缺失值的数据。 brits_classification.py 完整代码如下&#xff1a; # brits_classification.pyfrom benchpots.datasets import preprocess_physionet2012 from pypots.classification import BRITS from pypots.nn.function…...

(05)数字化转型之生产制造:从通常的离散制造到柔性化生产的全景指南

当今制造业正经历着前所未有的数字化变革&#xff0c;从传统的离散制造到流程制造&#xff0c;再到新兴的项目制造和柔性制造&#xff0c;各种生产模式都在加速向智能化方向演进。本文将系统性地介绍制造业生产管理的完整体系&#xff0c;为企业数字化转型提供全面的方法论和实…...

JMeter 教程:JSON 断言的简单介绍

目录 JMeter 教程&#xff1a;JSON 断言的简单介绍【快速上手】 ✅ 什么是 JSON 断言&#xff1f; &#x1f6e0;️ 使用前提 &#x1f4c4; JSON 断言添加步骤 步骤一&#xff1a;添加 JSON Assertion &#x1f4cc; 示例说明 ✅ 常用 JSONPath 写法速查 ✅ 断言结果查…...

RedissonClient主要功能概述

以下是 RedissonClient 提供的主要功能和特性的详细用法说明&#xff0c;结合代码示例和实际应用场景&#xff1a; 1. 分布式集合与映射 Redisson 提供了多种线程安全的分布式集合和映射&#xff0c;适用于分布式环境下的数据存储和操作。 RMap&#xff08;分布式 Map&#x…...

USB学习【13】STM32+USB接收数据过程详解

目录 1.官方的描述2.HAL的流程把接收到的数据从PMA拷贝到用户自己定义的空间中 3.处理接收到的数据4.最后再次开启准备接收工作 1.官方的描述 2.HAL的流程 以上的官方说法我们暂时按下不表。 如果接收到数据&#xff0c;会激活中断进入到USB_LP_CAN1_RX0_IRQHandler&#xff0…...

更新2011-2025经济类联考 396-真题+解析 PDF

目录树&#xff1a; ├── 2011-2025经综-真题 │ ├── 2011年396经济联考综合能力真题 .pdf │ ├── 2012年396经济联考综合能力真题 .pdf │ ├── 2013年396经济联考综合能力真题 .pdf │ ├── 2014年396经济联考综合能力真题 .pdf │ ├── 2015年396经…...

string在c语言中代表什么(非常详细)

在 C 语言中&#xff0c;string 更多让人联想到的是 <string.h> 这个标准库。 <string.h> 库为我们提供了一系列用于操作字符串的函数接口&#xff0c;就像是一个功能强大的工具箱&#xff0c;让程序员能够方便地对字符串进行各种操作。 例如&#xff0c;当我们想…...

JIT即时编译器全面剖析:原理、实现与优化

引言 在现代软件开发领域&#xff0c;性能优化一直是开发者关注的核心问题之一。随着计算能力的提升和应用场景的多元化&#xff0c;如何提高程序运行效率成为技术发展的关键驱动力。即时编译器&#xff08;Just-In-Time Compiler&#xff0c;简称JIT&#xff09;作为一项革命性…...

电网中窃电分析:概念、算法与应用

一、引言 在现代电力系统中&#xff0c;窃电行为是一个严重影响电网经济运行和供电秩序的问题。窃电不仅导致供电企业的经济损失&#xff0c;破坏了电力市场的公平性&#xff0c;还可能对电网的安全稳定运行构成威胁&#xff0c;甚至引发安全事故。随着科技的不断进步&#xff…...

从零开始的嵌入式学习day24

标准IO 头文件需求&#xff1a; #include <stdio.h>1.fopen和fclose (1)fopen fopen的函数功能是打开一个文件。 首先看看fopen的函数声明&#xff1a; FILE *fopen(const char *path, const char *mode);第一个参数path是文件地址&#xff0c;传入的是不可变的字符…...

高级SQL技巧:窗口函数与复杂查询优化实战

高级SQL技巧&#xff1a;窗口函数与复杂查询优化实战 开篇&#xff1a;数据库开发中的挑战 在现代企业级应用中&#xff0c;数据库不仅是存储数据的核心组件&#xff0c;更是处理复杂业务逻辑的重要工具。然而&#xff0c;随着数据量和并发请求的不断增长&#xff0c;传统的S…...

C++修炼:map和set的使用

Hello大家好&#xff01;很高兴我们又见面啦&#xff01;给生活添点passion&#xff0c;开始今天的编程之路&#xff01; 我的博客&#xff1a;<但凡. 我的专栏&#xff1a;《编程之路》、《数据结构与算法之美》、《题海拾贝》、《C修炼之路》 欢迎点赞&#xff0c;关注&am…...

ABC 355

D. Intersecting Intervals 首先思考两个区间相交会有哪些情况&#xff1a;有两种左右端点包含&#xff0c;一种大区间包含小区间。 但是反过来思考&#xff0c;两个区间不相交只会有两种情况&#xff1a;Ri < Lj 和 Rj < Li。非常典型的逆向思考 对左右端点升序排序后&a…...

正则表达式进阶(三):递归模式与条件匹配的艺术

在正则表达式的高级应用中&#xff0c;递归模式和条件匹配是处理复杂嵌套结构和动态模式的利器。它们突破了传统正则表达式的线性匹配局限&#xff0c;能够应对嵌套括号、HTML标签、上下文依赖等复杂场景。本文将详细介绍递归模式&#xff08;(?>...)、 (?R) 等&#xff0…...

芯片分享之AD5542性能介绍

产品特征&#xff1a; AD5541/AD5542均为单通道、16位、串行输入、电压输出数模转换器(DAC)&#xff0c;采用2.7 V至5.5 V单电源供电。DAC输出范围为0 V至VREF DAC输出范围为0 V至VREF&#xff0c;保证单调性&#xff0c;提供1 LSB INL精度&#xff08;16位&#xff09;&…...

从零开始:Python 从0到1轻松入门

你是否曾好奇&#xff0c;那些能自动处理数据、搭建网站、甚至预测未来趋势的神奇程序是如何诞生的&#xff1f;答案或许就藏在 Python 这门简洁而强大的编程语言中&#xff01;Python以其“代码即可读性”的设计哲学&#xff0c;成为全球开发者的心头好——无论是初学者入门&a…...

Linux线程互斥与同步(上)(29)

文章目录 前言一、资源共享问题多线程并发访问临界区与临界资源“锁”概念引入 二、多线程抢票并发抢票引发问题 三、线程互斥互斥锁相关操作解决抢票问题互斥锁的原理多线程封装互斥锁的封装 总结 前言 马上要结束了&#xff01;&#xff01;&#xff01;   我们在学习 多线…...

深入解析 hping3网络探测与测试利器

一、什么是 hping3&#xff1f; 体量轻巧&#xff1a;安装包仅约 255 KB。协议多样&#xff1a;支持 TCP、UDP、ICMP、RAW IP 四种模式。灵活定制&#xff1a;可设置任意报文头、分片、Payload 长度&#xff1b;还支持伪造源地址、随机目标等高级操作。脚本化&#xff1a;集成…...

SPA模式下的es6如何加快宿主页的显示速度

SPA的模式下&#xff0c;宿主页是首先加载的页面&#xff0c;会需要一些主要的组件&#xff0c;如element-plus&#xff0c;easyui&#xff0c;devextreme&#xff0c;ant-design等&#xff0c;这些组件及其依赖组件&#xff0c;文件多&#xff0c;代码量大&#xff0c;可能导致…...

环境配置!

1.下载openEuler虚拟机和rocky虚拟机 下载好后&#xff0c;ping一下看一下手动配置的网络ok不&#xff0c;再把复杂密码改成自己能记住的简单密码 2.安装软件 下载yum源 也可以用阿里云的yum源 把里面的&#xff1a;%d全删了&#xff0c;然后把 #generic-repos is licensed …...

【VS Code】Qt程序的调试与性能分析

要对 Qt 程序进行性能分析和调试&#xff0c;尤其是使用像 Valgrind、Perf 或 GDB 这类工具时&#xff0c;通常需要结合开发环境&#xff08;如 VS Code&#xff09;与相关插件或命令行工具。 以下是一些常用的方法和步骤&#xff1a; 1. VS Code 调试 Qt 程序 所需配置&…...

记录学习的第三十六天

很久没写过博客了&#xff0c;今天又开始了。 今天很不错&#xff0c;了解了查分数组的实质。 还是做了一道滑动窗口的题&#xff0c;我什么时候才能刷完滑动窗口啊。...

ANSI V 级对夹球阀控制阀:高性价比零泄漏流体控制新选择-耀圣

ANSI V 级对夹球阀控制阀&#xff1a;高性价比零泄漏流体控制新选择 在化工、食品、给排水等工业领域&#xff0c;流体控制的精准性与密封性直接关乎生产安全与效率。ANSI V 级对夹球阀控制阀凭借零泄漏密封性能&#xff08;ANSI VI 级标准&#xff09;、紧凑的对夹式结构、亲…...

pcdn核心要素

开展PCDN业务最核心的是明确业务定位、保障网络与硬件基础、确保合规运营&#xff0c;并选择合适的盈利模式。以下是具体要点&#xff1a; 1. 明确业务定位与目标 内容类型适配&#xff1a;PCDN适合高并发、大流量的内容分发场景&#xff0c;如视频直播、点播、大文件下载等。…...

数据分析_主播考核指标体系搭建

作为一名合格的数据分析师&#xff0c;要同时具备逻辑框架搭建能力以及解决实际问题的经验。通过指标量化问题、监控业务健康度并驱动决策。以下是我搭建抖音电商主播考核指标体系时的一些经验&#xff0c;希望对大家有些帮助。 搭建主播能力考核指标体系需要结合直播业务的核心…...

联合索引失效情况分析

一.模拟表结构&#xff1a; 背景&#xff1a; MySQL版本——8.0.37 表结构DDL&#xff1a; CREATE TABLE unite_index_table (id bigint NOT NULL AUTO_INCREMENT COMMENT 主键,clomn_first varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMEN…...

ZYNQ Cache一致性问题解析与实战:从原理到创新优化

一、Cache一致性:多核系统的"记忆迷宫" 1.1 为什么需要关注Cache一致性? 在Zynq-7000系列SoC的双核ARM Cortex-A9架构中,每个CPU核心拥有32KB L1数据Cache和512KB共享L2 Cache。当两个核心同时操作共享内存时,可能会出现: #mermaid-svg-RD2USaYdR7mMPPIA {fon…...

vtkPiecewiseFunction

1. 定义分段函数映射。 2.允许添加控制点&#xff0c;并允许用户控制控制点之间的功能。 3.基于锐度和中点参数&#xff0c;在控制点之间使用分段hermite曲线。 4.锐度为0产生分段线性函数&#xff0c;锐度为1产生分段常数函数。 5.中点是曲线达到Y中值的控制点之间的归一化距离…...

HarmonyOS NEXT~鸿蒙系统与mPaaS三方框架集成指南

HarmonyOS NEXT&#xff5e;鸿蒙系统与mPaaS三方框架集成指南 1. 概述 1.1 鸿蒙系统简介 鸿蒙系统(HarmonyOS)是华为开发的分布式操作系统&#xff0c;具备以下核心特性&#xff1a; 分布式架构&#xff1a;支持跨设备无缝协同微内核设计&#xff1a;提高安全性和性能一次开…...

【老马】流程引擎(Process Engine)概览

前言 大家好&#xff0c;我是老马。 最近想设计一款审批系统&#xff0c;于是了解一下关于流程引擎的知识。 下面是一些的流程引擎相关资料。 工作流引擎系列 工作流引擎-00-流程引擎概览 工作流引擎-01-Activiti 是领先的轻量级、以 Java 为中心的开源 BPMN 引擎&#x…...

基于ROS2/Gazebo的室内送餐机器人系统开发实战教程

1. 系统架构设计 1.1 功能需求分析 #mermaid-svg-Yht1n03rcf5MP4du {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-Yht1n03rcf5MP4du .error-icon{fill:#552222;}#mermaid-svg-Yht1n03rcf5MP4du .error-text{fill:…...

msq基础

一、检索数据 SELECT语句 1.检索单个列 SELECT prod_name FROM products 上述语句用SELECT语句从products表中检索一个名prod_name的列&#xff0c;所需列名在SELECT关键字之后给出&#xff0c;FROM关键字指出从其中检索数据的表名 &#xff08;返回数据的顺序可能是数据…...

威纶通触摸屏IP地址设定步骤及程序下载指南

在使用威纶通触摸屏时&#xff0c;正确设定IP地址以及完成程序下载是确保其正常运行和实现功能的关键步骤。本文将详细介绍威纶通触摸屏IP地址设定步骤及程序下载的方法。 一、IP地址设定步骤 &#xff08;一&#xff09;前期准备 确保威纶通触摸屏已经通电并启动&#xff0…...

全排列问题深度解析:为何无需index参数且循环从i=0开始?

文章目录 问题背景一、为何回溯函数不需要 index 参数&#xff1f;1. 全排列问题的核心特性2. index 的作用与局限性3. 正确设计&#xff1a;用 used[] 替代 index 二、为何循环从 i0 开始而非 index&#xff1f;1. 排列问题的顺序敏感性2. 对比组合问题的循环设计3. 关键区别总…...

计算机网络通信技术与协议(七)———关于ACL的详细解释

今日学习状态&#xff1a; 关于ACL&#xff0c;我们在之前的博文中有简要的提及到&#xff0c;今天我们将ACL作为一个专题进行讲解&#xff1a; 目录 ACL成立背景&#xff1a; ACL&#xff08;Access Control List&#xff0c;访问控制列表&#xff09;&#xff1a; 五元组…...

《算法笔记》11.8小节——动态规划专题->总结 问题 D: Coincidence

题目描述 Find a longest common subsequence of two strings. 输入 First and second line of each input case contain two strings of lowercase character a…z. There are no spaces before, inside or after the strings. Lengths of strings do not exceed 100. 输出…...

power BI 倒计时+插件HTML Content,实现更新倒计时看板!

直接拿去玩吧&#xff0c;花了我两个小时。 搜了b站和百度都没找到像样的&#xff0c;就决定自己干一个了。 先看效果&#xff1a; 起个度量值&#xff0c;然后去power bi 插件那边搜索html Content&#xff0c;把这个放进html content插件的字段values即可。 HTML倒计时每周…...

镜像管理(2)Dockerfile总结

一、docker镜像构建方法 commoit :使用 docker commit 意味着所有对镜像的操作都是黑箱操作,生成的镜像也被称为黑 箱镜像,换句话说,就是除了制作镜像的人知道执行过什么命令、怎么生成的镜像,别人根 本无从得知。而且,即使是这个制作镜像的人,过一段时间后也无法记清具…...

【Tools】neovim操作指南

Neovim 中最常见、最实用的操作, 主要针对C 开发需求&#xff1a; &#x1f680; 基础操作 操作快捷键说明保存:w 或 ZZ保存当前文件退出:q 或 ZQ退出当前窗口保存并退出:wq 或 ZZ保存并退出强制退出:q!不保存直接退出撤销u撤销上一步重做<C-r>重做撤销搜索/xxx向下搜索…...

docker 安装 Nacos

下载镜像 docker pull nacos/nacos-server创建本地目录 mkdir -p /home/nacos/conf /home/nacos/logs运行镜像 docker run -d -p 8848:8848 -e MODEstandalone -e PREFER_HOST_MODEhostname -v /home/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties …...

【嵌入式】【ESP32】ADF框架

推荐阅读&#xff1a; [005] [ESP32开发笔记] ADF基本框架...

Redisson分布式集合原理及应用

Redisson是一个用于Redis的Java客户端&#xff0c;它简化了复杂的数据结构和分布式服务的使用。 适用场景对比 数据结构适用场景优点RList消息队列、任务队列、历史记录分布式共享、阻塞操作、分页查询RMap缓存、配置中心、键值关联数据支持键值对、分布式事务、TTLRSet去重集…...

一种新兴的网络安全技术:XDR(Extended Detection and Response,扩展检测与响应)(Grok3 DeepSearch模式下回答)

直接回答 XDR&#xff08;扩展检测与响应&#xff09;是一种网络安全技术&#xff0c;整合多层数据&#xff08;如端点、网络、云&#xff09;以检测和响应威胁。研究表明&#xff0c;它通过AI和自动化提高安全团队效率&#xff0c;减少数据泄露成本。存在原生XDR&#xff08;…...

使用 Qt Designer 开发

Qt Designer 是属于 Qt Creator 的 一个功能而已&#xff0c;Qt Designer 也叫 UI 设计师或者 UI 设计器&#xff0c;这都是指的同一 个东西而已。 一、在ui文件添加一个按钮 1、新建一个项目 项目名为 02_designer_example 构建系统可选择 CMake &#xff0c; qmake, Qbs 对…...