CentOS 7 安装PostgreSQL 9.6-源码编译手札
1.准备编译环境
需要部署了离线yum
关闭防火墙,使用命令 systemctl status firewalld.service
查看防火墙状态
2.下载postgresql源码包
览器访问 https://www.postgresql.org/ftp/source/,选择对应版本,点击之后,下载对应的tar.gz源码包,然后将其上传到服务器指定路径。如下图所示:
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
如果看到如图下所示提示,则说明编译安装成功。
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相关进程.
登录数据库
psql -U postgres -d postgres
然后,使用 \password
,设置postgres用户密码。
或者使用这种方式设置postgres用户密码:
alter user postgres with password 'newpassword';
完毕...Centos 7 离线环境下源码编译安装PostgreSQL的全过程.