【PostgreSQL】pg各版本选用取舍逻辑与docker安装postgres:15

news2025/3/28 6:41:46

企业常用 PostgreSQL 版本推荐

1. PostgreSQL 14(最常见,稳定)
  • 目前许多企业仍在使用 PostgreSQL 14,因为它在性能、并发处理、JSON 支持等方面做了较多优化,同时又非常稳定。
  • 官方支持时间2026 年 11 月 之前提供更新和安全修复。
  • 适用于:大多数企业生产环境。
2. PostgreSQL 15(新特性但较新)
  • 提供更好的 MERGE 语句支持(类似 SQL Server 的 UPSERT),性能优化更强。
  • 适用于愿意升级到较新版本,但又不想冒 PostgreSQL 16 可能存在的新版本风险的企业。
  • 官方支持时间2027 年 11 月
3. PostgreSQL 13(部分老企业仍在使用)
  • 仍然有许多老企业使用 PostgreSQL 13,因为它稳定,且比 12 版本有更好的 JSON 处理能力和查询优化。
  • 官方支持时间2025 年 11 月
  • 适用于:已有 PostgreSQL 13 生产环境的企业,短期内不会升级。
4. PostgreSQL 16(最新,但企业少用)
  • 2023 年 9 月发布,优化了查询并行性、工作负载管理,但因为较新,企业采用率还不高。
  • 适用于:希望使用最新特性的企业,但不适用于保守的生产环境。

企业推荐版本总结

版本适用场景官方支持时间企业使用率
PostgreSQL 14最佳选择,稳定,性能好2026 年 11 月⭐⭐⭐⭐⭐
PostgreSQL 15适合需要新功能但不想冒险2027 年 11 月⭐⭐⭐⭐
PostgreSQL 13兼容性好,部分企业仍用2025 年 11 月⭐⭐⭐
PostgreSQL 16最新,但企业采用较少2028 年 11 月⭐⭐

企业中常用的 PostgreSQL 镜像类型

