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

深入浅出 PostgreSQL:从历史演进到高阶优化技术

引言

PostgreSQL 是一个免费开源的对象关系型数据库,既支持传统的 SQL 查询,也支持 JSON 等非关系数据类型,因其高度可扩展性和社区活跃度,已成为众多互联网、金融和企业级应用的首选数据库 (Introduction to PostgreSQL - W3Schools) (PostgreSQL How-Tos | DigitalOcean Documentation)。

历史演进

PostgreSQL 源自加州大学伯克利分校的 POSTGRES 项目,最早于 1989 年发布版本 1,1996 年正式更名为 PostgreSQL,并不断在全球志愿者和企业厂商的共同维护下迭代至今 (PostgreSQL)。

核心特性

开源与社区

PostgreSQL 完全遵循 PostgreSQL 许可证(类似 MIT),任何组织或个人都可自由使用、修改与分发 (PostgreSQL How-Tos | DigitalOcean Documentation)。

ACID 与 MVCC

通过多版本并发控制(MVCC),PostgreSQL 在不加锁或最小锁冲突的前提下,实现了严格的 ACID 特性,保证事务的原子性、一致性、隔离性和持久性 (PostgreSQL How-Tos | DigitalOcean Documentation, PostgreSQL)。

数据类型支持

除常见的整数、浮点、字符等类型外,PostgreSQL 原生支持:

  • JSON/JSONB
  • XML
  • 全文检索类型(tsvector/tsquery)
  • 地理空间类型(通过 PostGIS 扩展)
  • 范围类型(range)
| 类型类别       | 示例              |
| ------------- | ----------------- |
| 关系型        | INT, VARCHAR, DATE |
| 文档型        | JSON, JSONB       |
| 地理空间      | PostGIS Geometry |
| 全文检索      | tsvector, tsquery |
| 范围          | int4range, numrange |

(Introduction to PostgreSQL - W3Schools, PostGIS)

扩展系统

PostgreSQL 拥有丰富的扩展生态,包括:

  • PostGIS:提供地理空间数据存储与查询功能 (PostGIS)
  • pg_stat_statements:用于收集 SQL 执行统计,辅助性能调优 (17: F.30. pg_stat_statements — track statistics of SQL planning and …)
  • PL/pgSQLPL/PythonPL/Perl 等多种过程语言支持

架构概览

PostgreSQL 采用经典的客户端/服务器模型,每个客户端连接会对应一个后台进程(Postgres 进程)。

flowchart LRClient -->|jdbc/psql| Server[PostgreSQL 主进程]subgraph 后台进程池Server --> BgWriter[后台写进程]Server --> WALWriter[WAL 写进程]Server --> Checkpointer[检查点进程]Server --> Archiver[归档进程]Server --> Replicator[复制发送进程]endServer --> Storage[共享存储(数据文件 + WAL 日志)]

(Documentation: 17: 1.2. Architectural Fundamentals - PostgreSQL)

安装与快速上手

在 Ubuntu 上安装

sudo apt update
sudo apt install postgresql postgresql-contrib
sudo systemctl enable --now postgresql

安装完成后,可使用 psql 连接本地服务:

sudo -u postgres psql

(How To Install and Use PostgreSQL on Ubuntu 20.04 - DigitalOcean)

基本 SQL 操作

-- 创建数据库与表
CREATE DATABASE demo;
\c demo
CREATE TABLE users (id SERIAL PRIMARY KEY,name VARCHAR(100),info JSONB
);-- 数据插入与查询
INSERT INTO users (name, info) VALUES
('Alice', '{"age": 30, "city": "Beijing"}'),
('Bob', '{"age": 25, "city": "Shanghai"}');SELECT name, info->>'city' AS city
FROM users
WHERE info->>'age'::int > 28;

(An Introduction to Queries in PostgreSQL - DigitalOcean)

索引与性能优化

索引类型

  • B-tree(默认)
  • Hash
  • GiST、GIN、SP-GiST、BRIN
  • 表达式索引、部分索引、KNN-GiST(用于最近邻查询)
  • 索引仅扫描(Index-Only Scan)
-- 创建 GIN 索引加速 JSONB 查询
CREATE INDEX idx_users_info ON users USING GIN (info);

(PostgreSQL)

性能调优建议

  • 调整 shared_bufferswork_memmaintenance_work_mem 等参数
  • 启用并配置 pg_stat_statements 进行慢查询分析 (Best Practices | DigitalOcean Documentation, 17: F.30. pg_stat_statements — track statistics of SQL planning and …)
  • 定期 VACUUM ANALYZE 保持统计信息准确
  • 使用连接池(如 PgBouncer)控制并发连接数

