Centos7安装PostgreSQL
目录
最新版本的9.6出来了,新增一大堆令人垂涎欲滴的新功能。本文按照套路给个安装教程,仅仅做自己参考使用。
1 安装必要基本软件
[root@pg1 ]# 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 java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64 perl-Module-Install.noarch
安装readline-devel,不装的话编译的时候会有错误提示
[root@pg1 ]# yum install -y readline-devel.x86_64
去postgresql官网下载最新的9.6源码:
https://ftp.postgresql.org/pub/source/v9.6.0/postgresql-9.6.0.tar.gz
2 创建postgres用户
[root@pg1 ]# useradd postgres
3 解压编译安装
下载uuid ossp库,下载地址:ftp://ftp.ossp.org/pkg/lib/uuid/uuid-1.6.2.tar.gz
#解压安装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
[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 --with-libs=/usr/local/lib --with-includes=/usr/local/include
#编译&安装
[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
4 设置权限
#把程序目录全部赋权给postgres用户
[root@pg1 ]# chown -R postgres.postgres /home/postgres/
5 配置环境变量
编辑用户目录下.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
6 初始化数据库
#在postgres账户下执行
[postgres@pg1 ]# initdb -D $PGDATA
7 启动数据库
[postgres@pg1 ]# pg_ctl start -D $PGDATA
8 设置用户密码
#使用postgres账户进入控制台(现在密码应该是空)
[postgres@pg1 ]# psql -U postgres
postgres=# password
Enter new password:
Enter it again:
#把密码设置成123456可以使用q命令退出控制台
9 设置监听
修改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
修改监听一节如下:
# - Connection Settings -
listen_addresses = '*'
port = 5432
wq!保存退出。
重启pg服务生效
[postgres@pg1 ~]$ pg_ctl restart -D $PGDATA