HCRM博客

如何在CentOS系统上安装PostgreSQL数据库?

在CentOS系统上部署PostgreSQL数据库是许多开发者和管理员的基础需求,本文将提供一份清晰的操作指南,帮助用户快速完成安装与基础配置,同时兼顾安全性与性能优化。

环境准备

如何在CentOS系统上安装PostgreSQL数据库?-图1

开始前,请确保系统已更新至最新版本,执行以下命令同步软件源并升级现有组件

  • sudo yum update -y

若系统为CentOS 8或更高版本,可使用dnf替代yum以获得更高效的包管理支持。

添加官方存储库

为获取最新稳定版PostgreSQL,推荐通过官方仓库安装,以下命令将为CentOS 7系统添加PostgreSQL 15的仓库配置:

  • sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

CentOS 8用户需将链接中的EL-7替换为EL-8,完成仓库配置后,清理缓存并重新生成元数据:

  • sudo yum clean all
  • sudo yum makecache

安装核心组件

如何在CentOS系统上安装PostgreSQL数据库?-图2

执行以下命令安装PostgreSQL服务端及常用工具包:

  • sudo yum install -y postgresql15-server postgresql15-contrib

postgresql-contrib包含扩展功能模块,建议安装以支持更多高级特性。

初始化数据库集群

软件包安装完成后,需初始化数据库存储结构,选择适合的初始化命令:

  • sudo /usr/pgsql-15/bin/postgresql-15-setup initdb

该操作将在/var/lib/pgsql/15/data目录生成默认配置文件和数据库模板。

启动与启用服务

如何在CentOS系统上安装PostgreSQL数据库?-图3

通过systemctl激活PostgreSQL服务并设为开机启动:

  • sudo systemctl enable postgresql-15
  • sudo systemctl start postgresql-15

使用systemctl status postgresql-15可验证服务运行状态,正常输出应包含"active (running)"字样。

配置访问权限

修改客户端认证配置文件以允许远程连接:

  • sudo vi /var/lib/pgsql/15/data/pg_hba.conf

在文件末尾追加规则(示例允许特定网段通过MD5加密密码连接):

  • host all all 192.168.1.0/24 md5

调整监听地址以接受外部请求:

  • sudo vi /var/lib/pgsql/15/data/postgresql.conf

修改listen_addresses参数为:

  • listen_addresses = '*'

完成修改后重启服务使配置生效:

  • sudo systemctl restart postgresql-15

防火墙设置

若系统启用了firewalld,需开放默认端口5432:

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

创建管理账户

切换到postgres系统账户并进入SQL控制台:

  • sudo -i -u postgres
  • psql

执行SQL命令创建新用户并授权(示例创建用户adminuser):

  • CREATE USER adminuser WITH PASSWORD 'StrongPassword123!';
  • ALTER USER adminuser CREATEDB SUPERUSER;

强烈建议为生产环境账户启用复杂密码策略,避免使用弱密码。

数据库维护建议

1、定期执行VACUUM命令回收存储空间

2、使用pg_dump进行逻辑备份:

  • pg_dump -U username dbname > backup.sql

3、监控日志文件/var/lib/pgsql/15/data/log/postgresql-*.log排查异常

4、每季度检查官方安全公告,及时应用补丁更新

性能调优提示

- 根据内存容量调整shared_buffers参数(建议物理内存的25%)

- 设置work_mem优化复杂查询(通常4MB-16MB)

- 启用并行查询需配置max_worker_processes

- 使用EXPLAIN ANALYZE分析查询计划

当遇到连接数不足问题时,可修改max_connections参数并同步调整kernel.shmallkernel.shmmax内核参数,建议配合监控工具如pgAdmin或Zabbix实时掌握数据库运行状态。

常见问题排查:若遇到"could not connect to server"错误,首先检查服务状态与防火墙设置,其次确认pg_hba.conf中对应客户端的认证规则优先级,通过tail -f命令实时查看日志可快速定位连接失败原因。

掌握这些核心操作后,用户已具备在CentOS环境部署PostgreSQL的基础能力,实际生产环境中,还需结合业务场景设计备份策略、复制方案和灾难恢复机制,建议从官方文档获取最新安全建议,持续优化数据库运行效率。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/32778.html

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
请登录后评论...
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~