在CentOS上配置PostgreSQL数据库涉及多个步骤,包括安装、配置、安全设置和性能优化。以下是一个详细的指南:
更新系统:
sudo yum update -y
安装PostgreSQL:
sudo yum install -y postgresql-server postgresql-contrib
初始化数据库:
sudo /usr/pgsql/version/bin/postgresql-setup initdb
启动PostgreSQL服务并设置为开机自启动:
sudo systemctl start postgresql
sudo systemctl enable postgresql
编辑配置文件:
postgresql.conf
:设置监听地址、端口、最大连接数等。sudo vi /var/lib/pgsql/version/data/postgresql.conf
pg_hba.conf
:配置允许访问的主机和用户权限。sudo vi /var/lib/pgsql/version/data/pg_hba.conf
允许远程访问(可选):
编辑 pg_hba.conf
文件,添加允许远程访问的配置:
host all all 0.0.0.0/0 md5
然后重启PostgreSQL服务:
sudo systemctl restart postgresql
配置防火墙:
sudo firewall-cmd --permanent --add-port=5432/tcp
sudo firewall-cmd --reload
强化用户口令:
编辑 /etc/login.defs
文件,设置密码复杂度要求。
保护口令文件:
使用 chattr
命令给 /etc/passwd
, /etc/shadow
等文件加上不可更改属性:
sudo chattr +i /etc/passwd
sudo chattr +i /etc/shadow
设置root账户自动注销时限:
编辑 /etc/profile
文件,设置 TMOUT
参数:
export TMOUT=300
限制su命令:
编辑 /etc/pam.d/su
文件,限制只有特定组的用户才能使用 su
命令切换到root。
调整配置参数:
shared_buffers
:设置共享缓冲区大小。work_mem
:设置工作内存大小。maintenance_work_mem
:设置维护工作内存大小。effective_cache_size
:设置有效缓存大小。checkpoint_segments
:设置检查点段数。checkpoint_completion_target
:设置检查点完成目标。使用pgTune工具:
下载并运行 pgTune
工具分析数据库服务器的硬件配置和负载情况,生成优化建议。
使用pgBadger分析日志:
安装并使用 pgBadger
分析PostgreSQL日志文件,了解数据库性能瓶颈。
以上步骤涵盖了在CentOS上安装和配置PostgreSQL数据库的基本过程。根据你的具体需求,你可能需要进一步调整配置参数。