PostgreSQL 源码安装

(1)创建用户和数据库datadb目录:

groupadd postgres

useradd -g postgres postgres

passwd postgres

mkdir  /data/postgres/pgdata

chown -R postgres:postgres  /data/postgres/pgdata

(2)解压、编译、安装:

tar xzf postgresql-9.6.5.tar.gz

cd /home/postgres/postgresql-9.6.5

自定义安装路径:

./configure --prefix=/data/postgres/postgresql-9.6.5

make && make install

过程中会提示少readline and zlib,进行安装

yum install readline-devel.x86_64

yum install zlib-devel.x86_64

(3) 设置环境变量

切换到postgres用户下

# vim .bash_profile

PGHOME=/home/postgres/postgresql-9.6.6

PGDATA=/home/postgres/pgdata

PATH=$PATH:$HOME/bin:$PGHOME/bin

export PATH

(3)移动启动脚本,并进行配置:

cp /home/postgres/postgresql-9.6.5/contrib/start-scripts/linux  /etc/init.d/postgresql

vi /etc/init.d/postgresql

# Installation prefix

prefix=/home/postgres/postgresql-9.6.6

# Data directory

PGDATA="/home/postgres/pgdata"


chmod +x /etc/init.d/postgresql

(4)初始化数据库:

su - postgres

initdb  -D $PGDATA


初始化成功,可以根据特别圈出的命令启动数据库

(5)到此,安装还不算结束,很多模块没有安装,安装模块:

进入安装包解压的目录,进入contrib 里:

cd /home/postgres/postgresql-9.6.5/contrib

make && make install

(6)由于postgresql数据库默认无法远程,所以需要配置

# cd /home/postgres/pgdata/

# vi pg_hba.conf

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

# vi postgresql.conf

那样修改一下listen_address使其监听整个网络,


最后别忘记开放pg的5432端口,否则即使做了上面两处修改客户端依然无法连接postgresql,所以将5432端口加入到zone即可,依次运行以下命令(注意此处需要切回root用户,否则没有权限:

# firewall-cmd --zone=public --add-port=5432/tcp --permanent

# firewall-cmd --reload

通过firewall-cmd --zone=public --list-ports来查看已打开的端口列表,如下说明成功开启端口

启动成功后我们就可以通过postgresql自带的客户端工具psql来进行连接,直接输入psql看到版本信息则说明连接成功


而在日志文件目录中可以看到数据库日志文件以及刚才的启动日志:


设置postgres用户的密码(默认为空),psql连接成功后直接输入\password即会提示输入两次密码

转载需注明出处

你可能感兴趣的:(PostgreSQL 源码安装)