Ubuntu中PostgreSQL配置步骤是什么
Ubuntu中PostgreSQL配置步骤
1. 安装PostgreSQL及contrib组件
首先更新系统软件包列表,然后通过apt安装PostgreSQL服务器和contrib工具包(包含额外实用工具如pg_dump、pg_restore等):
sudo apt update
sudo apt install postgresql postgresql-contrib
安装完成后,PostgreSQL服务会自动启动,且默认创建postgres系统用户(对应数据库超级用户)和postgres数据库。
2. 启动PostgreSQL服务并设置开机自启
使用systemctl命令管理服务状态:
# 启动PostgreSQL服务
sudo systemctl start postgresql
# 设置开机自动启动
sudo systemctl enable postgresql
# 验证服务状态(显示"active (running)"即为成功)
sudo systemctl status postgresql
3. 配置PostgreSQL监听地址(允许远程访问)
默认情况下,PostgreSQL仅监听本地连接(localhost)。需修改postgresql.conf文件开启远程监听:
# 编辑配置文件(路径随版本变化,如16版本为/etc/postgresql/16/main/postgresql.conf)
sudo nano /etc/postgresql/<
version>
/main/postgresql.conf
找到listen_addresses参数,将其修改为'*'(允许所有IP连接)或指定具体IP(如'192.168.1.100'):
listen_addresses = '*'
保存并退出编辑器。
4. 配置客户端认证(允许密码登录)
编辑pg_hba.conf文件(位于同一目录),添加允许远程连接的认证规则:
sudo nano /etc/postgresql/<
version>
/main/pg_hba.conf
在文件末尾添加以下内容(md5表示使用密码认证,0.0.0.0/0允许所有IP;生产环境建议限制为特定IP段,如192.168.1.0/24):
host all all 0.0.0.0/0 md5
保存并退出。
5. 重启PostgreSQL服务使配置生效
sudo systemctl restart postgresql
可通过sudo systemctl status postgresql确认服务是否正常重启。
6. 设置数据库用户密码
默认情况下,postgres用户无密码。需通过psql命令修改密码:
# 切换到postgres用户
sudo -u postgres psql
在psql命令行中,执行以下命令(将your_password替换为强密码):
ALTER USER postgres WITH ENCRYPTED PASSWORD 'your_password';
输入\q退出psql。
7. 创建数据库和用户
7.1 创建数据库
# 切换到postgres用户
sudo -u postgres psql
在psql中执行:
CREATE DATABASE mydatabase OWNER myuser;
-- 创建数据库并指定所有者(可选)
或直接创建(无指定所有者):
CREATE DATABASE mydatabase;
输入\q退出。
7.2 创建普通用户并授权
# 切换到postgres用户
sudo -u postgres psql
创建用户并设置密码:
CREATE USER myuser WITH ENCRYPTED PASSWORD 'mypassword';
授予用户对数据库的所有权限:
GRANT ALL PRIVILEGES ON DATABASE mydatabase TO myuser;
退出psql。
8. 验证连接
使用新创建的用户连接数据库(本地测试):
psql -U myuser -d mydatabase -h localhost
输入密码后,若成功进入psql命令行(显示mydatabase=>
),则配置成功。
9. 安全增强(可选但推荐)
- 配置防火墙:若系统启用
ufw,放行PostgreSQL默认端口(5432):sudo ufw allow 5432/tcp - 限制IP访问:修改
pg_hba.conf中的host规则,仅允许特定IP段连接(如192.168.1.0/24)。
以上步骤覆盖了Ubuntu环境下PostgreSQL的基础配置,包括安装、远程访问、用户管理及安全设置。根据实际需求,可进一步调整配置文件(如postgresql.conf中的max_connections、shared_buffers等参数)以优化性能。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu中PostgreSQL配置步骤是什么
本文地址: https://pptw.com/jishu/738221.html
