温馨提示×

PostgreSQL在CentOS中的配置技巧

小樊
32
2025-11-28 03:10:05
栏目: 云计算

在CentOS中配置PostgreSQL可以按照以下步骤进行:

1. 安装PostgreSQL

首先,确保你的CentOS系统是最新的:

sudo yum update -y

然后,安装PostgreSQL:

sudo yum install postgresql-server postgresql-contrib -y

2. 初始化数据库

安装完成后,初始化数据库集群:

sudo postgresql-setup --initdb

3. 启动和启用PostgreSQL服务

启动PostgreSQL服务并设置为开机自启:

sudo systemctl start postgresql
sudo systemctl enable postgresql

4. 配置防火墙

如果你使用的是firewalld,需要打开PostgreSQL的默认端口5432:

sudo firewall-cmd --permanent --add-port=5432/tcp
sudo firewall-cmd --reload

5. 创建数据库和用户

以postgres用户身份登录到PostgreSQL:

sudo -u postgres psql

在psql命令行中,创建一个新的数据库和用户:

CREATE DATABASE mydatabase;
CREATE USER myuser WITH ENCRYPTED PASSWORD 'mypassword';
GRANT ALL PRIVILEGES ON DATABASE mydatabase TO myuser;
\q

6. 配置pg_hba.conf

编辑/var/lib/pgsql/data/pg_hba.conf文件,添加或修改以下行以允许远程连接(如果需要):

# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    all             all             0.0.0.0/0               md5

7. 配置postgresql.conf

编辑/var/lib/pgsql/data/postgresql.conf文件,确保以下参数设置正确:

listen_addresses = '*'  # 允许所有IP连接
port = 5432              # PostgreSQL默认端口
max_connections = 100    # 最大连接数
shared_buffers = 25%     # 共享缓冲区大小
work_mem = 4MB           # 工作内存大小
maintenance_work_mem = 128MB  # 维护操作内存大小
effective_cache_size = 75%  # 有效缓存大小
wal_level = replica      # 如果需要复制功能,设置为replica

8. 重启PostgreSQL服务

应用配置更改后,重启PostgreSQL服务:

sudo systemctl restart postgresql

9. 测试连接

从另一台机器上测试连接:

psql -h your_server_ip -U myuser -d mydatabase

输入密码后,如果成功连接,说明配置正确。

10. 安全加固

  • 限制连接数:根据服务器资源调整max_connections
  • 使用SSL:配置SSL证书以加密数据传输。
  • 定期备份:设置定期备份策略,确保数据安全。

通过以上步骤,你可以在CentOS系统中成功配置PostgreSQL,并根据需要进行进一步的优化和安全加固。

0