在 Ubuntu 26.04 上装 PostgreSQL 其实非常省心,官方源里就有稳定版本,不用额外加第三方仓库,几步就能跑起来。我直接按真实部署的流程写一遍,命令都能复制即用,编辑器默认用 vim,也包含了初始化、改密码、远程连接这些最常用的配置,适合自己搭服务、开发环境或者小型项目使用。
首先先更新一下软件源,保证装到最新的稳定版:
sudo apt update
sudo apt upgrade -y
然后直接安装 PostgreSQL 服务和客户端工具,系统源里自带的版本足够稳定,一般个人使用、小型项目完全够用:
sudo apt install postgresql postgresql-contrib -y
装完之后系统会自动启动、并设置开机自启。你可以看一下运行状态:
sudo systemctl status postgresql
正常会显示 active (running),端口默认是 5432。如果没启动,可以手动启动一下:
sudo systemctl start postgresql
sudo systemctl enable postgresql
PostgreSQL 安装好之后,会默认创建一个叫 postgres 的系统用户和数据库管理员用户,我们必须先切换过去才能操作数据库。
sudo -i -u postgres
进入后直接输入 psql 就能进入数据库命令行:
psql
这时候你已经在 pg 控制台里了。第一件事就是给默认管理员设置密码,不然后面用工具连接会报错:
\password postgres
输入两次密码就设置完成。想退出控制台可以用:
\q
然后退回普通用户:
exit
接下来很多人会需要远程连接,比如用 DBeaver、Navicat 之类的 GUI 工具,默认 PostgreSQL 只允许本地访问,我们需要改两个配置文件。
第一个是修改监听地址,让它监听所有 IP:
sudo vim /etc/postgresql/16/main/postgresql.conf
找到这一行:
listen_addresses = 'localhost'
改成:
listen_addresses = '*'
保存退出。
第二个是配置客户端访问权限:
sudo vim /etc/postgresql/16/main/pg_hba.conf
在文件底部找到类似这样的片段,在下面加一行,允许你的 IP 段访问(0.0.0.0/0 表示所有地址,生产环境不建议这么开放):
host all all 0.0.0.0/0 scram-sha-256
改完之后必须重启 PostgreSQL 才能生效:
sudo systemctl restart postgresql
如果你开了防火墙,记得放行 5432 端口:
sudo ufw allow 5432/tcp
sudo ufw reload
到这里 PostgreSQL 就已经完全可用了。日常常用的命令我也顺便整理一下,方便你直接用:
- 查看 PostgreSQL 状态
sudo systemctl status postgresql
- 重启服务
sudo systemctl restart postgresql
- 登录数据库
sudo -u postgres psql
- 创建新数据库
CREATE DATABASE mydb;
- 创建新用户并授权
CREATE USER myuser WITH ENCRYPTED PASSWORD 'mypassword';
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
整个过程在 Ubuntu 26.04 上非常顺畅,几乎不会遇到依赖问题,也不用编译、不用折腾第三方源。无论是开发测试、搭建后端服务、配合 Django/Node.js 都很合适,装好即用,稳定省心。