ubuntu 安装 postgresql
在 Ubuntu 系统中安装 PostgreSQL 的步骤如下:
步骤 1:更新软件包列表
sudo apt update
步骤 2:安装 PostgreSQL
Ubuntu 默认仓库包含 PostgreSQL,直接安装:
sudo apt install postgresql postgresql-contrib -y
postgresql-contrib 包含附加功能模块(可选但推荐)。
步骤 3:验证服务状态
安装完成后,PostgreSQL 服务会自动启动。检查状态:
sudo systemctl status postgresql
正常输出应显示 active (running)。
步骤 4:设置开机自启
sudo systemctl enable postgresql
步骤 5:配置 PostgreSQL
- 登录 PostgreSQL
默认管理员用户为 postgres。切换用户并进入数据库命令行:
sudo -u postgres psql
- 修改管理员密码
在 psql 命令行中:
ALTER USER postgres WITH PASSWORD 'your_password';
\q # 退出
- 创建新用户和数据库
# 创建新用户
sudo -u postgres createuser --interactive
# 根据提示输入用户名,并选择是否为超级用户
# 创建新数据库
sudo -u postgres createdb mydb
# 赋予用户权限(通过 psql)
sudo -u postgres psql
\c mydb # 连接到数据库
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
步骤 6:允许远程访问(可选)
修改配置文件:
sudo nano /etc/postgresql/<版本>/main/postgresql.conf
找到 listen_addresses 并修改为:
listen_addresses = '*' # 允许所有 IP 连接
配置客户端认证:
sudo nano /etc/postgresql/<版本>/main/pg_hba.conf
添加一行允许远程访问(示例允许所有 IP 通过密码访问):
host all all 0.0.0.0/0 scram-sha-256
重启服务:
sudo systemctl restart postgresql
步骤 7:防火墙配置(可选)
开放默认端口 5432:
sudo ufw allow 5432/tcp
sudo ufw reload
常见问题解决
1. 忘记 postgres 用户密码
停止 PostgreSQL 服务:
sudo systemctl stop postgresql
启动单用户模式:
sudo -u postgres psql --single -d postgres
重置密码:
ALTER USER postgres WITH PASSWORD 'new_password';
\q
重启服务:
sudo systemctl start postgresql
2. 连接被拒绝
检查 postgresql.conf 和 pg_hba.conf 配置是否正确。
查看日志文件:
sudo tail -n 50 /var/log/postgresql/postgresql-<版本>-main.log
扩展说明
1. 安装最新版本
若需安装官方最新版(如 PostgreSQL 16):
添加 PostgreSQL 官方仓库:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
更新并安装:
sudo apt update
sudo apt install postgresql-16 -y
2. 完全卸载 PostgreSQL
sudo apt purge postgresql*
sudo rm -rf /etc/postgresql/ /var/lib/postgresql/
sudo apt autoremove
后续操作建议
备份与恢复:
# 备份数据库
sudo -u postgres pg_dump mydb > mydb_backup.sql
# 恢复数据库
sudo -u postgres psql -d mydb -f mydb_backup.sql
图形化管理工具:安装 pgAdmin4 或使用 DBeaver。
性能优化:调整 postgresql.conf 中的 shared_buffers 和 work_mem。
通过以上步骤,你可以在 Ubuntu 系统上快速部署并配置 PostgreSQL 数据库。