复制与高可用

内置复制方式

  • 流式复制(Streaming Replication):主库将 WAL 日志发送至备库,支持异步与同步模式
  • 逻辑复制(Logical Replication):基于发布/订阅,可选择性复制表数据
  • 触发器复制(Slony-I、Bucardo 等第三方工具适用复杂场景)
# 主库 postgresql.conf
wal_level = replica
max_wal_senders = 3
synchronous_commit = on  # 同步复制

(PostgreSQL Replication: A Comprehensive Guide - Kinsta)

高可用架构示例

故障转移
WAL
WAL
Client
备库1
主库
备库2

安全与权限管理

角色与权限

PostgreSQL 使用“角色”管理访问权限,角色可拥有登录权限(用户)或仅作为权限组 (Documentation: 17: Chapter 21. Database Roles - PostgreSQL)。

-- 创建只读角色
CREATE ROLE readonly NOLOGIN;
GRANT CONNECT ON DATABASE demo TO readonly;
GRANT USAGE ON SCHEMA public TO readonly;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonly;

身份验证方式

支持多种认证机制:密码(SCRAM-SHA-256、MD5)、GSSAPI、SSPI、Kerberos、LDAP、RADIUS、Certificate、PAM 等,由 pg_hba.conf 统一配置 (PostgreSQL)。

备份与恢复

逻辑备份(pg_dump)

pg_dump -U postgres -Fc demo > demo.dump
# 恢复
pg_restore -U postgres -d demo_restored demo.dump

pg_dump 可在线运行,保证备份一致性,不阻塞读写 (Documentation: 17: pg_dump - PostgreSQL)。

物理备份(pg_basebackup)

pg_basebackup -h primary.host -U replicator -D /data/backup -Fp -Xs -P

生成可用于流式复制或 PITR(Point-In-Time Recovery)的基础备份 (Documentation: 17: pg_basebackup - PostgreSQL)。

总结

本文全面介绍了 PostgreSQL 的发展历程、核心特性、架构原理、安装使用、SQL 基础、索引策略、性能调优、复制高可用、安全管理及备份恢复等关键内容。读者可根据自身场景灵活选用功能,并结合社区文档与工具,构建稳定、高效、可扩展的数据库系统。随着 PostgreSQL 持续演进与生态繁荣,掌握上述技术将为您在大数据、微服务、地理信息等领域的项目奠定坚实基础。

相关文章:

深入浅出 PostgreSQL:从历史演进到高阶优化技术

引言 PostgreSQL 是一个免费开源的对象关系型数据库,既支持传统的 SQL 查询,也支持 JSON 等非关系数据类型,因其高度可扩展性和社区活跃度,已成为众多互联网、金融和企业级应用的首选数据库 (Introduction to PostgreSQL - W3Sch…...

塔能水泵节能方案:精准驱动工厂能耗优化

在工厂的能源消耗体系中,水泵作为关键的动力设备,其运行效率直接关系到整体能耗水平。传统水泵在长期运行中,受设计局限、工艺成本约束等因素影响,普遍存在效率低下、能源浪费严重的问题。塔能科技针对这一痛点,推出了…...

SSCLMD模型代码实现详解

SSCLMD模型代码实现详解 1. 项目源码结构 SSCLMD项目的源码结构如下: SSCLMD-main/ ├── README.md ├── ST4.xlsx ├── Supplementary File.docx ├── code/ │ ├── calculating_similarity.py │ ├── data_preparation.py │ ├── data_…...

【coze】故事卡片(图片、音频、文字)

【coze】故事卡片(图片、音频、文字) 1、创建智能体2、添加人设与回复逻辑3、添加工作流(1)创建工作流(2)添加大模型节点(3)添加提示词优化节点(4)添加豆包图…...

限免开关实施版本保护措施,保证项目灰度发布安全

迭代用户限免权限校验业务 新增限免开关实现普通用户权益更新,实施版本保护措施,保证项目灰度发布安全; // 是否展示限免标识 func (t *BasePrivilegeService) IsPromotionFree(p consumParams) bool {// 限免开关isFreeUseOpen : p.cfg.Vip…...

C#中从本地(两个路径文件夹)中实时拿图显示到窗口中并接收(两个tcp发送的信号)转为字符串显示在窗体中实现检测可视化

多窗口源码 C#中从本地(两个路径文件夹)中实时拿图显示到窗口中并接收(两个tcp发送的信号)转为字符串显示在窗体中实现检测可视化资源-CSDN文库 读图结果展示 字符串结果展示 利用TCP调试工具创建两个tcp 再次启动程序 就链接…...

了解一下OceanBase中的表分区

OceanBase 是一个高性能的分布式关系型数据库,它支持 SQL 标准的大部分功能,包括分区表。分区表可以帮助管理大量数据,提高查询效率,通过将数据分散到不同的物理段中,可以减少查询时的数据扫描量。 在 OceanBase 中操…...

生成了一个AI算法

import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms # 1. 数据预处理 transform transforms.Compose([ transforms.ToTensor(), transforms.Normalize((0.5,), (0.5,)) # MNIST单通道归一化 ]) train_da…...

C# 使用SunnyUI控件 (VS 2019)

前言:建议下载源码,源码中包含了各种控件的用法案例。 下载 帮助文档: 文档预览 - Gitee.comGitee: SunnyUI: SunnyUI.NET 是基于.NET Framework 4.0、.NET8、.NET9 框架的 C# WinForm UI、开源控件库、工具类库、扩展类库、多页面开发框架。GitHub: h…...

在 Win11 下安装 Wireshark 的详细步骤

目录 一、了解 Wireshark1. 作用和功能2. 使用步骤 二、下载安装包三、运行安装包四、使用 Wireshark1. 抓包2. 窗口介绍3. 过滤器(显示 / 捕获过滤器)4. 保存过滤后的报文1)显示过滤器表达式2)过滤表达式的规则 5. 封包列表6. 封…...

