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

PostgreSQL 二进制安装全流程详解

1. 为什么选择二进制安装PostgreSQL第一次接触PostgreSQL时我也纠结过到底该用哪种安装方式。源码编译、包管理器、二进制安装各有优劣但实测下来二进制安装是最适合新手的方案。它既不像源码编译那样需要处理复杂的依赖关系也不像包管理器安装那样受限于系统版本。二进制安装最大的优势就是干净利落。你下载的压缩包里已经包含了编译好的可执行文件解压就能用。我帮不少团队部署过PostgreSQL遇到系统环境千奇百怪的情况时二进制版本总能稳定运行。比如最近在客户那遇到一个CentOS 6的老系统yum源早就停止维护了用二进制包十分钟就搞定了安装。不过要注意二进制安装的PostgreSQL不会自动注册成系统服务。这意味着你需要手动管理启停对于生产环境可能需要额外配置。但换个角度想这也给了你更大的控制权。我自己的开发机就一直用二进制版本升级时直接替换目录就行完全不影响现有数据。2. 准备工作下载与系统配置2.1 获取正确的二进制包打开PostgreSQL官网(https://www.postgresql.org/download/)时新手常会被各种版本搞晕。我的经验是先看系统架构再看GLIBC版本。比如现在主流的Linux服务器基本都是x86_64架构但GLIBC版本可能差异很大。最近一次安装时我遇到了一个坑下载了最新版的PostgreSQL 15结果在客户的老系统上跑不起来报GLIBC版本过低。后来换了PostgreSQL 12才解决。所以建议先运行ldd --version查看系统GLIBC版本再选择兼容的PostgreSQL版本。下载地址我习惯用EnterpriseDB提供的镜像wget https://get.enterprisedb.com/postgresql/postgresql-15.3-1-linux-x64-binaries.tar.gz如果下载速度慢可以试试国内的镜像源。记得一定要校验SHA256我有次就遇到过下载文件损坏的情况。2.2 系统用户与目录准备PostgreSQL强烈建议使用专用用户运行这是安全最佳实践。我通常这样做# 创建用户组和用户 sudo groupadd -r postgres sudo useradd -r -g postgres postgres数据目录的权限设置很关键我见过不少因为权限问题导致的启动失败。建议按这个流程操作sudo mkdir -p /pgdata/{data,log,archive} sudo chown -R postgres:postgres /pgdata sudo chmod 700 /pgdata/data # 这个权限特别重要有个容易忽略的点SELinux。如果你的系统启用了SELinux比如CentOS默认开启需要额外配置sudo semanage fcontext -a -t postgresql_db_t /pgdata/data(/.*)? sudo restorecon -Rv /pgdata3. 安装与初始化实战3.1 解压与目录结构解压二进制包时我习惯用这个命令tar -xzf postgresql-15.3-1-linux-x64-binaries.tar.gz -C /usr/local/ sudo mv /usr/local/pgsql /usr/local/postgresql-15 sudo ln -s /usr/local/postgresql-15 /usr/local/pgsql这样做的优势是版本化目录便于后续升级软链接保持路径统一符合Linux的目录规范目录结构说明/usr/local/postgresql-15/ ├── bin/ # 可执行文件 ├── include/ # 头文件 ├── lib/ # 库文件 └── share/ # 文档和扩展3.2 数据库初始化切换到postgres用户时我推荐用su -而不是直接su这样可以加载完整的环境变量sudo su - postgres /usr/local/pgsql/bin/initdb -D /pgdata/data -E UTF8 --localeC -U postgres -W几个关键参数解释-E UTF8设置默认编码中文环境必选--localeC避免排序规则问题-U postgres指定超级用户-W交互设置密码初始化完成后建议立即修改pg_hba.confecho host all all 0.0.0.0/0 scram-sha-256 /pgdata/data/pg_hba.conf这样后面才能远程连接但生产环境要谨慎设置IP范围。4. 配置优化与启动4.1 关键配置调整刚安装好的默认配置偏保守我通常会调整这些参数sed -i s/#listen_addresses localhost/listen_addresses */ /pgdata/data/postgresql.conf sed -i s/#port 5432/port 5432/ /pgdata/data/postgresql.conf sed -i s/max_connections 100/max_connections 300/ /pgdata/data/postgresql.conf对于开发环境建议开启日志echo logging_collector on /pgdata/data/postgresql.conf echo log_directory log /pgdata/data/postgresql.conf echo log_filename postgresql-%Y-%m-%d.log /pgdata/data/postgresql.conf4.2 启动与验证手动启动命令/usr/local/pgsql/bin/pg_ctl -D /pgdata/data -l /pgdata/log/start.log start验证服务状态/usr/local/pgsql/bin/pg_isready设置环境变量让日常使用更方便在~/.bashrc添加export PATH/usr/local/pgsql/bin:$PATH export PGDATA/pgdata/data export PGHOSTlocalhost5. 日常管理与维护5.1 创建系统服务虽然二进制安装不自动创建服务但我们可以手动配置。创建/etc/systemd/system/postgresql.service[Unit] DescriptionPostgreSQL database server Afternetwork.target [Service] Typeforking Userpostgres Grouppostgres ExecStart/usr/local/pgsql/bin/pg_ctl start -D ${PGDATA} ExecStop/usr/local/pgsql/bin/pg_ctl stop -D ${PGDATA} ExecReload/usr/local/pgsql/bin/pg_ctl reload -D ${PGDATA} TimeoutSec300 [Install] WantedBymulti-user.target然后执行sudo systemctl daemon-reload sudo systemctl enable postgresql5.2 基础数据库操作创建用户和数据库的规范做法CREATE ROLE app_user WITH LOGIN PASSWORD strongpassword NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE; CREATE DATABASE app_db WITH OWNER app_user ENCODING UTF8 LC_COLLATE C LC_CTYPE C TEMPLATE template0; GRANT ALL PRIVILEGES ON DATABASE app_db TO app_user;备份策略示例# 基础备份 /usr/local/pgsql/bin/pg_dump -Fc -U postgres -d mydb mydb.dump # 全量备份 /usr/local/pgsql/bin/pg_basebackup -D /pgdata/backup/$(date %Y%m%d) -Ft -z -U replicator6. 常见问题排查6.1 连接失败排查如果遇到连接问题按这个顺序检查服务是否运行ps -ef | grep postgres监听地址检查postgresql.conf中的listen_addresses认证配置检查pg_hba.conf中的规则顺序防火墙sudo iptables -L -n6.2 性能调优建议对于4核8G的服务器我的基准配置shared_buffers 2GB effective_cache_size 6GB maintenance_work_mem 512MB work_mem 16MB random_page_cost 1.1这些值需要根据实际负载调整。建议先用默认值运行再用pg_stat_statements找出慢查询。

相关文章:

PostgreSQL 二进制安装全流程详解

1. 为什么选择二进制安装PostgreSQL 第一次接触PostgreSQL时,我也纠结过到底该用哪种安装方式。源码编译、包管理器、二进制安装各有优劣,但实测下来,二进制安装是最适合新手的方案。它既不像源码编译那样需要处理复杂的依赖关系,…...

OpenBMC实战:phosphor-bmc-code-mgmt仓库代码逻辑全解析(附避坑指南)

OpenBMC实战:phosphor-bmc-code-mgmt仓库代码逻辑全解析(附避坑指南) 在嵌入式系统开发领域,BMC(Baseboard Management Controller)固件的可靠更新机制是确保服务器稳定运行的关键环节。作为OpenBMC项目的核…...

哪款工具能把AI率从80%降到20%?实测3款对比

这篇文章的起点是一个具体问题:AI率80%以上的论文,用哪款工具降,能稳定降到20%以下? 我用3篇不同专业、不同AI率的论文(AI率分别为82%、86%、91%),分别测试了嘎嘎降AI、比话降AI、率零三款工具…...

同一篇80%AI率的论文,3种方法降完效果对比

为了给同学一个有说服力的参考,我用同一篇论文做了一个完整对比实验: 同一篇知网AI率80%的论文(经济学,3万字),分别用3种方法处理,然后统一检测,看最终结果。 下面是完整数据。 论…...

率零测评:AI率83%的文章降完是什么效果

率零(www.0ailv.com)最大的特点是便宜——3.2元/千字,在主流工具里价格最低,还有1000字免费体验。这让很多AI率高的同学把它作为第一选择。 它的实际效果怎么样?这篇文章来说清楚。 测试基本情况 测试论文&#xff…...

AI率90%用指令降和用工具降,效果对比实测

网上有很多"降AI率神奇指令",什么"用这个提示词让ChatGPT改写,AI率直接降到5%"。 真的能做到吗?对于AI率已经90%的论文,这类指令能不能用?和专业工具相比差距多大? 我测试了&#xf…...

Flightmare性能调优指南:从卡顿到丝滑的4个突破点

Flightmare性能调优指南:从卡顿到丝滑的4个突破点 【免费下载链接】flightmare An Open Flexible Quadrotor Simulator 项目地址: https://gitcode.com/gh_mirrors/fl/flightmare 你是否曾遇到这样的困境:精心设计的四旋翼控制算法在Flightmare仿…...

计算机毕业设计:Python地铁运营数据多维分析与智能管理平台 Django框架 数据分析 可视化 大数据 机器学习 深度学习(建议收藏)✅

博主介绍:✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立软件开发工作室,专注于计算机相关专业项目实战6年之久,累计开发项目作品上万套。凭借丰富的经验与专业实力,已帮助成千上万的学生顺利毕业,…...

PINN 融合机器学习重构科学计算范式,物理先验赋能神经网络高效求解偏微分方程

PINN 即物理信息神经网络,将物理定律(如偏微分方程、边界条件)以约束损失形式嵌入机器学习框架,实现数据驱动与物理先验的融合。它依托神经网络的拟合能力,在训练中同时最小化观测数据误差与物理方程残差,无…...

计算机毕业设计:Python二手车分析与定价系统 Django框架 可视化 线性回归 数据分析 机器学习 深度学习 AI 大模型(建议收藏)✅

博主介绍:✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立软件开发工作室,专注于计算机相关专业项目实战6年之久,累计开发项目作品上万套。凭借丰富的经验与专业实力,已帮助成千上万的学生顺利毕业,…...

计算机毕业设计:Python地铁线路客流与票价数据可视化系统 Django框架 数据分析 可视化 大数据 机器学习 深度学习(建议收藏)✅

博主介绍:✌全网粉丝50W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业项目实战8年之久,选择我们就是选择放心、选择安心毕业✌ > 🍅想要获取完整文章或者源码,或者代做,拉到文章底部即可与…...

读硕士是否有必要?

一、研究方法说明 数据来源 本报告数据来源于以下公开渠道(2024-2025年),所有结论均有真实数据支撑:来源说明麦可思研究院《2025年中国本科生就业报告》权威第三方教育研究机构猎聘《2025人才供需洞察》《2025上半年人才供需洞察报…...

SeaTunnel Web安装踩坑记:从MySQL驱动到Hazelcast配置,我都经历了什么

SeaTunnel Web安装踩坑记:从MySQL驱动到Hazelcast配置,我都经历了什么 那天下午,当我第一次尝试在Linux服务器上部署SeaTunnel Web时,完全没想到会开启一段长达6小时的"排雷之旅"。作为一款强大的数据集成平台&#xff…...

01_Neo4j知识体系之原生图数据库架构全景与技术定位

01_Neo4j知识体系之原生图数据库架构全景与技术定位 体系 基础概念层:原生图数据库定位、属性图模型、索引自由邻接、与关系型数据库对比延伸阅读方向:Cypher 查询、图数据科学、向量索引、GraphRAG、企业级集群适用对象:架构师、数据平台负…...

Kazumi插件扩展完全指南:从安装到高级配置

Kazumi插件扩展完全指南:从安装到高级配置 【免费下载链接】Kazumi 基于自定义规则的番剧采集APP,支持流媒体在线观看,支持弹幕,支持实时超分辨率。 项目地址: https://gitcode.com/gh_mirrors/ka/Kazumi Kazumi作为一款基…...

AI Agent 时代工程范式革命全解(非常详细),Harness Engineering 从入门到精通,收藏这一篇就够了!

如果你最近在关注 AI 编程领域,一定刷到过这个词:Harness Engineering。 这个新概念正在以惊人的速度取代 Prompt Engineering 和 Context Engineering,成为 AI Agent 工程优化的正解。 今天这篇文章,我用自己的理解帮你理清楚。…...

Claude Code 里,Subagents 和 Agent Teams 到底怎么选?有什么区别?

之前我写过几篇关于Multi-Agent的文章,介绍了Multi-Agent的一些模式。但是前不久Claude Code推出了Agent Team模式,当时我觉得,这不就是Multi-Agent的模式的一种新实现而已。后面详细拆解后,看到了 todo.md,task-list.…...

多LLM查询扩展框架实战指南(非常详细),RAG优化新范式从入门到精通,收藏这一篇就够了!

🎯 一句话总结:本文提出一套完全自动化的领域自适应查询扩展框架,无需人工编写Prompt或选择示例,通过BM25-MonoT5 pipeline构建领域内示例池,再用LLM精化多LLM扩展结果,显著提升检索性能。 📖 为…...

新手福音:在快马平台通过生成式提示零基础学懂lstm情感分析

今天想和大家分享一个特别适合深度学习新手的实践项目——用LSTM做文本情感分析。作为一个刚入门NLP的小白,我最初看到"长短期记忆网络"这个词就头大,直到在InsCode(快马)平台上通过生成式提示直接获得了可运行的代码项目,才真正理…...

兼容FX3U源码的增强版:支持以太网与串口下载,集成MODBUS-TCP协议,实现相对定位与绝...

18650锂电池高温热失控一、模块概述 FX3U系列PLC CAN网络通信模块是基于STM32F10x系列微控制器开发的专用通信组件,旨在实现多节点PLC设备间的可靠数据交互。该模块采用STM32F10x CAN外设硬件资源,结合自定义应用层协议,支持主从式网络架构&a…...

2025最权威的五大降重复率工具推荐榜单

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 基于自然语言处理以及机器学习算法的AI论文查重系统,会去分析文本语义&#xff0…...

2025届必备的降AI率神器推荐榜单

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 此刻知网已然集成了AI检测功能,是针对学术文本里的人工智能生成痕迹去做识别的。…...

2025届学术党必备的五大降AI率工具横评

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 要是想降低AIGC检测率,那就得从内容生成与后期修饰这两个关键的方面开始着手。在…...

看门狗悖论:对波普尔可证伪主义划界标准的归谬反驳

看门狗悖论:对波普尔可证伪主义划界标准的归谬反驳摘要卡尔・波普尔提出的可证伪性标准,被学界长期奉为科学与非科学的核心划界原则。该原则主张:一个命题若具备被经验事实反驳的逻辑可能,即可归入科学命题范畴。然而,…...

终极指南:3天快速上手ALOHA开源双臂机器人系统,从零到实战操作

终极指南:3天快速上手ALOHA开源双臂机器人系统,从零到实战操作 【免费下载链接】aloha 项目地址: https://gitcode.com/gh_mirrors/al/aloha ALOHA(A Low-cost Open-source Hardware System for Bimanual Teleoperation)是…...

Linux命令-ncftp(增强的的FTP工具)

ncftp 是 Linux 中一个功能强大的 FTP 客户端,提供了比传统 ftp 命令更丰富的功能和更友好的界面。它支持自动登录、断点续传、递归传输、书签管理等功能,是 FTP 操作的强大工具。 📖 基本语法 ncftp [选项] [主机名] ncftpget [选项] 主机名…...

3个技巧让N_m3u8DL-RE流媒体下载更高效

3个技巧让N_m3u8DL-RE流媒体下载更高效 【免费下载链接】N_m3u8DL-RE Cross-Platform, modern and powerful stream downloader for MPD/M3U8/ISM. English/简体中文/繁體中文. 项目地址: https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE 还在为喜欢的在线视频无…...

FastAPI + PostgreSQL 实战:从入门到不踩坑,一次讲透

🧐 第一部分:为什么是PostgreSQL?你可以把PostgreSQL想象成一个“极度守规矩的档案管理员”——数据完整性、ACID、复杂查询支持得滴水不漏。相比MySQL,它对JSON、全文检索、地理空间数据的支持更原生,而且这几年性能优…...

如何通过arknights-ui实现明日方舟界面定制?解锁个性化游戏体验新方式

如何通过arknights-ui实现明日方舟界面定制?解锁个性化游戏体验新方式 【免费下载链接】arknights-ui H5 复刻版明日方舟游戏主界面 项目地址: https://gitcode.com/gh_mirrors/ar/arknights-ui arknights-ui是一个基于H5CSS技术的开源项目,它提供…...

3分钟搞定B站缓存视频永久保存:m4s转MP4终极指南

3分钟搞定B站缓存视频永久保存:m4s转MP4终极指南 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾因B站视频下架而懊恼&#…...