关闭防火墙或者把5432端口允许开放
/etc/init.d/iptables stop
chkconfig iptables off
二、部署postgresql环境
2.1 安装依赖包
yum -y install gcc* readline-devel wget
2.2创建用户设置密码
adduser postgres
passwd postgres
2.3下载postgresql安装
wget https://ftp.postgresql.org/pub/source/v9.6.9/postgresql-9.6.9.tar.gz
tar zxvf postgresql-9.6.9.tar.gz
cd postgresql-9.6.9
./configure --prefix=/home/postgres/pgsql
gmake
gmake install
2.4 设置环境变量
vi /etc/profile
到最后行下面添加
###postgresql
PATH=$PATH:$HOME/bin:/home/postgres/pgsql/bin
环境生效
source /etc/profile
2.5创建数据目录赋权
mkdir /home/postgres/pgsql/data
touch /home/postgres/pgsql/.pgsql_history
chown -R postgres:postgres /home/postgres/pgsql
2.6初始化数据库
su - postgres
/home/postgres/pgsql/bin/initdb -D /home/postgres/pgsql/data
退出
exit
2.7修改启动脚本
cp /root/postgresql-9.6.9/contrib/start-scripts/linux /etc/init.d/postgresql
vi /etc/init.d/postgresql
修改如下内容:
# Installation prefix
prefix=/home/postgres/pgsql
# Data directory
PGDATA="/home/postgres/pgsql/data"
保存退出
增加执行权限
chmod +x /etc/init.d/postgresql
启动postgresql
/etc/init.d/postgresql start
2.8测试postgresql
su - postgres
[postgres@post01 ~]$ psql
psql (9.6.9)
Type "help" for help.
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(3 rows)
postgres=# \q
创建数据库名为test
createdb test
修改postgres用户密码:
#psql
postgres=# ALTER USER postgres WITH PASSWORD 'postgres';
2.9 修改postgresql.conf
vi pgsql/data/postgresql.conf
调整端口号和连接数,其他需要调整,可以根据需要修改:
port = 5432 # (change requires restart)
max_connections = 500 # (change requires restart)
重启postgresql
/etc/init.d/postgresql restart
2.10 增加用户并赋权
create user testdba WITH PASSWOD 'test#2018';
GRANT ALL PRIVILEGES ON DATABASE test TO testdba;
Postgresql增加远程访问
/home/postgres/pgsql/data/pg_hba.con增加:
host all all 0.0.0.0/0 md5
md5表示需要密码访问,如果不想对所有,改成指定IP即可
修改/home/postgres/pgsql/data/postgresql.conf
添加:
listen_addresses = '*'
重启postgresql
/etc/init.d/postgresql restart