Centos7离线编译安装Postgresql9.6

其实如果能联网的话,就是几条命令搞定的事情,不用担心依赖缺失什么的。可是有时候就是需要在离线的机子上安装Postgresql,rpm包虽然说可以用yumdownloader下载下来,但是有时候不好使,下载不全导致各种依赖缺失,编译安装相对好使一点。
源码下载可以到这里:https://www.postgresql.org/ftp/source/

编译安装

#创建用户和组
groupadd postgres
useradd -g postgres postgres

#删除原有安装
yum remove postgresql*

#解压
tar zxvf postgresql-9.3.2.tar.gz
cd postgresql-9.3.2

#配置
./configure --prefix=/usr/local/postgresql --without-readline

#编译安装
make && make install

#安装contrib目录下的一些工具,是第三方组织的一些工具代码,建议安装
cd /usr/local/postgresql-9.3.2/contrib
make && make install

#添加环境变量,并使之生效(初级用户请自行学习设置)
export PATH=/usr/local/postgresql/bin:$PATH

#建postgres数据库的目录
mkdir -p /var/postgresql/data
chown postgres:postgres /var/postgresql -R
chown postgres:postgres /usr/local/postgresql -R

#切换用户
su postgres

#初始化数据库
initdb -D /var/postgresql/data

#启动服务
pg_ctl -D /var/postgresql/data -l /var/postgresql/logfile start

#进入pg
psql

#修改用户postgres密码
ALTER USER postgres WITH PASSWORD 'root';

#退出
\q

修改客户端认证配置文件pg_hba.conf,将需要远程访问数据库的IP地址或地址段加入该文件
vi /var/postgresql/data/pg_hba.conf

设置监听整个网络,查找“listen_addresses ”字符串,
vi /var/postgresql/data/postgresql.conf

重启服务

pg_ctl -D /var/postgresql/data -l /var/postgresql/logfile restart

源码安装开机服务

设置PostgreSQL开机自启动 ,PostgreSQL的开机自启动脚本位于PostgreSQL源码目录的contrib/start-scripts路径下 ,这个路径是安装包解压完的路径。

linux文件即为linux系统上的启动脚本
1)修改linux文件属性,添加X属性
exit
切换到root用户
cd /opt/postgresql-9.3.2/contrib/start-scripts/ 切换到解压目录下
chmod a+x linux
2) 复制linux文件到/etc/init.d目录下,更名为postgresql
cp linux /etc/init.d/postgresql

3)修改/etc/init.d/postgresql文件的两个变量
vi /etc/init.d/postgresql
prefix设置为postgresql的安装路径:prefix=/usr/local/postgresql
PGDATA设置为postgresql的数据目录路径:PGDATA="/var/postgresql/data"

  1. 执行service postgresql start,就可以启动PostgreSQL服务
    service postgresql start

5)设置postgresql服务开机自启动
chkconfig --add postgresql

参考文章

https://www.cnblogs.com/zhoulf/p/4040768.html
http://www.jb51.net/article/97923.htm

posted @ 2018-03-24 15:06  Gin.p  阅读(115)  评论(0)    收藏  举报