Ubuntu怎么安装PostgreSQL?Ubuntu安装PostgreSQL图文教程

在Ubuntu上安装PostgreSQL最稳妥的方式是通过官方APT仓库进行安装,这样既能确保获取最新稳定版,又能享受系统级的自动更新维护,相比编译源码安装更省心且兼容性好。

很多开发者在初次接触Linux数据库环境时,往往会被各种复杂的配置劝退,只要掌握了正确的仓库源配置方法,整个过程就像搭积木一样简单,PostgreSQL作为全球最受欢迎的开源关系型数据库之一,以其稳定性、标准兼容性和强大的扩展能力著称,对于Ubuntu用户而言,利用系统自带的包管理器(apt)安装,是兼顾效率与安全的最佳实践。

如何在 Ubuntu Linux 上安装和配置 PostgreSQL
加载中
如何在 Ubuntu Linux 上安装和配置 PostgreSQL

Ubuntu安装PostgreSQL的核心优势与版本选择

在动手之前,我们需要明确为什么选择Ubuntu以及如何选择版本,业内专家指出,Ubuntu LTS(长期支持)版本因其长达五年的安全更新周期,成为服务器部署的首选平台。

为什么推荐APT源安装而非源码编译?

源码编译虽然灵活,但需要手动处理依赖库、配置路径以及后续的系统级集成,这对于大多数应用场景来说属于“杀鸡用牛刀”,相比之下,APT源安装具有以下显著优势:

  • 自动化依赖管理:系统会自动处理libssl、libreadline等底层依赖,避免“缺少库文件”的报错困扰。
  • 无缝集成系统服务:安装后自动注册为systemd服务,支持开机自启、日志自动轮转等标准Linux运维操作。
  • 便捷的安全更新:通过标准的apt upgrade命令即可获取安全补丁,无需重新编译。

版本策略:选择哪个PostgreSQL版本?

Ubuntu官方仓库通常提供多个版本的PostgreSQL,对于生产环境,建议遵循以下原则:

  1. 优先选择LTS版本对应的最新小版本:例如Ubuntu 22.04 LTS通常支持PostgreSQL 14或15,PostgreSQL社区对每个主要版本提供5年的支持,选择较新的主要版本(如15或16)能获得更好的性能和功能。
  2. 避免使用过旧版本:除非有特定的遗留系统兼容性需求,否则不要安装5年前的旧版本,因为社区已停止维护,存在安全隐患。
  3. 开发环境与生产环境保持一致:如果生产环境使用PostgreSQL 15,开发环境也应尽量统一,以减少“在我机器上能跑”的兼容性问题。
  4. Ubuntu怎么安装PostgreSQL?Ubuntu安装PostgreSQL图文教程

Ubuntu 22.04/24.04安装PostgreSQL详细步骤

以下操作基于Ubuntu 22.04 LTS及更新版本,适用于大多数现代Ubuntu发行版,整个过程分为更新源、安装、初始化和配置四个阶段。

第一步:更新系统软件包索引

在安装任何新软件之前,更新本地软件包索引是必要的习惯,这能确保你获取到最新的可用版本列表,打开终端,执行以下命令:

sudo apt update

这条命令不会安装任何软件,只是刷新本地缓存,确保后续安装命令能找到最新的包信息。

第二步:安装PostgreSQL软件包

Ubuntu的PostgreSQL包分为两部分:核心数据库引擎和客户端工具,通常我们只需要安装核心包,客户端工具(如psql命令行工具)会作为依赖自动安装。

执行以下命令进行安装:

sudo apt install postgresql postgresql-contrib

这里特别推荐安装postgresql-contrib扩展包,它包含了许多官方推荐的额外功能模块,如pg_stat_statements(性能监控)、uuid-ossp(UUID生成)等,这些模块在后续开发中非常实用,能省去手动编译扩展的麻烦。

安装过程中,系统会提示确认空间占用,输入y并回车即可,安装完成后,PostgreSQL服务通常会自动启动

第三步:验证安装与服务状态

安装完成后,立即检查服务是否正常运行至关重要,执行以下命令查看服务状态:

sudo systemctl status postgresql

如果看到绿色的active (running)字样,说明服务已正常启动,如果服务未启动,可以手动启动:

sudo systemctl start postgresql

设置开机自启,确保服务器重启后数据库自动恢复:

sudo systemctl enable postgresql

第四步:切换用户并测试连接

PostgreSQL默认创建一个名为postgres的系统用户和数据库超级用户,这是Linux下数据库管理的标准安全机制,避免使用root用户直接操作数据库。

切换到postgres用户:

sudo -i -u postgres

进入PostgreSQL命令行界面:

psql

如果成功进入

Ubuntu怎么安装PostgreSQL?Ubuntu安装PostgreSQL图文教程

postgres=#提示符,说明安装完全成功,此时可以输入q退出命令行,输入exit退出postgres用户,回到普通用户终端。

