文章目录
- 环境
- 一、准备
- 二、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