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"
- 执行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

浙公网安备 33010602011771号