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

相关推荐

  • 广州DDOS原理是什么,DDOS攻击是如何进行的

    广州DDOS攻击的本质是资源消耗战,核心结论在于:攻击者通过控制海量僵尸网络节点,向目标服务器发送超过其处理能力的恶意流量,最终导致合法用户无法访问,防御的关键不在于单纯扩容,而在于建立精准的流量清洗与智能调度机制,理解这一原理,是企业构建有效安全防线的第一步,DDOS攻击的底层逻辑:资源耗尽DDOS(Dist……

    2026年4月1日
    10600
  • 带宽流量怎么计算?带宽流量计算公式详解

    总流量=带宽×时间,单位需统一为比特或字节,实际应用中,需考虑峰值带宽、平均利用率、协议开销等因素,以下是详细计算方法和优化建议:基础计算公式带宽单位换算:1Gbps=1024Mbps,1Mbps=1024Kbps流量单位:1GB=1024MB,1MB=1024KB示例:100Mbps带宽运行1小时,理论流量……

    2026年3月5日
    12100
  • HTTPDNS哪家好?百度智能云HTTPDNS免费试用

    2026年HTTPDNS哪家好?综合稳定性、覆盖广度与性价比,阿里云、腾讯云和华为云是首选,其中阿里云在CDN联动上优势明显,腾讯云在泛娱乐场景表现优异,华为云则在政企安全合规方面更具竞争力,HTTPDNS作为解决传统DNS劫持、提升APP首屏加载速度的关键技术,已经成为移动互联网应用的基础设施,很多开发者在选……

    2026年6月5日
    5200
  • html网站发布难吗?如何快速发布html静态网站

    HTML网站发布的核心在于确保代码语义化规范、服务器配置正确及搜索引擎爬虫能顺畅抓取,这直接决定了网站在2026年百度算法下的收录效率与排名上限,很多站长在搭建好静态页面后,往往陷入“发了但没效果”的困境,HTML发布并非简单的文件上传,而是一场关于技术细节与用户体验的精密配合,2026年的百度SEO早已超越了……

    网络与线路 2026年6月6日
    4400
  • 深圳大带宽服务器一年费用怎么提前估算?,哪家便宜?

    深圳大带宽服务器一年费用并不是一个固定数字,它取决于带宽大小、线路类型、硬件配置和服务商定价策略,提前估算需要从业务需求出发,综合评估带宽、流量、IP和托管方式这四个核心变量,如果你正在为深圳地区的业务寻找大带宽服务器,最直接的方法是先确定日常峰值带宽和月均流量,再根据这些参数对比几家主流服务商的报价,下面我按……

    2026年8月10日
    600
  • WordPress主题模板去哪下载?优质免费主题模板推荐

    2026年WordPress主题下载首选官方WordPress.org及知名独立开发者平台,兼顾安全性、兼容性与正版授权,避免使用来源不明的破解资源以保障网站稳定,在数字化营销日益精细化的今天,选择一个合适的WordPress主题不再仅仅是为了“好看”,更是为了网站的速度、SEO表现以及长期的维护成本,许多站长……

    2026年6月24日
    1800
  • HTML展示图片的框怎么设置?html图片边框代码

    在HTML中展示图片最稳健的方式是使用语义化的<img>标签配合响应式CSS样式,通过设置max-width: 100%和height: auto确保图片在不同设备上自适应缩放,同时利用loading=”lazy”属性优化加载性能,很多初学者在搭建网页时,往往只关注图片能不能显示出来,却忽略了图片框……

    网络与线路 2026年6月9日
    2900
  • html链接另一个网站怎么设置?html超链接跳转代码

    通过HTML中的标签配合href属性,你可以轻松实现网页间跳转,这是构建网站导航和外部引用的最基础且核心的技术手段,在数字化营销和网站架构的宏大叙事中,链接不仅仅是代码片段,它是互联网这座巨型迷宫中的路标,对于绝大多数站长和内容创作者而言,掌握如何正确地编写一个指向外部网站的链接,是提升用户体验、优化搜索引擎排……

    2026年6月5日
    3200
  • 广州gpu服务器网络带宽1M怎么样?gpu服务器带宽多少才够用?

    广州GPU服务器配置1M带宽,对于绝大多数深度学习训练、大模型推理及高性能计算场景而言,性能严重不足,是典型的“小马拉大车”配置,极易成为系统性能瓶颈,但对于极少数仅用于代码调试、推理测试或本地计算为主的离线渲染场景,1M带宽可作为降低成本的临时过渡方案,判断广州gpu服务器网络带宽1M怎么样,核心在于厘清“计……

    2026年3月28日
    9700
  • 中小企业服务器带宽怎么选?服务器带宽选择建议与配置指南

    中小企业服务器带宽选择的核心逻辑在于“按需分配、适度冗余、动态调整”,切忌盲目追求高配造成成本浪费,也需避免带宽不足导致业务中断,最优策略是采用“基础带宽+峰值带宽”的混合计费模式,结合业务类型与用户规模进行精准测算,初期预留20%至30%的冗余空间以应对流量波动, 服务器带宽直接决定了用户访问的速度与体验,是……

    2026年3月8日
    13400

发表回复

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