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

PostgreSQL保姆级下载安装指南

目录前言一、前置准备版本选择与核心说明1.1 版本选择建议1.2 核心前置依赖二、分平台标准安装步骤2.1 Linux 系统安装生产环境首选2.1.1 Debian/Ubuntu 系列Ubuntu 20.04/22.04/24.04、Debian 11/122.1.2 RHEL/CentOS/Rocky Linux/AlmaLinux 系列2.2 Windows 系统安装本地开发首选2.3 macOS 系统安装开发者首选2.3.1 Homebrew 安装推荐2.3.2 官方 DMG 包安装三、安装后核心配置3.1 核心配置文件说明3.2 重置超级用户密码3.3 配置远程访问步骤 1修改监听地址步骤 2配置客户端访问规则步骤 3重启服务生效步骤 4放行防火墙与安全组3.4 基础性能优化四、高频踩坑与排障指南4.1 远程连接失败排查步骤4.2 密码认证失败4.3 服务启动失败4.4 初始化数据库失败五、生产环境最佳实践End前言作为全球最先进的开源关系型数据库PostgreSQL简称 PG凭借完全兼容 ACID、强大的扩展能力、对 JSON / 地理信息 / 时序数据的原生支持以及零成本的开源协议成为个人开发者、中小企业乃至大型企业的数据库首选。本文将覆盖Windows、Linux、macOS三大主流平台的官方标准安装方式从版本选择、安装步骤、核心配置到排障方案、生产最佳实践帮你一次性完成从零基础安装到生产可用的全流程落地。本文所有命令与配置均基于 PostgreSQL 最新版本验证兼容 14 以上主流版本。一、前置准备版本选择与核心说明https://www.postgresql.org/https://www.postgresql.org/1.1 版本选择建议PostgreSQL 全球开发组每年发布一个大版本每个大版本提供 5 年官方安全与 bug 修复支持生产环境优先选择稳定长期支持版本避免 Beta 版与即将停止维护EOL的版本。版本类型推荐选择适用场景生产环境PostgreSQL 17.x/16.x稳定性优先官方支持周期长企业级业务首选学习测试最新稳定版体验新特性适配个人项目、课程学习老项目兼容项目适配的最低 LTS 版本避免版本差异导致的语法、驱动兼容性问题避坑提醒不要直接使用 Linux 系统自带的PostgreSQL版本系统内置源的版本通常严重滞后比如 CentOS 7 默认仅提供 9.2 版本存在大量已知安全漏洞与功能缺失务必使用官方源安装。1.2 核心前置依赖Linux需 root 或 sudo 权限确保系统能访问官方软件源WindowsWindows 10/11、Windows Server 2016管理员权限macOSmacOS 12推荐安装 Homebrew 包管理器二、分平台标准安装步骤2.1 Linux 系统安装生产环境首选Linux 是 PostgreSQL 生产环境的主流部署平台本文覆盖 Debian/Ubuntu、RHEL/CentOS/Rocky Linux 两大主流发行版均采用官方源安装保证版本最新、安全合规。2.1.1 Debian/Ubuntu 系列Ubuntu 20.04/22.04/24.04、Debian 11/121.更新系统并安装基础依赖sudo apt update sudo apt install -y ca-certificates gnupg2 wget lsb-release2.导入官方 GPG 密钥添加官方软件源# 导入PG官方GPG密钥 curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg # 添加官方源 echo deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main | sudo tee /etc/apt/sources.list.d/pgdg.list3.安装 PostgreSQL 服务器与客户端sudo apt update # 安装最新稳定版如需指定版本将postgresql改为postgresql-17即可 sudo apt install -y postgresql postgresql-contrib4.验证安装与服务状态# 查看服务状态安装完成后会自动启动并设置开机自启 sudo systemctl status postgresql # 查看已安装的版本 psql --version说明Debian/Ubuntu 安装完成后会自动创建postgres系统用户、默认数据库实例数据目录默认位于/var/lib/postgresql/版本号/main。2.1.2 RHEL/CentOS/Rocky Linux/AlmaLinux 系列1.安装官方仓库RPM包# 以Rocky Linux 9/CentOS 9为例其他版本替换对应版本号即可 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm # CentOS 7 请使用以下命令 # sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm2.安装 PostgreSQL 服务器与客户端# 安装最新稳定版如需指定版本改为postgresql18-server即可 sudo dnf install -y postgresql-server postgresql-contrib # CentOS 7 请使用 yum 替代 dnf3.手动初始化数据库实例关键区别RHEL 系列安装完成后不会自动初始化实例必须手动执行初始化命令sudo /usr/pgsql-17/bin/postgresql-17-setup initdb4.启用并启动服务# 设置开机自启 sudo systemctl enable --now postgresql-17 # 查看服务状态 sudo systemctl status postgresql-17 # 验证版本 psql --version2.2 Windows 系统安装本地开发首选Windows 平台推荐使用 EnterpriseDB 提供的官方图形化安装包一键完成安装、配置与工具集成无需手动处理环境变量。1.下载官方安装包访问PostgreSQL 官方下载页选择对应系统架构的最新稳定版安装包下载后以管理员身份运行安装程序。2.图形化安装步骤1.选择安装版本2.选择安装目录避坑提醒不要使用包含中文、空格、特殊字符的路径推荐默认路径C:\Program Files\PostgreSQL\版本号3.选择安装组件默认全选即可包含 PostgreSQL Server、pgAdmin4 图形化管理工具、Stack Builder 扩展管理器、命令行工具4.选择数据目录建议与安装目录分盘存放避免系统盘故障导致数据丢失5.设置超级用户postgres的密码务必设置强密码牢记该密码后续登录必须使用6.设置数据库端口默认 5432无特殊需求无需修改如需修改请确保端口未被占用7.设置数据库默认 locale推荐选择Chinese (Simplified, China)或默认Default locale点击下一步完成安装。点击取消后续是引导下载第三方配置的可以先不下载以后用到再下。8.验证安装安装完成后可通过开始菜单打开pgAdmin4图形化工具或打开SQL Shell (psql)输入密码后成功登录即代表安装完成。点击add new Server或者使用postgres管理员的也可以。可以看到是可以正常使用的不想用这种可视化界面的可以使用navicat或者datagrip工具。2.3 macOS 系统安装开发者首选macOS 平台有两种主流安装方式优先推荐 Homebrew 安装操作简单、便于版本管理。2.3.1 Homebrew 安装推荐1.若未安装 Homebrew先执行以下命令安装 Homebrew/bin/bash -c $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)2.安装 PostgreSQL# 安装最新稳定版 brew install postgresql # 如需指定版本使用 brew install postgresql173.启动服务并设置开机自启brew services start postgresql # 查看服务状态 brew services list4.验证安装psql --version # 直接登录默认数据库 psql postgres2.3.2 官方 DMG 包安装如需图形化安装可访问PostgreSQL 官方 macOS 下载页下载官方 DMG 安装包按照向导完成安装步骤与 Windows 图形化安装一致安装完成后会自动集成 pgAdmin4 管理工具。三、安装后核心配置安装完成仅代表程序部署完成想要正常使用、尤其是开放远程访问必须完成以下核心配置所有配置均适配全平台仅配置文件路径有差异。3.1 核心配置文件说明PostgreSQL 的所有核心配置都集中在两个文件中修改后必须重启服务才能生效postgresql.conf数据库主配置文件控制监听地址、端口、内存、日志等全局配置pg_hba.conf客户端访问控制配置文件控制哪些 IP、用户可以访问数据库以及认证方式配置文件默认路径Linux Debian/Ubuntu/etc/postgresql/版本号/main/Linux RHEL/CentOS/var/lib/pgsql/版本号/data/Windows安装目录/data/macOS Homebrew/opt/homebrew/var/postgresql版本号/3.2 重置超级用户密码安装完成后默认postgres数据库超级用户的密码未强制设置生产环境必须先重置强密码1.切换到postgres系统用户Linux/macOSsudo su - postgres2.登录 psql 命令行客户端psql3.执行 SQL 命令重置密码-- 替换为你的强密码建议包含大小写、数字、特殊字符长度不少于8位 ALTER USER postgres WITH PASSWORD YourPassword2026;4.退出 psql\q3.3 配置远程访问默认情况下PostgreSQL 仅允许本地127.0.0.1访问如需远程连接比如应用服务器、本地开发工具连接服务器数据库需完成以下配置步骤 1修改监听地址编辑postgresql.conf文件找到listen_addresses配置项修改为# 允许所有IP访问生产环境建议替换为指定的IP段比如192.168.1.0/24多个地址用逗号分隔 listen_addresses * # 可选修改默认端口生产环境建议修改降低被扫描的风险 port 5432步骤 2配置客户端访问规则编辑pg_hba.conf文件在文件末尾添加访问规则推荐配置如下# 格式TYPE DATABASE USER ADDRESS METHOD # 允许所有用户、所有IP访问所有数据库使用scram-sha-256加密认证 host all all 0.0.0.0/0 scram-sha-256 # 生产环境推荐最小权限配置仅允许指定IP的应用用户访问指定数据库 # host your_db your_user 192.168.1.10/32 scram-sha-256安全说明scram-sha-256是 PostgreSQL 10 默认的加密认证方式安全性远高于老旧的 md5严禁使用 trust 无密码认证方式。步骤 3重启服务生效# Linux Debian/Ubuntu sudo systemctl restart postgresql # Linux RHEL/CentOS sudo systemctl restart postgresql-17 # macOS Homebrew brew services restart postgresql # Windows服务面板重启PostgreSQL服务步骤 4放行防火墙与安全组远程连接失败 90% 是因为防火墙未放行1.Linux 防火墙放行# Debian/Ubuntu ufw防火墙 sudo ufw allow 5432/tcp sudo ufw reload # RHEL/CentOS firewalld防火墙 sudo firewall-cmd --add-port5432/tcp --permanent sudo firewall-cmd --reload2.Windows 防火墙打开控制面板 - 系统和安全 -Windows Defender 防火墙 - 高级设置添加入站规则放行 5432 端口。3.云服务器务必在云服务商控制台的安全组 / 网络 ACL 中放行 5432 端口的入站流量。3.4 基础性能优化默认配置仅适配低配置环境生产环境需根据服务器硬件调整核心参数以下为通用优化建议适用于专用数据库服务器编辑postgresql.conf文件修改以下核心参数# 共享缓冲区推荐设置为系统内存的25%比如32G内存设置为8GB shared_buffers 8GB # 单个操作的工作内存根据并发数调整推荐设置为系统内存的4% / 最大并发数 work_mem 64MB # 维护操作内存比如建索引、VACUUM推荐设置为系统内存的10%最大不超过4GB maintenance_work_mem 2GB # 优化器缓存大小推荐设置为系统内存的75%告诉优化器系统有多少内存可用 effective_cache_size 24GB # 开启WAL归档用于备份恢复生产环境必须开启 wal_level replica # 开启自动清理避免表膨胀默认开启请勿关闭 autovacuum on四、高频踩坑与排障指南4.1 远程连接失败排查步骤先检查服务是否正常启动systemctl status postgresql确保服务处于 running 状态检查listen_addresses是否配置正确重启服务后生效检查pg_hba.conf的认证规则是否正确认证方式是否为scram-sha-256用telnet 服务器IP 5432测试端口是否通不通则排查防火墙、安全组是否放行CentOS/RHEL 系统检查 SELinux 是否拦截可临时关闭setenforce 0测试如需长期使用需配置 SELinux 规则。4.2 密码认证失败确认密码输入正确区分大小写检查pg_hba.conf的认证方式若使用scram-sha-256需确保密码是用该方式加密的重置密码即可解决确认登录的用户名正确默认超级用户是postgres不是系统 root 用户。4.3 服务启动失败Linux检查数据目录权限必须为postgres用户所有权限为 700执行chown -R postgres:postgres 数据目录 chmod 700 数据目录修复Windows检查数据目录是否有中文、空格确保 postgres 服务用户有数据目录的读写权限检查端口是否被其他程序占用修改postgresql.conf的 port 参数更换端口。4.4 初始化数据库失败核心原因是数据目录权限不足或目录非空确保数据目录为空且归属 postgres 用户权限设置正确。五、生产环境最佳实践安全加固优先禁止 postgres 超级用户远程登录仅本地使用遵循最小权限原则给应用用户仅分配业务所需的权限严禁授予 superuser 权限定期修改密码开启密码复杂度策略关闭不必要的扩展生产环境严禁使用 0.0.0.0/0 全 IP 放行仅允许业务服务器 IP 段访问。数据安全保障数据目录与系统盘分盘存放避免系统盘占满导致数据库宕机、数据损坏配置定时全量备份 WAL 增量备份定期执行备份恢复测试确保备份可用核心业务开启主从复制避免单点故障保障业务连续性。性能与稳定性优化根据服务器硬件、业务场景定制优化内核参数与数据库配置配置合理的日志策略开启慢查询日志定期排查性能问题定期执行 VACUUM ANALYZE避免表膨胀保证统计信息准确搭建监控体系PrometheusGrafana实时监控连接数、QPS、内存、磁盘、延迟等核心指标。EndPostgreSQL 的安装本身并不复杂真正决定数据库稳定性与安全性的是安装后的配置规范与最佳实践落地。如果想要深入学习 PostgreSQL官方文档是最权威的学习资料。