docker pull PostgreSQL 镜像时,常见的选择有:

  1. postgres:latest(最新稳定版)
  2. postgres:<版本号>(指定版本,例如 postgres:14
  3. postgres:<版本号>-alpine(轻量级 Alpine 版本,例如 postgres:14-alpine

1. Alpine 版(postgres:<版本>-alpine

Alpine 镜像是什么?

-alpine 版本基于 Alpine Linux,它是一个极小的 Linux 发行版(基础镜像通常只有 5MB 左右)。例如:

docker pull postgres:14-alpine

与标准版 postgres:14 相比:

  • 体积更小(Alpine 版本约 20MB,标准版约 200MB+
  • 启动更快,但功能有所取舍

Alpine 版会缺少什么?

  • 缺少 GNU 库(glibc):Alpine 使用 muslbusybox,一些依赖 glibc 的应用可能无法运行。
  • 某些扩展不兼容
    • 一些 PostgreSQL 插件(如 postgis)可能无法直接安装,需要手动编译。
    • 可能缺少一些 libpq 相关的工具(可以通过 apk add postgresql-client 安装)。
  • 性能略有下降
    • 由于 Alpine 采用 musl 而不是 glibc,某些高并发/高负载场景下的数据库操作可能比标准版稍慢(但差距不大)。

2. 企业环境应该选择哪种镜像?

镜像版本体积适用场景是否推荐企业使用
postgres:latest大(约 200MB+)开发/测试/生产✅ 推荐
postgres:14大(约 200MB+)企业生产环境(稳定)✅ 强烈推荐
postgres:14-alpine小(约 20MB)轻量化部署,资源受限环境(如 IoT)⚠️ 不推荐用于企业生产
postgres:14-slim适中(约 50MB)一般生产环境,无需扩展支持✅ 可选
postgres:14-bullseye适中需要 Debian 兼容环境✅ 推荐(更兼容)

企业生产环境建议使用 postgres:14postgres:14-slim,因为它们兼容性更好,功能完整。


3. 什么时候适合用 Alpine 版?

✅ 适用场景:

  • 资源受限的 小型应用,如嵌入式设备、CI/CD 测试环境、Docker Swarm、Kubernetes 轻量化部署。
  • 你确定你的应用 不依赖 PostgreSQL 扩展(如 postgis)。
  • 需要 极小的镜像,减少带宽和存储占用。

❌ 不适用场景:

  • 生产环境(特别是企业级数据库,稳定性比大小更重要)。
  • 需要 复杂插件支持,如 postgisplpython 等。
  • 高负载 的 OLTP/OLAP 系统(可能因 musl 影响而性能略有下降)。

适用于学习场景的pgsql选用----ubuntu22.04

1. 拉取 postgres:15 镜像

docker pull postgres:15

2. 运行 PostgreSQL 15(Slim 版)

docker run -d \
  --name my_postgres \
  -e POSTGRES_USER=root \
  -e POSTGRES_PASSWORD=123456 \
  -e POSTGRES_DB=db \
  -p 5432:5432 \
  -v pg_data:/var/lib/postgresql/data \
  postgres:15
  • 连接方式:
docker exec -it my_postgres psql -U root -d db

-v pg_data:/var/lib/postgresql/data 参数理解

位置作用
pg_data宿主机上的 Docker 容器卷(实际存储 PostgreSQL 数据)通常是/var/lib/docker/volumes/pg_data/
/var/lib/postgresql/data容器内部的数据库存储目录
-v pg_data:/var/lib/postgresql/data将容器卷 pg_data 绑定到容器 /var/lib/postgresql/data,实现数据持久化,确保在你docker因为某原因关了之后能在docker的卷里pg_data找到备份
  • 一般在linux中,先用docker volume inspect找到容器卷的挂载点
docker volume inspect pg_data

输出类似

[
    {
        "Name": "pg_data",
        "Driver": "local",
        "Mountpoint": "/var/lib/docker/volumes/pg_data/_data",
        "Scope": "local"
    }
]

  • Mountpoint 指向 /var/lib/docker/volumes/pg_data/_data,这说明 真实的数据存放在宿主机的这个目录中。

可以用ls查看是否有数据,

ls /var/lib/docker/volumes/pg_data/_data

https://github.com/0voice

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python----计算机视觉处理(Opencv:图像亮度变换)

一、图像亮度变换 亮度调整&#xff1a;图像像素强度整体变高或者变低。 对比度调整&#xff1a;图像暗处像素强度变低&#xff0c;图像亮处像素强度变高&#xff0c;从而拉大中间某个区域范围的显示精 度。 A&#xff1a;原图 …

无人机动平衡-如何在螺旋桨上添加或移除材料

平衡无人机螺旋桨是一项精细的工作&#xff0c;直接影响飞行稳定性和组件寿命。不同的方法适用于不同的情况&#xff0c;螺旋桨的材料和尺寸以及所需调整的幅度都会影响选择的方法。 本文将深入探讨添加如胶水和胶带等材料的方法&#xff0c;以及通过打磨和修剪来移除质量的方…

基于python的租房网站-房屋出租租赁系统(python+django+vue)源码+运行步骤

该项目是基于python/django/vue开发的房屋租赁系统/租房平台&#xff0c;作为本学期的课程作业作品。欢迎大家提出宝贵建议。给师弟开发的课程作业&#xff0c;技术学习可以留言哦 功能介绍 平台采用B/S结构&#xff0c;后端采用主流的PythonDjango进行开发&#xff0c;前端采…

涨薪技术|k8s设计原理

01k8s介绍 Kubernetes 是一个可移植、可扩展的开源平台&#xff0c;用于管理容器化 工作负载和服务&#xff0c;有助于实现声明性配置和自动化。它有一个庞大、快速增长的生态系统。Kubernetes 服务、支持和工具广泛可用。Kubernetes 这个名字起源于希腊语&#xff0c;意思是舵…

基于FPGA的16QAM+帧同步系统verilog开发,包含testbench,高斯信道,误码统计,可设置SNR

目录 1.算法仿真效果 2.算法涉及理论知识概要 2.1 16QAM调制解调原理 2.2 帧同步 3.Verilog核心程序 4.完整算法代码文件获得 1.算法仿真效果 vivado2019.2仿真结果如下&#xff08;完整代码运行后无水印&#xff09;&#xff1a; 设置SNR12db 将FPGA数据导入到MATLAB显…

QuecPython 外设接口之GPIO应用指南

基础知识 了解GPIO基础知识更有益于我们使用它。 框图 GPIO&#xff08;通用输入输出&#xff09;是指一种通用的数字输入/输出接口&#xff0c;用于与外部电子元件或设备进行通信。它通常存在于微处理器、微控制器和其他嵌入式系统中。 物理电路结构如下图所示&#xff1a…

Spring Boot 整合 Nacos 注册中心终极指南

在微服务架构中&#xff0c;配置管理和动态路由是核心需求。Nacos 作为阿里巴巴开源的动态服务发现、配置管理和服务管理平台&#xff0c;能够帮助开发者实现配置热更新、多环境共享配置以及动态路由管理。本文将结合 Spring Boot 和 Spring Cloud Gateway&#xff0c;手把手教…

SQLServer列转行操作及union all用法

1.创建测试表及数据sql如下 create table ScoresTable( Name varchar(50), ChineseScore int, MathScore int ) insert into ScoresTable values(小张,90,95) insert into ScoresTable values(小王,98,99) 2.表中查询结果如下 3.现需列转行显示&#xff0c;每行显示 姓名…

【GL010】C++

1.C中的const关键字有哪些用法&#xff1f; 1.修饰变量&#xff1a;表示变量的值不可修改。 const int a 10; 2.修饰指针&#xff1a; const int* p&#xff1a; // 指针指向的内容不可修改。 int* const p&#xff1a; // 指针本身不可修改。 const int* const…

(Arxiv-2025)MagicDistillation:用于大规模人像少步合成的弱到强视频蒸馏

MagicDistillation&#xff1a;用于大规模人像少步合成的弱到强视频蒸馏 paper是HKUST发布在Arxiv 2025的工作 paper title&#xff1a;MagicDistillation: Weak-to-Strong Video Distillation for Large-Scale Portrait Few-Step Synthesis Project page&#xff1a;地址 Abst…

Excel(进阶篇):powerquery详解、PowerQuery的各种用法,逆透视表格、双行表头如何制作透视表、不规则数据如何制作数据透视表

目录 PowerQuery工具基础修改现有数据理规则PowerQuery抓取数据的两种方式多文件合并透视不同表结构多表追加数据透视追加与合并整理横向表格:逆透视 数据用拆分工具整理数据算账龄 不等步长值组合合并文件夹中所有文件PowerQuery处理CSV文件双行表头、带合并单元格如何做数据…

Simple-BEV的bilinear_sample 作为view_transformer的解析,核心是3D-2D关联点生成

文件路径models/view_transformers 父类 是class BiLinearSample(nn.Module)基于https://github.com/aharley/simple_bev。 函数解析 函数bev_coord_to_feature_coord的功能 将鸟瞰图3D坐标通过多相机&#xff08;针孔/鱼眼&#xff09;内外参投影到图像特征平面&#xff0…

同一个局域网的话 如何访问另一台电脑的ip

在局域网内访问另一台电脑&#xff0c;可以通过以下几种常见的方法来实现&#xff1a; ‌直接通过IP地址访问‌&#xff1a; 首先&#xff0c;确保两台电脑都连接在同一个局域网内。获取目标电脑的IP地址&#xff0c;这可以通过在目标电脑上打开命令提示符&#xff08;Windows系…

基于SpringBoot的名著阅读网站

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…

Excel(实战):INDEX函数和MATCH函数、INDEX函数实战题

目录 经典用法两者嵌套查值题目解题分析 INDEX巧妙用法让数组公式&#xff0c;自动填充所有、有数据的行/列INDEX函数和SEQUENCE函数 经典用法两者嵌套查值 题目 根据左表查询这三个人的所有数据 解题分析 INDEX函数的参数&#xff1a;第1个参数是选定查找范围&#xff0c…

uniapp超简单ios截屏和上传app store构建版本方法

​ 假如使用windows开发ios的应用&#xff0c;上架的时候&#xff0c;你会发现&#xff0c;上架需要ios应用多种尺寸的ios设备的截图&#xff0c;和需要xcode等工具将打包好的ipa文件上传到app store的构建版本。 大部分情况下&#xff0c;我们的公司都没有这么多款ios设备来…

Netty源码—5.Pipeline和Handler一

大纲 1.Pipeline和Handler的作用和构成 2.ChannelHandler的分类 3.几个特殊的ChannelHandler 4.ChannelHandler的生命周期 5.ChannelPipeline的事件处理 6.关于ChannelPipeline的问题整理 7.ChannelPipeline主要包括三部分内容 8.ChannelPipeline的初始化 9.ChannelPi…

MySQL小练习

目录 一、单表查询 二、多表查询 一、单表查询 素材&#xff1a; 表名&#xff1a;worker-- 表中字段均为中文&#xff0c;比如 部门号 工资 职工号 参加工作 等 CREATE TABLE worker ( 部门号 int(11) NOT NULL, 职工号 int(11) NOT NULL, 工作时间 date NOT NULL, 工资 float…

Apache Hive:基于Hadoop的分布式数据仓库

Apache Hive 是一个基于 Apache Hadoop 构建的开源分布式数据仓库系统&#xff0c;支持使用 SQL 执行 PB 级大规模数据分析与查询。 主要功能 Apache Hive 提供的主要功能如下。 HiveServer2 HiveServer2 服务用于支持接收客户端连接和查询请求。 HiveServer2 支持多客户端…

检波、限幅、钳位电路

检波电路&#xff1a; 类似调制收音机信号&#xff1a;输入的基波和载波叠加成调制信号&#xff08;信号需要长距离里传输&#xff0c;频率要高&#xff0c;M级别的频率&#xff0c;所以要把低频信号叠在高频信号&#xff0c;才能把低频信号长距离传输&#xff0c;最后到达接收…