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

在Ubuntu上安装PostgreSQL最稳妥的方式是通过官方APT仓库配置安装,这能确保你获得最新的安全补丁和版本支持,而非使用系统默认仓库中可能过时的旧版本。

很多开发者在初次接触Linux服务器时,往往直接运行 apt install postgresql,虽然简单,但这种方法容易陷入版本滞后或配置混乱的困境,对于追求生产环境稳定性的团队来说,掌握官方源安装流程是基本功,本文将拆解从环境准备到服务验证的全流程,帮助你避开常见坑点,构建一个健壮的数据库基础。

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

Ubuntu安装PostgreSQL最佳实践路径

选择正确的安装源是成功的第一步,Ubuntu自带的软件源虽然方便,但其中的PostgreSQL版本通常比官方最新版本落后几个大版本,对于需要新特性或特定安全修复的用户,直接添加PostgreSQL官方APT仓库是业内共识认为的最佳方案。

配置官方APT仓库

你需要确保系统拥有必要的工具来添加新的软件源,打开终端,执行以下命令安装GPG密钥和依赖项:

sudo apt update
sudo apt install -y gnupg2 lsb-release curl

导入PostgreSQL项目的签名密钥,并添加官方仓库地址,这一步至关重要,它保证了后续下载的软件包来源可信且为最新。

curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /usr/share/keyrings/postgresql-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/postgresql-archive-keyring.gpg] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list

执行完上述命令后,再次更新软件包列表,以刷新本地缓存中的新仓库信息。

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

sudo apt update

选择并安装特定版本

你可以查看当前可用的PostgreSQL版本了,最新的LTS(长期支持)版本是生产环境的首选,如果你希望安装PostgreSQL 16,可以执行:

sudo apt install -y postgresql-16

如果你不确定该选哪个版本,建议查阅官方文档中的版本支持矩阵,多数情况下,选择带有”LTS”标识的版本能获得更长的技术支持周期,安装过程会自动创建名为 postgres 的系统用户和默认数据库集群。

初始化与基础配置详解

安装完成后,服务并不会立即自动启动到生产就绪状态,你需要了解如何管理这个服务,并进行初步的安全加固。

服务管理与状态检查

PostgreSQL在Ubuntu上通常由systemd管理,你可以使用以下命令来控制服务:

  • 启动服务sudo systemctl start postgresql
  • 设置开机自启sudo systemctl enable postgresql
  • 检查运行状态sudo systemctl status postgresql

如果状态显示为 active (running),说明服务已正常启动,如果遇到错误,可以通过 journalctl -u postgresql 查看详细日志。

切换用户与访问数据库

PostgreSQL默认创建一个名为 postgres 的操作系统用户,要进入数据库交互界面,你需要切换到该用户。

sudo -i -u postgres
psql

进入 psql 提示符后,你可以执行SQL命令,查看当前版本:

SELECT version();

退出交互界面只需输入

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

q 并回车。

配置远程访问权限

默认情况下,PostgreSQL只允许本地连接,如果你需要从其他机器访问数据库,需要修改两个关键配置文件:postgresql.confpg_hba.conf

编辑 postgresql.conf,找到 listen_addresses 参数,将其修改为:

listen_addresses = ''

这意味着监听所有网络接口,编辑 pg_hba.conf,添加允许特定IP或网段访问的规则,允许来自 168.1.0/24 网段的连接:

host    all             all             192.168.1.0/24            md5

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

sudo systemctl restart postgresql

常见问题排查与优化建议

在实际操作中,你可能会遇到连接失败或性能问题,以下是针对常见场景的解决方案。

防火墙配置

Ubuntu默认使用UFW防火墙,如果你启用了防火墙,必须开放PostgreSQL的默认端口 5432

sudo ufw allow 5432/tcp
sudo ufw reload

确保你的云服务器安全组也放行了该端口,否则即使系统防火墙开放,外部依然无法连接。

