系统版本:

cat /etc/redhat-release 

Red Hat Enterprise Linux Server release 6.7 (Santiago)

默认安装PGsql8.2版本

数据存放目录

/usr/openv/pg_data

我这里安装的是9.4版本,所以如果安装的卸载即可

# yum remove postgresql-server

在下面网站找到自己需要的版本

http://download.postgresql.org/pub/repos/yum/

https://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-6.7-x86_64/

postgresql94-9.4.18-1PGDG.rhel6.x86_64.rpm

postgresql94-devel-9.4.18-1PGDG.rhel6.x86_64.rpm

postgresql94-libs-9.4.18-1PGDG.rhel6.x86_64.rpm

postgresql94-server-9.4.18-1PGDG.rhel6.x86_64.rpm

创建目录用于存放下载的安装包

# mkdir /data/packages

# cd /data/packages

安装数据库包

# yum install postgresql94*

安装uuid依赖

# yum install uuid uuid-devel 

为数据库管理用户配置密码

# passwd postgres

查看安装内容

# rpm -ql postgresql94-server-9.4.18-1PGDG.rhel6.x86_64 | more

/usr/pgsql-9.4/bin/psql

/usr/pgsql-9.4/bin/initdb

/usr/pgsql-9.4/bin/pg_ctl

配置环境变量

# vi /etc/profile

export PG_HOME=/usr/pgsql-9.4

export PATH=$PATH:$PG_HOME/bin

export PGDATA=/data/pg_data

# source /etc/profile

创建数据存放目录

# mkdir /data/pg_data

# chown postgres:postgres /data/pg_data

切换数据库管理账户

# su postgres

初始化数据库

$ initdb

启动服务

$ pg_ctl start -D $PGDATA

登录数据库

$ psql

这里默认免密码登录,所以下面配置

postgres=# ALTER USER postgres PASSWORD '自定义密码';

编辑配置文件pg_hba.conf 

bash-4.1$ pwd

/data/pg_data

bash-4.1$ vi pg_hba.conf 

# "local" is for Unix domain socket connections only

local   all         all                               md5

# IPv4 local connections:

host    all         all         127.0.0.1/32          md5

host    all         all         192.168.72.0/24          md5

# IPv6 local connections:

host    all         all         ::1/128               md5

说明:

修改最后一列trust为md5,表明需要输入密码登录

允许192.168.72.X的网段访问数据库

编辑配置文件postgresql.conf

$ vi postgresql.conf

listen_addresses = '*'

max_connections = 500 

unix_socket_directories = '/data/pg_data/socket'

shared_preload_libraries = 'pg_stat_statements'

track_io_timing = on

track_activity_query_size = 2048

pg_stat_statements.max = 10000

pg_stat_statements.track = all

pg_stat_statements.track_utility = off

pg_stat_statements.save = on

"postgresql.conf" 620L, 21279C written

bash-4.1$ mkdir socket

重启服务

$ pg_ctl restart -D $PGDATA

登录数据库,创建uuid及pg_stat_statements函数,不需要的可以不做配置

$ psql

postgres=# create extension "uuid-ossp";

CREATE EXTENSION

postgres=# create extension pg_stat_statements;

CREATE EXTENSION