Centos6.5安装postgresql

🐶机器版本:CentOS release 6.5 (Final)

🐱数据库版本:postgresql-9.6.11

🐰解压在/opt路径下,安装在/opt路径下

1关闭防火墙及selinux
vi /etc/sysconfig/selinux
service iptables stop #临时关闭防火墙
chkconfig iptables off #永久关闭防火墙
2配置yum源安装依赖包
#进入yum路径下,备份原始repo,然后编辑CentOS-Base.repo
cd /etc/yum.repos.d
mkdir bak
cp CentOS-* bak
rm -rf CentOS-*
cp ./bak/CentOS-Media.repo ./
vi CentOS-Media.repo #填入指定的yum源,或者自己自建本地yum源
1562297983011
yum -y install gcc* readline-devel
3开始安装
#解压安装包
tar -zxvf postgresql-9.9.11.tar.gz
#设置用户密码
adduser postgres
passwd postgres
#编译安装 将pg安装在/opt/pgsql路径下
cd postgresql-9.6.11
mkdir ../pgsql
./configure --prefix=/opt/pgsql/
gmake
gmake install
vi /etc/profile
1562315115401
source /etc/profile #是环境变量即时生效
mkdir /opt/pgsql/data #数据库存储路径
chown postgres /opt/pgsql/data #给该路径授权
su - postgres #进入postgres用户
#以下初始化数据库命令需要添加了环境变量才能直接运行,否则绝对路径运行
initdb -D pgsql/data/
postgres -D pgsql/data/ >pgsql/data/logfile 2>&1 &
pg_ctl start -D pgsql/data/
4添加自启动
#需root用户下
cd postgresql-9.6.11/contrib/start-scripts/
chmod a+x linux
cp linux /etc/init.d/postgresql
vi /etc/init.d/postgresql
1562316126649
service postgresql start #启动pg服务
service postgresql restart #重启pg服务
chkconfig --add postgresql #添加到开启自启
远程访问连接
cd /opt/pgsql/data
vi pg_hba.conf #添加一行 注意加密方式为md5
1562319275334
vi postgresql.conf #修改监听地址及端口还有最大连接数,连接数最好改为1000,不然一下子跑满了,就坑了
1562316939177
#最后重启服务,远程连接试试
service postgresql restart

注意:可能postgres用户下任意密码都可以连接,处理方式为:

su - postgres

psql -U postgres -p 5432

alter user postgres with password 'new passwd';

原因可能数据库是用系统用户安装的,也可能是在pg_hba.conf路径下设置的加密方式为trust