内存与连接数调优

默认配置适用于开发环境,但在生产环境中,可能需要调整 shared_buffersmax_connections

  • shared_buffers:建议设置为物理内存的25%左右,但不要超过总内存的40%。
  • max_connections:根据应用并发量调整,默认通常为100,如果应用连接数较多,可适当增加,但需注意内存消耗。
  • Ubuntu怎么安装PostgreSQL?Ubuntu安装PostgreSQL图文教程

这些参数位于 /etc/postgresql/16/main/postgresql.conf 中,修改后务必重启服务。

Ubuntu安装PostgreSQL常见疑问解答

Ubuntu安装PostgreSQL与MySQL相比有何优劣?

PostgreSQL以严格的SQL标准遵循性和强大的扩展能力著称,适合复杂查询和事务密集型应用,MySQL则在读写分离生态和简单CRUD场景下拥有更广泛的社区支持,业内专家指出,对于需要JSONB支持、地理空间数据(PostGIS)或复杂聚合分析的场景,PostgreSQL往往是更优选择,而在高并发简单读取、对写入速度要求极高的互联网应用中,MySQL依然占据主导地位,选择取决于具体业务需求,而非绝对的性能高低。

如何备份和恢复PostgreSQL数据库?

PostgreSQL提供了强大的命令行工具 pg_dumppg_restore,备份单个数据库的命令如下:

pg_dump -U postgres -d mydb > mydb_backup.sql

恢复数据库时,先创建空数据库,然后导入:

createdb -U postgres mydb_new
psql -U postgres -d mydb_new < mydb_backup.sql

对于生产环境,建议使用 pg_basebackup 进行物理备份,并结合WAL归档实现时间点恢复(PITR),以确保数据安全性。

PostgreSQL在Ubuntu上的默认数据目录在哪里?

默认数据目录通常位于 /var/lib/postgresql/16/main/(版本号可能因安装版本而异),该目录包含数据库文件、事务日志和配置文件,切勿手动删除或移动该目录下的文件,否则会导致数据库损坏,如需更改数据目录,需在 postgresql.conf 中修改 data_directory 参数,并相应调整文件系统权限。

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

(0)
Ubuntu怎么安装PostgreSQL?Ubuntu安装PostgreSQL图文教程
上一篇 2026年6月25日 18:58
如何用SEMrush优化Shopify SEO?Shopify SEO优化技巧有哪些
下一篇 2026年6月25日 19:01

