Centos 7源码编译安装Postgresql-9.4

Centos 7源码编译安装Postgresql-9.4 

下载地址:https://www.postgresql.org/download/

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:HOME/.local/bin:HOME/bin 
(4)增加以下内容:

PGHOME=/postgresqlexport PGHOME

PGDATA=/pgdataexport PGDATA

PATH=$PATH:$HOME/.local/bin:$HOME/bin:$PGHOME/binexport PATH12345678

注意:最后 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/logpostgresql2mkdir/postgresql/log创建postgresql数据库存放日志的目录(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 postgres12345678

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

$netstat -an | grep 5432[postgres@localhost ~]$ netstat -an | grep 5432tcp        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.543212345

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               md512

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

# - Connection Settings -listen_addresses = '*'      12

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 prefixprefix=/postgresql# Data directoryPGDATA="/pgdata"# Who to run the postmaster as, usually "postgres".  (NOT "root")PGUSER=postgres# Where to keep a log filePGLOG="$prefix/log/pg_server.log"1234567891011

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

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

(7)重启服务验证


猜你喜欢

转载自blog.51cto.com/13293070/2304542