相关文章:

PostgreSQL保姆级下载安装指南

目录 前言 一、前置准备:版本选择与核心说明 1.1 版本选择建议 1.2 核心前置依赖 二、分平台标准安装步骤 2.1 Linux 系统安装(生产环境首选) 2.1.1 Debian/Ubuntu 系列(Ubuntu 20.04/22.04/24.04、Debian 11/12&#xff0…...

Bidili Generator助力内容创作:批量生成社交媒体配图方案

Bidili Generator助力内容创作:批量生成社交媒体配图方案 1. 引言:当社交媒体运营遇上“配图焦虑” 每天打开电脑,第一件事不是写文案,而是找配图——这可能是很多社交媒体运营、内容创作者和自媒体人的真实写照。 高质量、风格…...

AudioSeal Pixel Studio完整指南:AudioSeal与传统LSB水印技术对比

AudioSeal Pixel Studio完整指南:AudioSeal与传统LSB水印技术对比 1. 引言:当声音需要“隐形身份证” 想象一下,你是一位音乐制作人,辛苦创作的Demo在发给合作方后,没过几天就在网上听到了未经授权的片段。或者&…...

MATLAB与AI结合:调用Z-Image-Turbo模型进行科学可视化图像生成

MATLAB与AI结合:调用Z-Image-Turbo模型进行科学可视化图像生成 1. 引言 如果你经常和MATLAB打交道,尤其是在做科研或者工程项目,肯定遇到过这样的烦恼:辛辛苦苦跑完仿真,得到了一大堆数据,最后生成的可视…...

CSS实战:如何用Flexbox完美解决不同大小字体底部对齐问题(附代码示例)

CSS实战:用Flexbox实现多尺寸字体精准底部对齐 在网页排版中,混合使用不同字号是常见的设计需求——比如价格数字需要突出显示,而单位需要缩小呈现。但当这些元素需要纵向对齐时,开发者往往会遇到一个经典难题:如何让不…...

保姆级教程:用Go-libp2p的Circuit Relay V2协议,5分钟搞定内网穿透聊天应用

5分钟构建基于Go-libp2p的穿透聊天工具:Circuit Relay V2实战指南 想象一下,你和同事分别坐在不同公司的内网环境中,却想快速搭建一个无需服务器中转的加密聊天工具。传统方案需要复杂的端口映射或第三方服务,而今天我们要用Go-li…...

如何构建可扩展的AI图像修复系统:IOPaint架构解析与定制实践

如何构建可扩展的AI图像修复系统:IOPaint架构解析与定制实践 【免费下载链接】IOPaint 项目地址: https://gitcode.com/GitHub_Trending/io/IOPaint 在AI图像修复领域,开发者常面临三大核心挑战:模型适配困难、扩展性受限、以及特定场…...

企微AI回复稳定性指南:高可用架构与监控体系构建

摘要 📝企微AI智能回复上线后,稳定性成为最大挑战:消息丢失、重复回复、超时失败、上下文串扰等问题频发。本文从生产级视角出发,提出企微AI回复高可用架构方案,涵盖消息去重、会话隔离、限流熔断、监控告警四大核心模…...

Langflow API实战:5分钟搞定一个AI对话机器人(附完整Python代码)

Langflow API实战:5分钟搞定一个AI对话机器人(附完整Python代码) 在AI技术快速落地的今天,如何快速将对话能力集成到现有系统中成为开发者关注的焦点。Langflow作为一款可视化AI工作流构建工具,其API接口为开发者提供了…...

如何高效实现开放集目标检测:GroundingDINO实战指南与性能优化

如何高效实现开放集目标检测:GroundingDINO实战指南与性能优化 【免费下载链接】GroundingDINO 论文 Grounding DINO: 将DINO与基于地面的预训练结合用于开放式目标检测 的官方实现。 项目地址: https://gitcode.com/GitHub_Trending/gr/GroundingDINO Groun…...

Webots+ROS2联合仿真环境搭建:以Humble版本为例的WSL2终极方案

WebotsROS2 Humble跨系统联合仿真:WSL2环境配置与RViz显示优化实战 引言:当机器人仿真遇上跨系统协作 在机器人开发领域,仿真环境的重要性不言而喻。Webots作为一款功能强大的开源机器人仿真平台,与ROS2的结合为开发者提供了理想…...

ModuleNotFoundError: No module named ‘moviepy.editor‘,安装了的,版本不对

pip uninstall moviepy -ypip install moviepy1.0.3from moviepy.editor import *...

即插即用系列 | 结构感知Mamba新范式:SCSegamba如何以1M参数量革新工业缺陷检测

1. 当1M参数遇上工业缺陷检测:SCSegamba的轻量革命 第一次在产线上看到SCSegamba处理金属表面划痕时,我盯着屏幕上仅1.45G的实时计算量数据看了很久。这个比传统方案小两个数量级的数字,正在改变工业质检的游戏规则。传统方案要么像CNN那样&q…...

特斯拉FSD和Waymo的决策逻辑有啥不同?聊聊规则模型与效用模型的实战选择

特斯拉FSD与Waymo的决策逻辑差异:规则模型与效用模型的商业博弈 当特斯拉的FSD Beta在十字路口流畅地完成无保护左转,而Waymo的Robotaxi在旧金山街头谨慎地等待行人完全通过时,这两种截然不同的驾驶风格背后,隐藏着自动驾驶行业最…...

Ralph for Claude Code 彻底移除指南:从系统清理到环境重置

Ralph for Claude Code 彻底移除指南:从系统清理到环境重置 【免费下载链接】ralph-claude-code Autonomous AI development loop for Claude Code with intelligent exit detection 项目地址: https://gitcode.com/GitHub_Trending/ra/ralph-claude-code 卸…...

安卓手机版浏览器推荐!能下很多网页视频的浏览器

是不是也有这样的苦恼:看到喜欢的视频想下载保存,结果要充会员、下载工具收费还带广告? 今天给大家安利一个神器—— X浏览器 ,完全免费,还能轻松下载各大平台的视频,小白也能3分钟学会! 软件下…...

OpenClaw节日自动化:Qwen3-32B批量生成个性化祝福邮件

OpenClaw节日自动化:Qwen3-32B批量生成个性化祝福邮件 1. 为什么需要自动化节日邮件 每到节日季,市场部和HR同事总要加班加点处理祝福邮件。传统群发模板的打开率往往不到10%,而手工逐一定制又耗时费力。去年春节前,我尝试用Ope…...

Ubuntu20下Pangolin编译失败?0.5版本亲测有效的解决方案

Ubuntu 20.04下Pangolin 0.5编译全攻略:从报错排查到完美运行 最近在复现《视觉SLAM十四讲》中的例程时,发现不少开发者在Ubuntu 20.04环境下编译Pangolin 0.5版本会遇到各种奇怪的问题。作为SLAM开发的基础依赖库,Pangolin的顺利安装直接关系…...

C#源码最新版v2.1:视觉集成控制系统开发框架,包含拖拽编程与PLC通讯等功能,含注释注释...

C#源码~最新版v2.1版本植板控制系统,C#联合halcon开发框架源码。拖拽式编程,无halcon基础也能上手,匹配,测量,条码识别,ocr,定位引导,对位等,支持plc通讯,集成主流相机sd…...

【Dify评估系统性能调优黄金法则】:20年LLM工程老兵亲授5大瓶颈识别与3倍吞吐提升实操路径

第一章:Dify自动化评估系统性能调优全景认知Dify 的自动化评估系统是保障 LLM 应用质量闭环的关键组件,其性能表现直接影响评估任务吞吐、延迟稳定性与资源利用率。理解该系统的运行机制与瓶颈分布,是开展有效调优的前提——它并非单一服务模…...

HOW - 撰写前端技术方案

文章目录 一份完整前端技术方案结构 项目背景 & 目标 技术选型 架构设计(核心) 模块划分 数据流设计(很重要) 接口设计(API 对接) 状态管理方案 性能优化方案 安全方案 工程化方案 测试方案 部署 & CI/CD 风险 & 预案 总结 加分 图示或表格 功能到工程的考量…...

深度解析:基于PCL与VTK的3D点云标注工具核心技术实现

深度解析:基于PCL与VTK的3D点云标注工具核心技术实现 【免费下载链接】point-cloud-annotation-tool 项目地址: https://gitcode.com/gh_mirrors/po/point-cloud-annotation-tool 在自动驾驶与机器人感知领域,高质量3D点云数据标注是算法模型训练…...

API认证机制实战指南:从问题诊断到方案优化

API认证机制实战指南:从问题诊断到方案优化 【免费下载链接】public-api-lists A collective list of free APIs for use in software and web development 🚀 (Clone of https://github.com/public-apis/public-apis) 项目地址: https://gitcode.com/…...

四相机测量项目源码:海康相机SDK+C#+halcon,通俗易懂,四种测量模式

四相机测量项目源码,海康相机SDK,C#halcon,写得比较通俗易懂,四相机四种测量模式,某工厂产线曾使用的项目。 主要功能有连接海康相机采图,模板匹配,圆形拟合,直线拟合,像…...

Fish-Speech 1.5 本地部署避坑指南:从模型下载到语音生成的完整流程

Fish-Speech 1.5 本地部署实战:从零构建个性化语音合成系统 语音合成技术正在从实验室走向大众应用,而开源项目Fish-Speech的出现让高质量语音合成不再是科技巨头的专利。本文将带你完整走过Fish-Speech 1.5的本地部署全流程,特别针对中文环…...

11kw OBC 三相PFC仿真模型及其技术应用

11kw OBC 三相PFC仿真模型,三相功率因数校正技术,PLECS仿真 可以导入管子spice模型,仿出管子损耗,管子结温一、引言在现代电力电子系统中,三相功率因数校正(PFC)技术扮演着至关重要的角色。它不…...

Vue3 源码学习和解读保姆级教程

哈喽,各位前端小伙伴!是不是已经用 Vue3 开发过多个项目,熟练使用 setup、ref、reactive,但被面试官追问「Vue3 响应式原理和 Vue2 有什么区别」「Composition API 为什么更灵活」时,却只能含糊其辞?想进阶中高级前端,却因不懂 Vue3 源码底层逻辑,始终无法突破技术瓶颈…...

Au隐藏技巧大公开:从降噪到混响,让你的音频秒变专业级(附实战案例)

Au隐藏技巧大公开:从降噪到混响,让你的音频秒变专业级(附实战案例) 当你第一次听到自己录制的声音时,是不是总觉得哪里不对劲?明明在录音时感觉声音很清晰,回放时却总能发现各种问题——背景噪音…...

UDOP-large企业级应用:与钉钉/飞书机器人集成,文档拍照即分析

UDOP-large企业级应用:与钉钉/飞书机器人集成,文档拍照即分析 1. 引言:当文档理解遇到办公自动化 想象一下这个场景:销售同事在客户现场拍了一张英文合同的关键页照片,发到工作群里。几秒钟后,一个机器人…...

Python实战:用内点法解二次规划问题,附完整代码与可视化分析

Python实战:用内点法解二次规划问题,附完整代码与可视化分析 在工程优化、金融建模和机器学习领域,二次规划问题无处不在。想象一下,你正在设计一个投资组合优化系统,需要在风险约束下最大化收益;或者训练一…...