【AI提示词】六顶思考帽工具专家

提示说明 提供专业的六顶思考帽工具应用服务,帮助用户从多角度进行创新性问题解决。 提示词 # Role: 六顶思考帽工具专家## Profile - language: 中文 - description: 提供专业的六顶思考帽工具应用服务,帮助用户从多角度进行创新性问题解决 - backgr…...

解锁RAG:AI 2.0时代的“知识外挂”是如何炼成的?

——从原理到实战,揭秘检索增强生成如何颠覆传统AI 引言:当AI学会“开卷考试” 如果传统大模型是“闭卷学霸”,那RAG(Retrieval-Augmented Generation,检索增强生成)就是那个考试时带着“百科全书”的超级…...

使用 ANSYS SIwave 求解器在 ANSYS AEDT 中预测串行通道性能并生成眼图

PCB 仿真 如今,无线射频设备日益复杂,对大型复杂 PCB 设计进行准确、高效仿真的需求也随之增加。在设计流程的早期识别和预测潜在问题可以节省资源、时间和金钱。SIwave 可帮助您对现代高性能电子产品中典型的高速通道和完整的输电系统进行建模、仿真和…...

启发式算法-模拟退火算法

模拟退火算法是一种基于概率的启发式优化算法,用于解决大规模组合优化问题,其灵感来源于金属退火过程中的物理现象。其基本原理是从一个初始解开始,然后在当前解的邻域内随机生成一个新解,如果新解的目标函数值优于当前解&#xf…...

机器视觉框架源码——解读3(常用的资源和样式)

这是关于框架解读的第三篇文章,将结合理论和框架代码进行讲解。 WPF中的各类工件元素,都可以设置其样式,如: 字体(FontFamily) 字体大小(FontSize) 背景颜色(Backgroud) 字体颜色(Foreground) 边距(Margin) 水平位置(HorizontalAlignment) 垂直位置(VerticalAlignment) 而样…...

勒索病毒肆虐时代:数据库加密存储的实践指南

在2025年第一季度,全球勒索攻击损失突破150亿美元,某跨国制造企业因数据库未加密被勒索3000枚比特币,某省级医保系统遭攻击导致参保人信息泄露……当医疗数据、金融资产、知识产权成为黑客的提款机,数据库加密已从技术选项升级为生…...

next中的server comonent中如何共享session

在 Next.js 的服务器组件(Server Components)里共享会话(session),可以借助第三方库(如 next-auth 或 express-session 结合自定义 API 路由)来实现,下面为你详细介绍这两种常见的实…...

Desfire Ev1\Ev2\Ev3卡DES\3K3DES\AES加解密读写VB.Net示例源码

本示例使用发卡器:https://item.taobao.com/item.htm?spma21dvs.23580594.0.0.1d292c1bSxJTb6&ftt&id917152255720 Public Class Form1Public Declare Function pcdbeep Lib "OUR_MIFARE.dll" (ByVal xms As Integer) As BytePublic Declare Fu…...

