Linux CentOS7 PostgreSQL 11.11 安装部署

检查环境,如果缺失提前离线安装好

1
rpm -qa | grep gcc-c++

 
 
挑选心仪的版本

1
2
https://www.postgresql.org/ftp/source/
wget https://ftp.postgresql.org/pub/source/v11.11/postgresql-11.11.tar.gz

 
 
解压源码包

1
tar -zxf postgresql-11.11.tar.gz

 
 
指定安装目录,检查如果中断需要补充相关依赖包

1
2
cd postgresql-11.11
./configure --prefix=/opt/postgresql

 
 
安装

1
2
make
make install

 
 
创建数据库和日志目录

1
2
mkdir -p /opt/postgresql/data
mkdir -p /opt/postgresql/log

 
 
添加用户组与用户

1
2
3
groupadd postgres
useradd -g postgres postgres
passwd postgres

 
 
把软件目录权限赋予新用户

1
chown -R postgres:postgres /opt/postgresql

 
 
添加环境变量,并生效

1
2
3
export PGDATA=/opt/postgresql/data
export PGHOME=/opt/postgresql
export PATH=$PGHOME/bin:$PATH

 
 
初始化数据库

1
initdb

 
 
修改数据库连接配置

1
2
3
vim data/pg_hba.conf
#IPv4 local connections:
host all all 0.0.0.0/0 md5

 
 
设置远程连接和默认端口

1
2
3
vim data/postgresql.conf
listen_addresses = '*'
port = 5432

 
 
关闭防火墙

1
systemctl stop firewalld

 
 
拷贝源码包的启动脚本,配置系统服务

1
2
cp postgresql-11.11/contrib/start-scripts/linux /etc/init.d/postgresql
vim /etc/init.d/postgresql
1
2
3
4
5
6
7
8
#Installation prefix
prefix=/opt/postgresql
#Data directory
PGDATA="/opt/postgresql/data"
#Who to run the postmaster as, usually "postgres". (NOT "root")
PGUSER=postgres
#Where to keep a log file
PGLOG="/opt/postgresql/log/serverlog"

 
 
给脚本赋予执行权限

1
chmod +x /etc/init.d/postgresql

 
 
启动数据库服务

1
2
service postgresql start
ps -ef | grep postgres

 
 
本地连接,修改密码

1
2
3
su - postgres
psql
\password