CentOS 7源码编译安装Postgresql-9.4.18

Centos 7源码编译安装Postgresql-9.4
1、安装gcc

2、安装readline-devel

3、安装zlib-devel

4、上传Postgresql-9.4源码包到服务器

5、解压源码包
(1)#tar -zxvf postgresql-9.4.18.tar.gz

6、创建postgresql安装目录
(1)#mkdir /postgresql

7、创建postgresql数据目录
(1)#mkdir /pgdata

8、检查安装环境
(1)#./configure –prefix=/postgresql
注意:–prefix是指定要安装的目录,这个目录要提前创建出来

9、进行编译
(1)#make

8、进行安装
(2)#make install

9、创建普通用户postgres
(1)#useradd postgres

10、修改postgresql的安装目录与数据目录的所属用户和组
(1)#chown -R postgres:postgres /postgresql/ /pgdata/

11、给postgresql用户设置密码
(1)#passwd postgres

12、设置postgres用户的环境变量
(1)#su - postgres
(2)vim /home/postgres/.bash_profile  
(3)注释原有的  #PATH=
vim /home/postgres/.bash_profile  (3)注释原有的  #PATH=
PATH: HOME/.local/bin: H O M E / . l o c a l / b i n : HOME/bin
(4)增加以下内容:

PGHOME=/postgresql
export PGHOME

PGDATA=/pgdata
export PGDATA

PATH=$PATH:$HOME/.local/bin:$HOME/bin:$PGHOME/bin
export PATH

注意:最后 export PATH 默认在脚本中存在,不用重复添加。

12、检查环境变量配置
(1)#source ./.bash_profile
这个命令是使配置的环境变量立即生效
(2)切换到任意目录,执行以下命令:
#which psql
#psql -V
如果这2条命令,都有执行结果,则表示环境变量配置成功。

13、初始化数据库
(1)#initdb
注意:此处可以使用 initdb –help初始化相关的帮助信息
如果在初始化的时候,没有指定数据文件目录,则默认使用环境变量中配置的PGDATA目录
(2)初始化成功后,可以看到PGDAT目录下生成了相关的数据文件和配置文件

14、启动postgresql数据库
(1) mkdir/postgresql/logpostgresql2 m k d i r / p o s t g r e s q l / l o g 创 建 p o s t g r e s q l 数 据 库 存 放 日 志 的 目 录 ( 2 ) pg_ctl start -l /postgresql/log/pg_server.log
postgresql数据库启动命令

15、验证启动是否成功
(1)查看服务器进程
$ps -ef | grep postgres
出现如下表所示的信息,则表示数据库启动成功

[postgres@localhost ~]$ ps -ef | grep postgres
postgres   2093      1  0 22:34 pts/0    00:00:00 /postgresql/bin/postgres
postgres   2095   2093  0 22:34 ?        00:00:00 postgres: checkpointer process  
postgres   2096   2093  0 22:34 ?        00:00:00 postgres: writer process  
postgres   2097   2093  0 22:34 ?        00:00:00 postgres: wal writer process  
postgres   2098   2093  0 22:34 ?        00:00:00 postgres: autovacuum launcher process  
postgres   2099   2093  0 22:34 ?        00:00:00 postgres: stats collector process  
postgres   2270   2231  0 22:41 pts/1    00:00:00 grep --color=auto postgres

(2)查看postgresql默认端口5432是否处于监听状态

$netstat -an | grep 5432
[postgres@localhost ~]$ netstat -an | grep 5432
tcp        0      0 0.0.0.0:5432            0.0.0.0:*               LISTEN     
tcp6       0      0 :::5432                 :::*                    LISTEN     
unix  2      [ ACC ]     STREAM     LISTENING     31009    /tmp/.s.PGSQL.5432

16、设置postgresql允许远程主机连接
(1)修改/pgdata目录下的pg_hba.conf文件,在IPv4 local connections这行的下面,添加以下参数
含义:host表示安装postgresql的主机,第一个all表示数据库,第二个all表示用户,0.0.0.0/0表示允许连接的IP地址,md5表示连接时的加密方式。

# IPv4 local connections:
host    all             all             0.0.0.0/0               md5

17、设置postgresql对本机的所有IP进行监听
(1)修改/pgdata目录下的postgresql.conf文件,在connection setting这块,添加以下参数

# - Connection Settings -
listen_addresses = '*'      

18、设置数据库密码
(1)postgersql默认的数据库是postgers,在服务器上输入psql进入数据库命令行客户端
$psql
(2)在客户端里输入\password设置数据库密码
postgres=# \password
(3)在客户端里输入\l即可查看postgersql当前有哪些数据库

19、记住:修改了数据库运行参数后,要重启数据库,使配置生效。

20、在远程服务器上,通过客户端(pgAdmin III或者Navicat Premium)连接postgresql数据库,验证是否可以正常连接。

21、设置postgersql开启自启动(此处使用root用户进行设置)
(1)postgersql开机自启动脚本在源码程序包的“postgresql-9.4.18/contrib/start-scripts/”目录下,脚本名为“linux”。
(2)将此linux文件拷贝纸/etc/init.d目录下,并重命名为postgersql
#cp postgresql-9.4.18/contrib/start-scripts/linux /etc/init.d/postgersql
(3)给postgersql启动脚本赋予执行权限
#chmod u+x /etc/init.d/postgresql
(4)修改/etc/init.d/postgersql文件,需要注意以下几项参数:
注意:prefix:postgersql的安装主目录;PGDATA:postgersql的数据文件目录;PGUSER:启动postgersql数据库的用户名;PGLOG:postgersql运行日志的存放路径。

# Installation prefix
prefix=/postgresql

# Data directory
PGDATA="/pgdata"

# Who to run the postmaster as, usually "postgres".  (NOT "root")
PGUSER=postgres

# Where to keep a log file
PGLOG="$prefix/log/pg_server.log"

(5)加入开启启动
# chkconfig –add postgresql

(6)查看设置是否成功
# chkconfig –list postgresql
当显示以下信息,则表示已成功设置为开启自启动
postgresql 0:off 1:off 2:on 3:on 4:on 5:on 6:off

(7)重启服务器验证

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值