商业实战将归巢网内容构建为本地RAG模型的完整指南01-优雅草卓伊凡

商业实战将归巢网内容构建为本地RAG模型的完整指南01-优雅草卓伊凡 今天卓伊凡收到了老客户归巢网关于对本地RAG模型建立的咨询,这点也让卓伊凡得深入研究下,毕竟老客户肯定不是说着玩的,主要最终实现目的是建立模型开始使用AI智能问答。 一…...

langchain4j整合springboot

环境介绍 JDK17Spring Boot: 3.0.2 创建springboot工程 IDEA新建一个springboot项目&#xff0c;使用Spring lnitializr快速构建。 选择Spring Boot: 3.0.2以及Spring Web依赖 添加maven依赖 创建完springboot项目之后&#xff0c;在pom中添加关键依赖 <properties&g…...

在线时间戳转换工具

给大家推荐一个在线时间戳转换工具 点击跳转-鸽鸽在线工具 这个工具除了时间戳转换&#xff0c;到首页还能选择使用很多其他小工具&#xff0c;欢迎使用...

Codeforces Round 1023 (Div. 2) (A-D)

每周至少五篇博客&#xff1a;(1/5) A. LRC and VIP 题意 您有一个大小 n n n 的数组 a a a - a 1 , a 2 , … a n a_1, a_2, \ldots a_n a1​,a2​,…an​ 。 您需要将 n n n 元素分为 2 2 2 序列 B B B 和 C C C &#xff0c;以满足以下条件&#xff1a; 每个元素…...

[Survey]Remote Sensing Temporal Vision-Language Models: A Comprehensive Survey

BaseInfo TitleRemote Sensing Temporal Vision-Language Models: A Comprehensive SurveyAdresshttps://arxiv.org/abs/2412.02573Journal/Time2024 arxivAuthor北航 上海AI LabCodehttps://github.com/Chen-Yang-Liu/Awesome-RS-Temporal-VLM 1. Introduction 传统遥感局限…...

Linux56 YUM源配置

epel未启动 显示系统未通过注册 配置YUM仓库 本地YUM仓库 1.备份 tar -zcf repo.tar.gz *.repo 2.挂载 mount -o ro /dev/sr0 /mnt 3.开机自启 chmod x /etc/rc.local echo ‘mount -o ro /dec/sr0 /mnt’ /etc/rc.local 4.编写本地YUM仓库 local.repo [local] namelocal yum …...

mysql 如何查询数据库链接日志

1&#xff0c;查看是否开启日志 SHOW GLOBAL VARIABLES LIKE general_log; -- 查看是否开启通用查询日志&#xff08;包括连接记录&#xff09; 1.1&#xff0c;假如没开启&#xff0c;可以临时开启&#xff0c;做测试&#xff1b;服务重启&#xff0c;配置失效&#xf…...

Element-Plus-X开源程序是Vue3 + Element-Plus 开箱即用的企业级AI组件库前端的解决方案

​一、软件介绍 文末提供程序和源码下载 Element-Plus-X开源程序是Vue3 Element-Plus 开箱即用的企业级AI组件库前端的解决方案。 二、核心特性 ✨ 企业级 AI 组件&#xff1a;内置聊天机器人、语音交互等场景化组件&#x1f680; 零配置集成&#xff1a;基于 Element-Plus …...

基于DevSecOps敏捷框架的数字供应链安全应解决方案

基于DevSecOps敏捷框架的数字供应链安全应解决方案是以“AI智能代码疫苗技术”深度赋能原创专利级“多模态SCADevSecOpsSBOM情报预警”的第四代DevSecOps数字供应链安全管理体系,在DevSecOps敏捷安全体系建设、数字供应链安全审查、开源供应链安全治理和云原生安全体系建设四大…...

2025年北京市职工职业技能大赛第六届信息通信行业网络安全技能大赛初赛-wp

- -考试当场没做出来 后面做的 misc ❯ cd misc ❯ ls num.docx num.zip ❯ unzip num.docx Archive: num.docxinflating: [Content_Types].xmlinflating: _rels/.relsinflating: word/document.xmlinflating: word/_rels/document.xml.relsextracting: word/media/image1.jp…...

2、实验室测控系统 - /自动化与控制组件/lab-monitoring-system

