CentOS 7 安装PostgreSQL 9.6-源码编译手札 – 记忆角落

CentOS 7 安装PostgreSQL 9.6-源码编译手札

/ 0评 / 1

CentOS 7 安装PostgreSQL 9.6-源码编译手札

1.准备编译环境

需要部署了离线yum

关闭防火墙,使用命令 systemctl status firewalld.service 查看防火墙状态

2.下载postgresql源码包

览器访问 https://www.postgresql.org/ftp/source/,选择对应版本,点击之后,下载对应的tar.gz源码包,然后将其上传到服务器指定路径。如下图所示:

image-20211201122628685

image-20211201122617035

3.解压postgresql源码包

输入解压命令,其中 -C后面的为解压缩后的路径:

tar -zxvf postgresql-9.6.24.tar.gz -C /data/bigdata/soft

4.编译安装

4.1安装基本编译工具包

yum install -y vim lrzsz tree wget gcc gcc-c++ readline-devel zlib-devel

4.2编译

./configure --prefix=/usr/local/postgresql

其中,--prefix=dir 可以指定安装目录

4.3安装

执行如下命令,进行编译安装(编译时间视机器性能而定,请耐心等待)

make && make install

如果看到如图下所示提示,则说明编译安装成功。

image-20211201124738468

5.相关配置

1.创建用户

root用户不能启动postgresql,所以需要创建一个普通用户来启动数据库.

useradd postgres
passwd postgres # GAjngiS0Elv$

2.设定权限

在postgresql目录下创建目录 data(数据库存储) 和 log(日志存储-可忽略,到时候默认在 数据盘的serverlog或者pg_log).

然后将postgresql的目录权限全部赋予给postgres用户。

# mkdir /usr/local/postgresql/data
mkdir -p /data/pg/data
ln -s /data/pg/data /usr/local/postgresql/data

# mkdir /data/pg/log
# ln -s /data/pg/pg_log /usr/local/postgresql/log
# mkdir /data/pg/data/pg_log
# ln -s /data/pg/data/pg_log /usr/local/postgresql/log

chown -R postgres:postgres /usr/local/postgresql
chown -R postgres:postgres /data/pg

3.配置环境变量(加入系统环境变量)

使用命令 vim /etc/profile 配置环境变量,最后追加如下内容:

export PGDATA=/data/pg/data
export PGHOME=/usr/local/postgresql
export PATH=$PGHOME/bin:$PATH

修改完成后,使用命令 source /etc/profile,使得配置生效。

4.初始化数据库

切换为 postgres 用户,初始化

su - postgres
/usr/local/postgresql/bin/initdb -D /data/pg/data/

注意:不能在 root 用户下初始数据库,否则会报错

5.编辑配置文件

vim /usr/local/postgresql/data/postgresql.conf 配置文件

listen_addresses = '*'
port = 5432

vim /usr/local/postgresql/data/pg_hba.conf 远程访问权限

host all all 0.0.0.0/0 md5
# host all all 127.0.0.1/32 md5
# host all all 127.0.0.1/32 md5

6.配置系统服务(root用户)

进入postgresql源码包的解压目录(cd /data/bigdata/soft/postgresql-9.6.24 )

执行命令 cp contrib/start-scripts/linux /etc/init.d/postgresql

然后 vim /etc/init.d/postgresql,进行配置修改,如下:

prefix=/usr/local/postgresql
PGDATA="/usr/local/postgresql/data"
PGUSER=postgres
# PGLOG="/usr/local/postgresql/log/pg_log.log"
# PGLOG="$PGDATA/serverlog"

然后使用命令 chmod +x /etc/init.d/postgresql,赋予该文件执行权限。

还可以使用命令chkconfig --add postgresql,设置服务开机自启。(是否自启动看需求)

7.启动及连接数据库

使用命令 service postgresql start(非root用户执行后需要输入postgres密码,root用户可以直接执行),启动数据库服务。

通过 ps -ef|grep postgres,查看postgres相关进程.

image-20211201133341244

登录数据库

psql -U postgres -d postgres

然后,使用 \password,设置postgres用户密码。

image-20211201133947064

或者使用这种方式设置postgres用户密码:

alter user postgres with password 'newpassword';

完毕...Centos 7 离线环境下源码编译安装PostgreSQL的全过程.

发表评论

您的电子邮箱地址不会被公开。