码迷,mamicode.com
首页 > 数据库 > 详细

Redhat 7.2 编译安装PostgreSQL 10

时间:2018-07-14 16:48:01      阅读:551      评论:0      收藏:0      [点我收藏+]

标签:postgresq   file   listen   conf   art   data   ash   图片   问控制   

1.环境说明

CentOS7.2
postgresql10.4

2.下载

postgresql的官方地址
 https://www.postgresql.org/ftp/source/
在下载列表中根据需求选择版本10.4,如下图:

技术分享图片

进入子目录后,可以看到文件列表:

技术分享图片

选择postgresql-10.4.tar.gz,下载完成后上传至RedHat服务器的指定目录即可。

3.配置编译安装

tar -zxvf postgresql-10.4.tar.gz

cd postgresql-10.4

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

编译postgres,发现提示缺少readline库,如下图:

技术分享图片

yum search readline

发现一个readline-devel包

yum install readline-devel
重新配置
./configure --prefix=/usr/local/postgresq
没报错 编译安装
make && make install

4.配置用户权限与环境变量

useradd postgres

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

su - postgres

vi ~/.bash_profile

PGHOME=/usr/local/postgresql
export PGHOME

PGDATA=/usr/local/postgresql/data
export PGDATA

PATH=$PATH:$HOME/.local/bin:$HOME/bin:$PGHOME/bin
修改完成后可以通过source ./.bash_profile使其立即生效
source ~/.bash_profile

技术分享图片

5.初始化数据库

###在使用initdb进行初始化的同时我们可以指定参数来同时进行一些初始化工作,例如指定pgdata(postgresql数据目录)、
指定encoding(编码)、指定数据库超级用户的用户名和密码等等,在最后面我标记出的这段话指出了如果data目录没有指定,
则会默认使用环境变量中的PGDATA,由于之前我们刚刚设置了PGDATA环境变量,所以此处我们也就无需再额外指定,最后执行
初始化命令即可:

initdb

技术分享图片

初始化完成后,在postgresql的目录可以看到生成的数据目录data以及该目录的相关数据和配置文件:

技术分享图片

#base目录是表空间目录
#global目录是相关全局变量的目录
#pg_hba.conf:访问控制配置(127.0.0.1改为信任的客户端ip网段使其可以远程访问)
#postgresql.conf:postgresql主配置文件(listen_address=localhost改为星号使其监听整个网络)

6.修改配置文件

将pg_hba.conf的ip地址修改为0.0.0.0/0,而加密方式改为md5,表示需要密码访问:

技术分享图片

修改 postgresql.conf 中的listen_address使其监听整个网络:

技术分享图片

7.关闭防火墙

8.启动连接数据库

pg_ctl start -l /usr/local/postgresql/log/pg_server.log

psql

ps -ef|grep postgres

技术分享图片

技术分享图片

Redhat 7.2 编译安装PostgreSQL 10

标签:postgresq   file   listen   conf   art   data   ash   图片   问控制   

原文地址:https://www.cnblogs.com/chinesern/p/9309653.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!