76个工业组件库示例汇总 实验室测控系统开发组件 这是一个专为实验室设备数据采集与分析设计的可视化测控系统组件。采用工业风格界面设计&#xff0c;提供了丰富的动态数据展示与分析功能&#xff0c;可应用于各类实验室环境中的设备监控和数据处理。 功能特点 多设备管理…...

Blender插件机制设计与Python实现

Blender插件机制设计与Python实现 Blender的插件机制是其强大扩展性的核心&#xff0c;允许开发者通过Python创建自定义功能。下面我将详细介绍Blender插件系统的设计原理&#xff0c;并提供一个完整的示例。 Blender插件系统设计原理 模块化架构&#xff1a;Blender将插件作…...

自定义一个 Spring Boot Starter -笔记

SpringBoot Starter的介绍参考&#xff1a; Spring Boot Starter简介-笔记-CSDN博客。这里介绍如何自定义一个springBoot Starter。 1. 项目结构 创建一个 Maven 项目&#xff0c;结构如下&#xff1a; custom-spring-boot-starter-demo/ ├── custom-hello-jdk/ # jdk模…...

【Part 2安卓原生360°VR播放器开发实战】第三节|实现VR视频播放与时间轴同步控制

《VR 360全景视频开发》专栏 将带你深入探索从全景视频制作到Unity眼镜端应用开发的全流程技术。专栏内容涵盖安卓原生VR播放器开发、Unity VR视频渲染与手势交互、360全景视频制作与优化&#xff0c;以及高分辨率视频性能优化等实战技巧。 &#x1f4dd; 希望通过这个专栏&am…...

读 书 说

好久没有坐下来手敲打字去输出或者记录分享一些比较正式的事情。 今天节后综合征&#xff0c;虽然我已经加了两天班了&#xff0c;但是还是不想加班便准点下班了。 今天来聊聊看书。 为什么会看书&#xff1f;最开始正如我之前提到过&#xff0c;人脉资源不多&#xff0c;也不…...

DOCX转PDF怎么操作最简单?快速将DOCX转换为专业PDF文档

在日常办公或学习中&#xff0c;我们经常需要将 Word 文档&#xff08;.docx格式&#xff09;转换为 PDF 文件。这不仅有助于保持文档格式的一致性&#xff0c;还能确保接收者无需特定软件即可查看文件内容。本文将详细介绍几种常见的方法来实现从 DOCX 到 PDF 的转换&#xff…...

免费轻量化办公pdf修改软件 一键格式转换基础修改到高级加密

各位办公软件小能手们&#xff01;今天咱来聊聊一款超厉害的 PDF 编辑软件——PDFXEdit。你知道吗&#xff0c;这软件就像个 PDF 处理的超级魔法师&#xff0c;能全方位搞定 PDF 文档。下面我就给大家详细说说它的那些功能和适用场景。 首先是基础编辑功能。这软件在文本与图像…...

【HFP】蓝牙语音通信高级功能解析:快速拨号与呼叫等待协议实现

在蓝牙语音通信系统中&#xff0c;除了基础的通话建立与控制流程&#xff0c;高级功能如快速拨号&#xff08;内存拨号、最后号码重拨&#xff09;和呼叫等待通知的实现&#xff0c;直接影响着用户体验的便捷性与系统的实用性。这些功能依赖于蓝牙协议中特定的 AT 命令交互、状…...

CVE-2025-24813:Apache Tomcat RCE 漏洞分析

CVE-2025-24813 是 Apache Tomcat 中的一个严重远程代码执行 (RCE) 漏洞,源于路径等效缺陷,允许攻击者绕过安全约束并远程执行任意代码。 CYFIRMA 的研究发现了一些活跃的漏洞利用,一些 PoC 漏洞在地下论坛上流传。攻击者利用基于 HTTP PUT 的任意文件上传、NTFS 连接漏洞利…...

神经网络之训练的艺术:反向传播与常见问题解决之道

神经网络训练的艺术&#xff1a;反向传播与常见问题解决之道 摘要 神经网络是现代机器学习的核心工具之一&#xff0c;而反向传播则是其训练过程中不可或缺的算法。本文深入探讨了反向传播的工作原理以及在训练过程中常见的问题&#xff0c;如梯度消失、梯度爆炸、死 ReLU 单…...

小土堆pytorch--transform

torchvision中的transform torchvision中的transform1. transforms的使用1.1 transforms的结构及用法理论1.2 相应代码1.3 对上述代码的解释 2. 常见的transforms2.1 python 的call函数2.2 ToTensor的使用2.3 Normalize的使用2.4 Resize的使用2.5 Compose的使用2.6 RandomCrop的…...