相关推荐

  • app域名是什么?.app域名注册费用多少钱

    .app域名是谷歌主导的通用顶级域名,专为移动应用、软件服务及数字产品打造,具备极高的品牌辨识度和行业权威性,是目前科技类创业项目的首选域名之一,在移动互联网深度渗透的2026年,域名早已超越了单纯的网址功能,成为品牌资产的核心组成部分,对于开发者、初创团队以及寻求数字化转型的传统企业而言,选择一个合适的域名不……

    2026年6月18日
    1900
  • Comodo通配符SSL证书多少钱?Comodo通配符SSL证书价格表

    Comodo通配符SSL证书(现属Sectigo)的市场价格通常在每年几百元到两千元人民币之间,具体费用取决于购买渠道、验证类型及服务商的促销活动,并非固定单一标价,在网络安全日益受到重视的今天,选择一款性价比高的通配符SSL证书是企业IT决策中的关键一环,许多管理员在采购时往往被市场上五花八门的价格搞晕,Co……

    2026年6月20日
    2500
  • 阿里巴巴国际站如何助力品牌出海?B2B品牌出海方法论详解

    阿里巴巴国际站首次发布的B2B品牌出海方法论,核心在于从“流量获取”转向“品牌资产沉淀”,通过数字化全链路赋能,帮助中国制造商在2026年构建具备全球认知度的独立品牌体系,B2B品牌出海方法论的核心逻辑与价值重构过去的跨境贸易,大家习惯用“卖货”思维,谁价格低谁赢,但到了2026年,这种逻辑已经行不通了,阿里巴……

    2026年6月22日
    2000
  • Hostry VPS怎么重装系统?VPS重装系统教程

    Hostry VPS重装系统最直接的方式是通过后台控制面板的“重置”或“重装系统”功能选择镜像,操作全程无需SSH连接,数据会被清空,建议操作前务必备份重要文件,很多新手在拿到Hostry VPS后,面对黑屏的命令行界面或者想尝试不同的Linux发行版时,第一反应往往是手足无措,重装系统并没有想象中那么复杂,它……

    2026年6月19日
    2100
  • 华为云数据库安全审计的Agent提供哪些功能?,怎么用

    华为云数据库安全审计的Agent是部署在数据库服务器或网络中的轻量级程序,它通过采集数据库协议日志,实现SQL语句审计、用户行为追踪、异常操作告警和会话全量记录,是数据库安全审计系统的核心组件,华为云数据库安全审计Agent功能详解:到底能做什么?SQL语句审计与操作还原Agent通过解析数据库协议,将每条SQ……

    2026年7月31日
    300
  • 互联网公司广告项目管理怎么做?项目流程与风险控制

    在2026年的互联网广告环境中,高效的项目管理不再是简单的排期与监控,而是基于AI驱动的全链路自动化协同,核心在于通过数据闭环实现ROI的实时优化与风险的预判拦截,广告项目管理的本质,已经从传统的“人盯人”转向了“系统管流程”,随着流量红利的见顶和算法推荐的精细化,广告主对投放效果的颗粒度要求达到了前所未有的高……

    2026年6月3日
    4800
  • HTTPDNS最新活动是什么?HTTPDNS怎么配置解析

    HTTPDNS最新活动核心在于通过解析前置技术彻底消除运营商劫持,实现毫秒级精准调度,目前主流云厂商正通过免费额度扩容与API调用优惠降低企业接入门槛,在移动互联网流量红利见顶的当下,App的启动速度和页面加载稳定性直接决定了用户的留存率,传统的DNS解析方式就像是在茫茫大海中依靠不准确的地图寻找岛屿,不仅慢……

    2026年6月4日
    3700
  • 互联网云平台上的服务器怎么选?云服务器租用费用是多少

    互联网云平台上的服务器并非简单的硬件堆砌,而是通过虚拟化技术将物理资源抽象为可弹性伸缩、按需付费的逻辑单元,其核心价值在于以极低的初始成本实现业务的高可用性与快速迭代,云服务器的本质:从“买铁”到“买算力”的思维转变过去,企业搭建网站或运行应用需要购买真实的物理服务器,这意味着你需要承担硬件折旧、机房租金、电力……

    2026年6月1日
    3600
  • 服务器带宽费用怎么算最便宜?带宽价格一般多少钱一年

    想要实现服务器带宽费用最低化,核心结论在于:打破单一供应商依赖,根据业务流量模型精准选型,并采用“共享带宽+按量计费”的混合模式,配合长期预留实例策略,最高可降低60%以上的成本, 很多企业仅仅关注单价,却忽视了计费模式与实际业务场景的匹配度,导致为闲置资源支付了巨额费用,要解决这个问题,必须从计费模式选择、架……

    2026年3月5日
    13300
  • 广州ECS云服务器怎么不被检测出虚拟机,云服务器如何隐藏虚拟机特征

    要彻底解决广州ECS云服务器被检测出虚拟机环境的问题,核心策略在于构建“硬件透传”与“指令集伪装”的双重防御体系,通过修改底层特征参数、隐藏虚拟化驱动指纹以及优化系统内核响应,使云服务器在检测程序眼中与物理裸机无异,这一过程并非简单的参数修改,而是对CPU、磁盘、网卡及系统底层行为的深度混淆,确保业务运行的绝对……

    2026年3月31日
    9000

发表回复

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