基础配置与安全加固指南

安装完成只是第一步,合理的配置才能确保数据库在生产环境中的稳定与安全。

修改默认用户密码

默认情况下,postgres用户的操作系统密码是随机的或空的,且数据库超级用户密码也是空的,为了安全,建议立即设置密码,在psql界面中执行:

ALTER USER postgres WITH PASSWORD 'your_strong_password';

请将’your_strong_password’替换为符合复杂度要求的强密码。

配置远程访问(可选)

默认情况下,PostgreSQL只监听本地回环地址(127.0.0.1),拒绝外部连接,如果需要从其他机器连接,需修改配置文件。

编辑pg_hba.conf文件(位于/etc/postgresql//main/):

sudo nano /etc/postgresql/15/main/pg_hba.conf

在文件末尾添加允许特定IP或网段访问的规则,例如允许所有IP访问(生产环境建议限制具体IP):

host    all             all             0.0.0.0/0               md5

编辑postgresql.conf文件,修改监听地址:

sudo nano /etc/postgresql/15/main/postgresql.conf

找到listen_addresses行,取消注释并修改为:

listen_addresses = ''

修改完成后,重启服务使配置生效:

sudo systemctl restart postgresql

防火墙设置

如果Ubuntu启用了UFW防火墙,需开放5432端口(PostgreSQL默认端口):

sudo ufw allow 5432/tcp

常见问题排查与维护

在实际使用中,可能会遇到一些常见问题,掌握基本的排查思路能节省大量时间。

服务无法启动怎么办?

查看系统日志是排查问题的第一手段:

sudo journalctl -u postgresql -e

常见原因包括:端口被占用、数据目录权限错误、配置文件语法错误,日志通常会给出明确的错误提示。

如何备份与恢复数据?

PostgreSQL提供了强大的逻辑备份工具pg_dump和pg_restore。

全库备份命令:

Ubuntu怎么安装PostgreSQL?Ubuntu安装PostgreSQL图文教程

sudo -u postgres pg_dump my_database > my_database_backup.sql

恢复命令:

sudo -u postgres psql my_database < my_database_backup.sql

对于大型数据库,建议使用pg_dumpall进行全局备份,包含所有用户和数据库定义。

性能优化建议

默认配置适用于大多数中小规模应用,对于高负载场景,建议关注以下参数:

  • shared_buffers:共享内存缓冲区大小,通常建议设置为物理内存的25%。
  • work_mem:排序和哈希操作使用的内存,根据并发连接数调整。
  • effective_cache_size:告知优化器有多少内存可用于磁盘缓存,通常设置为物理内存的75%。

这些参数位于postgresql.conf文件中,修改后需重启服务生效。

Ubuntu安装PostgreSQL常见问题解答

Ubuntu上安装PostgreSQL时如何选择合适的版本?

选择版本时应遵循“生产环境用LTS,开发环境跟生产”的原则,Ubuntu LTS版本(如22.04、24.04)通常提供PostgreSQL 14、15或16等较新版本,建议优先选择PostgreSQL 15或16,因为它们包含了更优的并行查询性能和JSONB处理效率,且社区支持持续至2028-2031年,避免使用Ubuntu非LTS版本,因其支持周期短,可能导致数据库版本无法同步更新。

PostgreSQL默认安装后如何配置远程连接?

默认配置仅允许本地连接,配置远程连接需修改两个关键文件:postgresql.conf中的listen_addresses设为'',以及pg_hba.conf中添加允许远程IP的访问规则(如host all all 0.0.0.0/0 md5),修改后必须重启postgresql服务,务必在系统防火墙中开放5432端口,并建议使用强密码认证(md5或scram-sha-256),严禁在生产环境使用trust认证方式。

Ubuntu安装PostgreSQL后忘记postgres用户密码怎么办?

若忘记的是操作系统postgres用户的密码,可通过sudo直接切换用户:sudo -i -u postgres,然后在psql中执行ALTER USER postgres WITH PASSWORD 'new_password'重置数据库密码,若完全无法登录,可临时修改pg_hba.conf,将本地连接的认证方式改为trust,重启服务后无密码登录,修改密码后再改回md5或scram-sha-256认证,此方法仅适用于本地恢复,生产环境需谨慎操作。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/423493.html

(0)
getdata怎么提取曲线数据?getdata提取曲线数据教程
上一篇 2026年6月25日 18:55
Ubuntu怎么安装PostgreSQL?Ubuntu安装PostgreSQL图文教程
下一篇 2026年6月25日 18:58

相关推荐

  • access数据库表怎么分类?access数据库表分类方法

    Access数据库表分类的核心在于区分“数据表”、“查询”、“窗体”和“宏/模块”四大基础对象,其中数据表是存储原始信息的基石,而查询与窗体则是实现数据交互与业务逻辑的关键载体,在2026年的数字化办公环境中,Access依然凭借其轻量级、易部署的特性,在中小企业内部管理、个人项目管理以及特定行业的数据采集场景……

    2026年7月1日
    810
  • 宝塔面板一键迁移数据图文教程(包括迁出或迁入数据)

    宝塔面板数据迁移的核心在于利用“宝塔面板迁移插件”实现源站与目标站的无缝对接,整个过程无需手动备份数据库或文件,只需在两端安装插件并输入IP及密钥即可完成自动化同步,对于许多站长而言,服务器搬家往往意味着漫长的数据导出、压缩、传输以及重新导入的繁琐流程,稍有不慎还可能导致数据库编码错误或文件权限丢失,随着宝塔面……

    2026年6月22日
    1610
  • Access数据库数据丢失怎么办?如何快速恢复误删文件

    Access数据库数据丢失通常由非正常关闭、硬件故障或文件损坏引起,核心解决思路是立即停止写入操作并尝试使用内置修复工具或专业软件恢复,Access数据丢失的常见场景与紧急应对当你在编辑表格时突然断电,或者点击保存后软件无响应,那种心跳漏半拍的感觉非常真实,Access作为轻量级关系型数据库,虽然易用,但其单文……

    2026年7月3日
    2000
  • HTTPDNS怎么买?购买阿里云HTTPDNS服务流程

    HTTPDNS服务通常通过阿里云、腾讯云、华为云等主流云服务商直接购买,核心逻辑是按需选择带宽或请求量套餐,重点在于解决DNS劫持和解析慢的问题,很多开发者在搭建应用时,习惯直接使用系统默认的DNS解析,觉得省事且免费,但一旦业务规模扩大,或者遭遇运营商劫持、DNS污染,APP的打开速度和稳定性就会断崖式下跌……

    2026年6月5日
    5200
  • Access查询如何添加新数据库?access添加外部数据源步骤

    在Access中向现有数据库添加新数据库,最核心的方法是使用“链接表”功能建立外部数据连接,或者通过“导入”功能将数据直接合并到当前数据库中,前者适合实时同步且保持数据源独立,后者适合一次性整合且提升查询速度,很多用户在使用Microsoft Access时,常遇到数据分散在多个文件中的情况,随着业务增长,单一……

    2026年7月1日
    1200
  • 西安呼叫中心系统咨询哪家服务好,多少钱?

    西安企业部署呼叫中心系统,核心是评估自身业务场景、预算规模以及本地化服务的可持续性,而非盲目追求最低价或最全功能,西安呼叫中心系统的选型,价格与服务如何取舍在西安,企业采购呼叫中心系统时,经常面临一个矛盾:功能强大的方案往往价格不菲,而低价方案又可能带来后期维护的麻烦,要解决这个矛盾,需要系统性地拆解自身需求……

    2026年7月30日
    300
  • html和数据库增删改查怎么做?mysql数据库增删改查语句

    HTML与数据库的增删改查(CRUD)并非孤立技能,而是通过后端接口将前端页面与数据持久化存储打通的核心链路,掌握这一流程即可构建具备数据交互能力的动态Web应用,很多初学者容易陷入一个误区,认为只要学会写HTML标签就能做出网页,或者只盯着数据库SQL语句看,却忽略了两者之间的“桥梁”,现代Web开发的核心逻……

    服务器宽带 2026年6月7日
    3600
  • 企业版OV代码签名证书申请条件有哪些?申请流程及费用详解

    企业版OV代码签名证书的申请核心在于拥有合法注册的独立域名、通过CA机构的企业身份验证,并确保证书私钥安全存储于硬件设备中,整个流程通常需3-5个工作日完成审核,在软件分发日益规范化的今天,代码签名证书已不再是可选的“锦上添花”,而是软件发布的“通行证”,对于企业开发者而言,选择OV(Organization……

    2026年6月22日
    1900
  • 如何隐藏Access数据库窗口?access隐藏数据库窗口教程

    在Access中隐藏数据库窗口,最直接的方法是通过“文件”>“选项”>“当前数据库”设置启动选项,勾选“隐藏数据库窗格”和“使用Access默认视图”;若需彻底隐藏,则需结合VBA代码或修改注册表实现更高程度的隐私保护,很多用户在使用Microsoft Access处理敏感数据时,最头疼的问题就是数……

    2026年7月3日
    1100
  • 互联网企业数据安全需求是什么?企业数据安全防护方案有哪些

    互联网企业数据安全的核心在于构建“合规为底线、技术为支撑、管理为闭环”的三位一体防护体系,而非单纯依赖防火墙或加密软件,在数字化浪潮席卷全球的背景下,数据已成为互联网企业的核心资产,也是最大的风险敞口,过去那种“先发展后治理”的思维模式已彻底失效,随着监管力度的加强和用户隐私意识的觉醒,数据安全不再是IT部门的……

    服务器宽带 2026年6月1日
    3400

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注