【Django】REST 常用类

ModelSerializer serializers.ModelSerializer 是 Django REST framework&#xff08;DRF&#xff09;里的一个强大工具&#xff0c;它能极大简化序列化和反序列化 Django 模型实例的流程。下面从多个方面详细介绍它&#xff1a; 1. 基本概念 序列化是把 Django 模型实例转化…...

PyTorch常用命令详解:助力深度学习开发

&#x1f4cc; 友情提示&#xff1a; 本文内容由银河易创AI&#xff08;https://ai.eaigx.com&#xff09;创作平台的gpt-4-turbo模型生成&#xff0c;旨在提供技术参考与灵感启发。文中观点或代码示例需结合实际情况验证&#xff0c;建议读者通过官方文档或实践进一步确认其准…...

第二章 Logback的架构(二)

Logger, Appenders 和 Layouts Appenders 和 Layouts 基于日志记录器选择性地启用或禁用日志记录请求只是其中的一部分功能。Logback允许将日志记录请求输出到多个目标。在Logback术语中&#xff0c;输出目标被称为Appender。 目前&#xff0c;已经存在适用于控制台、文件、远…...

【大数据】服务器上部署Apache Paimon

1. 环境准备 在开始部署之前&#xff0c;请确保服务器满足以下基本要求&#xff1a; 操作系统: 推荐使用 Linux&#xff08;如 Ubuntu、CentOS&#xff09;。 Java 环境: Paimon 依赖 Java&#xff0c;推荐安装 JDK 8 或更高版本。 Flink 环境: Paimon 是基于 Apache Flink 的…...

【IP101】图像处理进阶:从直方图均衡化到伽马变换,全面掌握图像增强技术

&#x1f31f; 图像增强魔法指南 &#x1f3a8; 在图像处理的世界里&#xff0c;增强就像是给图片化妆&#xff0c;让它展现出最佳的状态。让我们一起来探索这些神奇的增强术吧&#xff01; &#x1f4da; 目录 基础概念 - 图像增强的"美容院"直方图均衡化 - 光线的…...

【Azure Redis 缓存】关于Azure Cache for Redis 服务在传输和存储键值对(Key/Value)的加密问题

问题描述 Azure Cache for Redis 服务在传输和存储数据时是如何加密呢&#xff1f; 问题回答 一&#xff1a;关于Azure cache for Redis服务在数据传输过程中是如何加密的&#xff1f; 为了确保在Azure cache for Redis和客户端应用程序之间传输的数据安全&#xff0c;需要启用…...

Cursor 被封解决方案

一、注册一个无限邮箱 没事点点广告&#xff0c;让网站活久一点(✪ω✪) 2925邮箱-无限邮2925无限邮箱支持多种客户端收发邮件且数据安全加密多端同步。只需要注册一个账号&#xff0c;就能生成无限多个2925子邮箱账号&#xff0c;同时利用一邮多用功能对多个子邮箱邮件进行集…...

spring上传文件添加水印

1、实现 MultipartFile package com.pojo.common.core.domain;import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; import java.io.InputStream;import org.springframework.lang.Nullable; import org.springframework.util.Assert; im…...

CSS分栏布局

分栏布局将区域划分为若干垂直的栏&#xff0c;子元素放置到栏中&#xff0c;填满一个后再填充下一个。如果设置了 column-count 栏数量或 column-width 栏宽度&#xff0c;元素就成为分栏容器。需要注意&#xff0c; column-width 实际上是最小栏宽度。浏览器使用这个值计算栏…...

通过 ModernBERT 实现零样本分类的性能提升

文本分类 是机器学习中最基础的任务之一&#xff0c;拥有悠久的研究历史和深远的实用价值。更重要的是&#xff0c;它是许多实际项目中不可或缺的组成部分&#xff0c;从搜索引擎到生物医学研究都离不开它。文本分类方法被广泛应用于科学论文分类、用户工单分类、社交媒体情感分…...

【AI】Ubuntu 22.04 4060Ti 16G vllm-api部署Qwen3-8B-FP8

下载模型 # 非常重要&#xff0c;否则容易不兼容报错 pip install modelscope -U cd /data/ai/models modelscope download --model Qwen/Qwen3-8B-FP8 --local_dir ./Qwen3-8B-FP8 安装vllm 创建虚拟环境 mkdir vllm cd vllm/ python -m venv venv ource venv/bin/activat…...