【保姆级教程-Centos7环境下部署postgresql15并设置开机自启】
目录
- 1. 依赖安装
- 1.1 下载必要依赖包
- 1.2 安装依赖包
- 2. 官方仓库配置
- 3. PostgreSQL安装
- 3.1 标准安装命令
- 3.2 特殊场景安装(仓库冲突时)
- 4. 数据库初始化
- 5. 服务管理
- 6. 环境配置
- 6.1 配置环境变量
- 6.2 验证安装
- 7. 初始化数据库
- 8. 远程访问配置
- 8.1 修改监听地址
- 8.2 配置访问控制
- 8.3 重启服务
- 9. 连接测试
- 10. 故障排除
1. 依赖安装
1.1 下载必要依赖包
wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libzstd-1.5.2-1.el7.x86_64.rpm
wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/llvm5.0-{devel,libs,5.0.1-7.el7}.x86_64.rpm
1.2 安装依赖包
yum install -y ./libzstd-1.5.2-1.el7.x86_64.rpm
yum install -y centos-release-scl-rh llvm5*
yum install -y epel-release
2. 官方仓库配置
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
3. PostgreSQL安装
3.1 标准安装命令
yum install -y postgresql15-server postgresql15-devel
3.2 特殊场景安装(仓库冲突时)
yum install -y --disablerepo=centos-sclo-rh \--skip-broken postgresql15-server postgresql15-devel
4. 数据库初始化
/usr/pgsql-15/bin/postgresql-15-setup initdb
5. 服务管理
# 开机自启
systemctl enable postgresql-15# 服务控制
# 开机启动|启动|重启|状态|停止 命令
systemctl enable postgresql-15
systemctl start postgresql-15
systemctl restart postgresql-15
systemctl status postgresql-15
systemctl stop postgresql-15
6. 环境配置
6.1 配置环境变量
echo '#PGSQL_HOME
export PGSQL_HOME=/usr/pgsql-15
export PATH=$PATH:$PGSQL_HOME/bin' >> /etc/profile
source /etc/profile
6.2 验证安装
psql --version
7. 初始化数据库
psql -c "CREATE DATABASE test_db;" -U postgres
psql -c "ALTER USER postgres WITH PASSWORD 'postgres';" -U postgres
8. 远程访问配置
8.1 修改监听地址
vim /var/lib/pgsql/15/data/postgresql.conf
修改参数:
listen_addresses = '*'
8.2 配置访问控制
vim /var/lib/pgsql/15/data/pg_hba.conf
# 添加内容
host all all 0.0.0.0/0 md5
8.3 重启服务
systemctl restart postgresql-15
9. 连接测试
psql -h <主机IP> -p 5432 -U postgres -d test_db -W
10. 故障排除
yum install -y postgresql15-server postgresql15-devel
报错:已加载插件:fastestmirror, langpacks
Repository pgdg15 is listed more than once in the configuration
Loading mirror speeds from cached hostfile
Could not retrieve mirrorlist http://mirrorlist.centos.org?arch=x86_64&release=7&repo=sclo-rh error was
14: curl#6 - “Could not resolve host: mirrorlist.centos.org; 未知的错误”
解决方法:
临时禁用有问题的仓库
yum install -y --disablerepo=centos-sclo-rh postgresql15-server postgresql15-devel
yum install -y --disablerepo=centos-sclo-rh postgresql15-server postgresql15-devel
报错:错误:软件包:postgresql15-devel-15.12-1PGDG.rhel7.x86_64 (pgdg15)
需要:llvm-toolset-7-clang >= 4.0.1
您可以尝试添加 --skip-broken 选项来解决该问题
您可以尝试执行:rpm -Va --nofiles --nodigest
解决方法:
yum install -y --disablerepo=centos-sclo-rh --skip-broken postgresql15-server postgresql15-devel