首页主机资讯Debian下PostgreSQL配置指南

Debian下PostgreSQL配置指南

时间2025-10-15 15:10:03发布访客分类主机资讯浏览1365
导读:Debian下PostgreSQL配置指南 1. 安装PostgreSQL 首先更新系统包列表并安装PostgreSQL及其附加组件(postgresql-contrib包含额外工具和模块): sudo apt update sudo ap...

Debian下PostgreSQL配置指南

1. 安装PostgreSQL

首先更新系统包列表并安装PostgreSQL及其附加组件(postgresql-contrib包含额外工具和模块):

sudo apt update
sudo apt install postgresql postgresql-contrib

安装完成后,PostgreSQL服务会自动启动,可通过sudo systemctl status postgresql验证状态(显示“active (running)”即为正常)。

2. 初始配置:切换用户与修改默认密码

PostgreSQL默认以postgres系统用户运行,需切换至该用户执行初始配置:

sudo -i -u postgres

进入PostgreSQL交互终端(psql),修改postgres用户的默认密码(增强安全性):

ALTER USER postgres WITH PASSWORD 'your_secure_password';
    

输入\q退出psql终端。

3. 创建数据库与用户

3.1 创建数据库

psql中执行以下命令创建数据库(如mydb):

CREATE DATABASE mydb;
    

3.2 创建用户并授予权限

创建专用用户(如myuser)并设置密码,随后将数据库所有权授予该用户:

CREATE USER myuser WITH ENCRYPTED PASSWORD 'user_secure_password';
    
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
    

输入\q退出psql

4. 配置连接与认证

4.1 修改postgresql.conf(主配置文件)

postgresql.conf位于/etc/postgresql/< version> /main/目录(< version> 为PostgreSQL版本号,如14),需调整以下关键参数:

  • 允许远程连接:将listen_addresseslocalhost改为*(允许所有IP)或指定服务器IP(如192.168.1.100);
  • 设置端口:默认port = 5432(可根据需求修改,需确保防火墙开放该端口);
  • 调整最大连接数max_connections(默认100,根据服务器内存调整,如max_connections = 200)。

修改后需重启服务使更改生效:

sudo systemctl restart postgresql
```。


### 4.2 修改`pg_hba.conf`(客户端认证配置)
`pg_hba.conf`位于同一目录,用于控制客户端访问权限。需添加或修改规则以允许特定IP或网段连接:  
- **允许本地连接**(默认已存在,可保留):  
  `host    all             all             127.0.0.1/32            scram-sha-256`  
- **允许远程IP段连接**(如`192.168.1.0/24`):  
  `host    all             all             192.168.1.0/24          scram-sha-256`  

>
     注:`scram-sha-256`为更安全的密码认证方式,推荐替代旧的`md5`。修改后需重新加载配置:  
```bash
sudo systemctl reload postgresql
```。


## 5. 防火墙配置
若系统启用`ufw`防火墙,需允许PostgreSQL端口(默认5432)的流量:  
```bash
sudo ufw allow 5432/tcp

验证防火墙规则:

sudo ufw status

应显示“5432/tcp ALLOW”。

6. 测试连接

6.1 本地连接

使用psql命令行工具测试本地连接:

psql -U myuser -d mydb -h localhost

输入密码后,若出现mydb=> 提示符则表示连接成功。

6.2 远程连接

从远程机器使用相同命令测试(替换localhost为服务器IP):

psql -U myuser -d mydb -h 192.168.1.100

输入密码后成功连接则说明远程配置生效。

7. 可选:配置SSL加密(增强安全性)

若需加密客户端与服务器之间的通信,可按以下步骤配置SSL:

7.1 生成SSL证书与私钥

sudo mkdir -p /etc/postgresql/<
    version>
    /main/ssl
sudo openssl req -new -x509 -days 365 -nodes -text -subj "/CN=postgres" -out /etc/postgresql/<
    version>
    /main/ssl/server.crt -keyout /etc/postgresql/<
    version>
    /main/ssl/server.key
sudo chmod 600 /etc/postgresql/<
    version>
    /main/ssl/server.key

7.2 修改postgresql.conf启用SSL

ssl = on
ssl_cert_file = '/etc/postgresql/<
    version>
    /main/ssl/server.crt'
ssl_key_file = '/etc/postgresql/<
    version>
    /main/ssl/server.key'

7.3 重启服务

sudo systemctl restart postgresql

此时,客户端连接时需添加sslmode=require参数(如psql "sslmode=require host=192.168.1.100 dbname=mydb user=myuser password=user_secure_password")。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Debian下PostgreSQL配置指南
本文地址: https://pptw.com/jishu/727032.html
Debian系统PostgreSQL性能优化 怎样提高Linux系统运行速度

游客 回复需填写必要信息