在Centos7上安装PostgreSQL16的详细步骤

文章目录

  • 环境
  • 一、准备
  • 二、postgresql下载
    • 方法一:wget下载
    • 方法二:下载压缩包
    • 解压
  • 三、创建用户组、用户
  • 四、创建数据主目录
  • 五、配置环境变量
  • 六、initdb初使化数据库
  • 七、配置服务
  • 八、设置开机自启动
  • 九、设置防火墙
  • 十、启动数据库服务


环境

CPU: 4 核心或以上
内存: 8 GB 或以上
硬盘: 50 GB 或更多的
SSD 空间 网络: 1 Gbps


一、准备

1.安装依赖包

yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmake

2.安装ICU库

yum install -y libicu libicu-devel

3.创建目录

mkdir /soft
mkdir -p /opt/pgsql/postgresql

二、postgresql下载

下载到soft目录下

cd /soft/

方法一:wget下载

yum -y install wget
yum install -y ca-certificates
wget https://ftp.postgresql.org/pub/source/v16.3/postgresql-16.3.tar.gz

方法二:下载压缩包

下载地址:https://www.postgresql.org/ftp/source/v16.3/

在这里插入图片描述

解压

先将文件夹解压

tar -zxvf postgresql-16.3.tar.gz

进入解压后的文件夹

cd postgresql-16.3
ls

编译postgresql源码

./configure --prefix=/opt/pgsql/postgresql

源码编译安装

make
make install

三、创建用户组、用户

groupadd postgres
useradd -g postgres postgres

在这里插入图片描述

四、创建数据主目录

cd /opt/pgsql/postgresql
mkdir data
chown postgres:postgres data

在这里插入图片描述

五、配置环境变量

进入home/postgres目录找到.bash_profile文件

cd /home/postgres/
ls -la

打开.bash_profile

vi .bash_profile

在.bash_profile中添加:

export PGHOME=/opt/pgsql/postgresql
export PGDATA=$PGHOME/data
export PATH=$PATH:$HOME/bin:$PGHOME/bin

请添加图片描述

使环境变量生效

source .bash_profile

六、initdb初使化数据库

切换用户到postgres并使用initdb初使化数据库

su - postgres
initdb

在这里插入图片描述
在这里插入图片描述

七、配置服务

修改/opt/pgsql/postgresql/data目录下postgresql.conf文件

cd /opt/pgsql/postgresql/data
vi postgresql.conf

在这里插入图片描述

修改/opt/pgsql/postgresql/data目录下pg_hba.conf 文件

vi pg_hba.conf

在这里插入图片描述

八、设置开机自启动

添加linux文件属性并复制到/etc/init.d目录下,更名为postgresql然后修改/etc/init.d/postgresql文件的两个变量

su root
cd /soft/postgresql-16.3/contrib/start-scripts
chmod a+x linux
cp linux /etc/init.d/postgresql
vi /etc/init.d/postgresql

在这里插入图片描述

设置postgresql服务开机自启动

chkconfig --add postgresql
chkconfig

在这里插入图片描述

九、设置防火墙

安装依赖包设置防火墙添加postgresql服务到防火墙,并加载

yum -y install firewalld
systemctl start firewalld
systemctl status firewalld
firewall-cmd --permanent --zone=public --add-service=postgresql
firewall-cmd --reload

在这里插入图片描述

十、启动数据库服务

启动PostgreSQL服务并测试

service postgresql start
ps -ef | grep postgres
su - postgres
psql

在这里插入图片描述


上一篇:代码随想录算法训练营第五十六天 | 图论理论基础、深搜理论基础、98. 所有可达路径、797. 所有可能的路径、广搜理论基础、复习


下一篇:Web 安全:OWASP TOP10 漏洞介绍