环境准备
- Centos7 版本:CentOS Linux release 7.5.1804 (Core)
- PostgreSQL 版本: psql (PostgreSQL) 9.6.0
相关下载
- uuid ossp:https://pan.baidu.com/s/1t9tIHOOYgFFPlgmNbLeCcw
- postgresql:https://ftp.postgresql.org/pub/source/v9.6.0/postgresql-9.6.0.tar.gz
Centos 中可以使用wget命令下载,如果没有wget,可执行yum install wget安装
安装步骤
- 安装必要软件
yum install -y gcc.x86_64 glibc.x86_64 glibc-devel.x86_64 vim-enhanced.x86_64 gcc-java apr apr-devel openssl openssl-devel libgcc.x86_64 perl-Module-Install.noarch
yum install -y readline-devel.x86_64
- 创建postgres用户
adduser postgres
- 下载uuid ossp解压编译安装
#解压安装uuid库
[root@pg1 opt]# tar -zxvf uuid-1.6.2.tar.gz
[root@pg1 opt]# cd uuid-1.6.2
[root@pg1 uuid-1.6.2]# ./configure --with-uuid=ossp
[root@pg1 uuid-1.6.2]# make
[root@pg1 uuid-1.6.2]# make install
#解压tar -zxvf postgresql-9.6.0.tar.gz
[root@pg1 opt]# tar -zxvf postgresql-9.6.0.tar.gz
#进入解压目录
[root@pg1 opt]# cd postgresql-9.6.0
#配置prefix是程序放哪里
[root@pg1 postgresql-9.6.0]# ./configure --prefix=/home/postgres --enable-thread-safety --with-uuid=ossp
#编译&安装
[root@pg1 postgresql-9.6.0]# make
[root@pg1 postgresql-9.6.0]# make install
# 安装contrib工具包
[root@pg1 postgresql-9.6.0]# cd contrib
[root@pg1 contrib]# make
[root@pg1 contrib]# make install
#等待安装完成
#配置uuid的软连接
[root@pg1 lib64]# find / -name libuuid.so.16
/usr/local/lib/libuuid.so.16
/opt/uuid-1.6.2/.libs/libuuid.so.16
#将/usr/local/lib/libuuid.so.16建立软连接到postgres的lib目录
[root@pg1 lib64]# ln -s /usr/local/lib/libuuid.so.16 /home/postgres/lib
- 权限设置
#把程序目录全部赋权给postgres用户
[root@pg1 ]# chown -R postgres.postgres /home/postgres/
- 配置环境变量
编辑用户目录下.bashrc文件,主要是设置PGDATA变量
#切换到postgres账户
[root@pg1 ]# su - postgres
#编辑用户下配置文件
[postgres@pg1 ]# vim .bashrc
编辑内容如下:
PGHOME=/home/postgres
export PGHOME
PGDATA=$PGHOME/data
export PGDATA
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$PGHOME/bin
export PATH
编辑完成,按esc,输入 wq!保存退出,重新启用下配置文件
[postgres@pg1 ]# source .bashrc
- 初始化数据库
#在postgres账户下执行
[postgres@pg1 ]# initdb -D $PGDATA
- 启动数据库
[postgres@pg1 ]# pg_ctl start -D $PGDATA
- 设置用户密码
#使用postgres账户进入控制台(现在密码应该是空)
[postgres@pg1 ]# psql -U postgres
postgres=# \password
Enter new password: <123456>
Enter it again: <123456>
#把密码设置成123456可以使用\q命令退出控制台
- 设置监听
修改postgres/data目录下的pg_hba.conf
[postgres@pg1 ~]$ vim $PGDATA/pg_hba.conf
修改IPv4 一行内容如下:
#IPv4 local connections:
host all all 0.0.0.0/0 trust
修改postgresql.conf:
[postgres@pg1 ~]$ vim $PGDATA/postgresql.conf
修改监听一节如下:
listen_addresses = '*'
port = 5432
wq!保存退出。
重启pg服务生效
[postgres@pg1 ~]$ pg_ctl restart -D $PGDATA