(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即会提示输入两次密码
转载需注明出处