Ubuntu 24.04 安装 PostgreSQL
以下是 Ubuntu 24.04 安装 PostgreSQL 的详细步骤,包含官方源安装(推荐,稳定)、基础配置、验证测试及常见问题处理,适合新手快速上手:
详细介绍在 Ubuntu 24.04 系统上通过官方源安装 PostgreSQL 的完整流程。涵盖系统更新、服务安装与状态检查、基础配置(超级用户密码设置、远程访问权限开放)、常用数据库操作命令示例,以及卸载方法和常见连接故障排查方案,帮助开发者快速搭建数据库环境。

以下是 Ubuntu 24.04 安装 PostgreSQL 的详细步骤,包含官方源安装(推荐,稳定)、基础配置、验证测试及常见问题处理,适合新手快速上手:
Ubuntu 24.04 官方仓库已内置 PostgreSQL(通常是 16 或 17 版本,足够满足大多数场景),安装步骤最简单,无需额外添加第三方源。
首先更新系统包索引,确保安装最新依赖:
sudo apt update && sudo apt upgrade -y
安装核心服务(postgresql)和命令行客户端(postgresql-client):
sudo apt install postgresql postgresql-client -y
postgres(数据库超级管理员)postgres确认 PostgreSQL 服务已正常运行:
sudo systemctl status postgresql
active (exited) 或 active (running)(不同版本状态可能略有差异)。sudo systemctl start postgresqlsudo systemctl enable postgresqlPostgreSQL 默认采用 peer 认证(本地系统用户与数据库用户同名即可登录),无需密码。
postgres 系统用户登录# 切换到 postgres 系统用户(无密码,直接切换)
sudo -u postgres -i
# 登录 PostgreSQL 数据库(此时已切换到 postgres 用户,直接输入 psql)
psql
sudo -u postgres psql
登录成功后,终端提示符会变为 postgres=#(表示当前在 postgres 数据库中,且为超级管理员权限)。
默认配置下,postgres 用户无密码,且仅允许本地登录。建议做以下配置:
postgres 超级用户设置密码在 postgres=# 命令行中执行:
ALTER USER postgres WITH PASSWORD '你的强密码';-- 替换为实际密码(建议包含大小写、数字、符号)
执行成功后,输出 ALTER ROLE。
\q -- 退出 psql 命令行
exit -- 退出 postgres 系统用户(若之前切换了用户)
若需要从其他电脑连接该 PostgreSQL 服务,需修改 2 个配置文件:
postgresql.conf)找到 listen_addresses 配置项,默认是 localhost(仅本地监听),改为 *(监听所有网卡):
listen_addresses = '*' -- 去掉前面的 # 注释,值改为 *
找到配置文件路径(Ubuntu 24.04 默认路径):
sudo nano /etc/postgresql/16/main/postgresql.conf -- 16 是版本号,若安装的是 17 则改为 17
保存退出:按 Ctrl+O → 回车 → Ctrl+X。
pg_hba.conf)scram-sha-256 是 PostgreSQL 14+ 推荐的加密认证方式,兼容密码登录。在文件末尾添加一行(允许所有 IP 以密码方式访问,生产环境建议限制具体 IP):
# IPv4 访问
host all all 0.0.0.0/0 scram-sha-256
# IPv6 访问(可选)
host all all ::/0 scram-sha-256
编辑访问控制文件:
sudo nano /etc/postgresql/16/main/pg_hba.conf
保存退出(Ctrl+O → 回车 → Ctrl+X)。
sudo systemctl restart postgresql
PostgreSQL 默认端口是 5432,需允许外部访问:
sudo ufw allow 5432/tcp -- 允许 TCP 5432 端口
sudo ufw reload -- 重载防火墙规则
# 1. 登录 postgres 超级用户
sudo -u postgres psql
# 2. 创建新用户(例如:user1,带密码)
CREATE USER user1 WITH PASSWORD 'user1 的密码';
# 3. 创建新数据库(例如:db1),并指定所有者为 user1
CREATE DATABASE db1 OWNER user1;
# 4. 授予 user1 对 db1 的所有权限(可选)
GRANT ALL PRIVILEGES ON DATABASE db1 TO user1;
# 5. 退出
\q
# 本地登录(需先创建同名系统用户,或修改认证方式为密码)
psql -U user1 -d db1 -h localhost
# 远程登录(需配置远程访问后)
psql -U user1 -d db1 -h 服务器 IP 地址 -p 5432
\l -- 在 psql 命令行中执行,列出所有数据库
\c db1 -- 切换到 db1 数据库
若需卸载,执行以下命令(彻底删除服务和数据):
# 停止服务
sudo systemctl stop postgresql
# 卸载软件包
sudo apt purge postgresql postgresql-client -y
# 删除残留配置和数据(谨慎!会删除所有数据库)
sudo rm -rf /etc/postgresql/
sudo rm -rf /var/lib/postgresql/
sudo userdel -r postgres -- 删除 postgres 系统用户
could not connect to server: Connection refusedlisten_addresses = '*')pg_hba.conf 是否允许远程 IP 访问sudo ufw status 查看)postgres 密码sudo systemctl stop postgresqlsudo -u postgres postgres --single -D /var/lib/postgresql/16/main/ALTER USER postgres WITH PASSWORD '新密码';Ctrl+D 退出,重启服务:sudo systemctl start postgresql登录报错:Peer authentication failed for user "postgres"
原因:本地认证方式为 peer(需系统用户与数据库用户同名),解决方案:
编辑 pg_hba.conf,将 local all all peer 改为 local all all md5(密码认证),然后重启服务:
sudo nano /etc/postgresql/16/main/pg_hba.conf -- 修改后重启
sudo systemctl restart postgresql
通过以上步骤,即可在 Ubuntu 24.04 上完成 PostgreSQL 的安装、配置和基础使用。
如果需要安装最新版本(如 PostgreSQL 17/18),可参考 PostgreSQL 官方文档 添加官方源后安装。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
在线格式化和美化您的 SQL 查询(它支持各种 SQL 方言)。 在线工具,SQL 美化和格式化在线工具,online
解析 INSERT 等受限 SQL,导出为 CSV、JSON、XML、YAML、HTML 表格(见页内语法说明)。 在线工具,SQL转CSV/JSON/XML在线工具,online
CSV 与 JSON/XML/HTML/TSV/SQL 等互转,单页多 Tab。 在线工具,CSV 工具包在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online