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

You may also like...