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.conf 和 pg_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_buffers 和 max_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_dump 和 pg_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://test.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

相关推荐

  • HTML字体加粗怎么设置?html加粗标签代码

    这是一个语义重要的加粗示例,“`这种方式的优点是代码简洁,无需额外引入CSS文件,加载速度快,缺点是样式固定,无法通过外部样式表统一修改粗细程度,CSS样式控制的进阶用法如果你需要更精细的控制,比如调整加粗的像素值,或者在不同屏幕尺寸下显示不同的粗细,CSS是更好的选择,.custom-bold { font……

    网络与线路 2026年6月6日
    3600
  • Xmanager和xShell什么关系?Xmanager和xShell的区别

    Xmanager和Xshell是两款功能重叠但侧重点不同的远程终端管理工具,前者是图形化综合套件,后者是轻量级独立终端,二者均由NetSarang公司开发,常配合使用以实现高效的服务器运维,在IT运维和服务器管理的日常场景中,许多技术人员面对海量服务器时,往往需要一款趁手的“武器”,Xmanager和Xshel……

    2026年6月23日
    1910
  • 如何用Cloudflare获取SSL证书?Cloudflare免费SSL证书申请教程

    通过Cloudflare获取SSL证书的核心答案是:在Cloudflare控制台的SSL/TLS设置中选择“Flexible”或“Full”模式,利用Cloudflare提供的免费Universal SSL证书自动为网站加密,无需自行购买或配置证书,为什么选择Cloudflare的SSL证书?在网络安全领域,S……

    2026年6月26日
    2100
  • HTML5视频教程哪里看?零基础入门到精通全套

    HTML5视频教程是掌握现代前端开发的最高效路径,建议初学者从W3C标准规范入手,结合VS Code编辑器进行实战编码,而非单纯观看理论讲解,为什么选择HTML5视频教程作为入门首选在2026年的前端技术生态中,HTML5依然是构建Web应用的基石,尽管React、Vue等框架层出不穷,但底层逻辑依然建立在HT……

    2026年6月11日
    2800
  • 弹性服务器季付最新价格多少?弹性服务器季付有哪些优惠活动?

    弹性服务器季付方案是目前中小企业与开发团队平衡成本控制与业务灵活性的最优解,尤其适合项目周期明确或处于快速成长期的业务场景,在云计算资源采购策略中,选择正确的付费周期往往比选择配置更具战略意义,相比于年付的长期锁定风险和月付的高昂累积成本,季付模式提供了一个完美的折中点,它不仅大幅降低了单月均摊成本,还为业务调……

    2026年3月8日
    11300
  • html网站引导页怎么做?html网站引导页模板

    HTML网站引导页是提升转化率的关键入口,其核心价值在于通过极简的视觉引导和明确的行动号召,将访客快速转化为潜在客户或注册用户,在移动互联网流量红利见顶的当下,用户注意力稀缺,首屏停留时间往往不足3秒,一个设计精良的引导页(Landing Page)不再是简单的“欢迎页”,而是经过精心计算的营销漏斗起点,它剥离……

    2026年6月11日
    5810
  • html5视频直播怎么实现?html5视频直播源码

    HTML5视频直播凭借无需插件、跨平台兼容及低延迟特性,已成为2026年主流的视频分发方案,彻底取代了传统的Flash及原生APP嵌入模式,HTML5视频直播的技术优势与核心原理在2026年的数字媒体环境中,用户对于观看体验的要求已不再局限于“能看”,而是追求“秒开”、“流畅”和“多端一致”,HTML5视频直播……

    2026年6月11日
    3900
  • HTML代码报错怎么查?如何快速定位并修复HTML语法错误

    `是正确的,而“则是错误的,属性缺失引号或拼写错误HTML属性值必须用双引号或单引号包裹,<img src=logo.png>是错误的,应改为<img src=”logo.png”>,属性名拼写错误(如将class写成calss)也会导致样式失效,场景描述:当页面样式突然失效,检查HT……

    2026年6月8日
    3400
  • 广告公司用服务器怎么选?广告公司服务器配置推荐

    广告公司构建核心竞争力的关键基础设施在于高性能服务器的选型与部署,这直接决定了创意变现的效率与客户满意度,在数字化营销时代,广告公司不再仅仅是创意的输出者,更是海量数据的处理者,选择适配业务场景的服务器架构,能够解决渲染卡顿、数据丢包及协作延迟等核心痛点,实现从创意构思到成品交付的全链路提速,高性能计算支撑创意……

    2026年4月3日
    8700
  • 域名DNS错误是什么意思?域名DNS解析失败怎么解决

    域名DNS错误意味着浏览器无法将您输入的网址转换为服务器IP地址,导致网页无法加载,这通常由本地缓存污染、DNS服务器故障或域名解析记录配置错误引起,修复的核心在于清除缓存、更换公共DNS或修正解析设置,想象一下,互联网就像一座巨大的城市,而域名(www.example.com)是每家店铺的招牌,IP地址则是具……

    2026年6月24日
    1600

发表回复

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