CentOS6.7源码安装postgre9.6

由于系统自带pg版本过低,现要进行对其升级到9.6版本,操作如下:

操作系统及当前pg版本

CentOS release 6.7 (Final)
postgresql-8.4

删除旧有的pg版本

停止当前运行的pg

service postgresql stop

查看已安装的rpm包

rpm -qa| grep postgres

postgresql-contrib-8.4.20-6.el6.x86_64
postgresql-libs-8.4.20-6.el6.x86_64
postgresql-8.4.20-6.el6.x86_64
postgresql-server-8.4.20-6.el6.x86_64
postgresql-plpython-8.4.20-6.el6.x86_64
postgresql-odbc-08.04.0200-1.el6.x86_64
postgresql-test-8.4.20-6.el6.x86_64
postgresql-pltcl-8.4.20-6.el6.x86_64
postgresql-docs-8.4.20-6.el6.x86_64
postgresql-devel-8.4.20-6.el6.x86_64
postgresql-jdbc-8.4.704-2.el6.noarch
postgresql-plperl-8.4.20-6.el6.x86_64

使用rpm -e 命令逐个卸载原来的rmp包

rpm -e postgresql-contrib-8.4.20-6.el6.x86_64
rpm -e postgresql-libs-8.4.20-6.el6.x86_64
...

(其中postgresql-libs-8.4.20-2.el6_6.x86_64由于依赖关系卸载不掉,不影响后续操作)

安装新版本

将postgresql-9.6.17.tar.bz2文件放在/3rdtools目录下

解压缩安装包

cd /3rdtools
tar jxvf postgresql-9.6.17.tar.bz2
cd postgresql-9.6.17

编译,指定安装路径

./configure --prefix=/usr/local/pg96 #安装至/usr/local/pg96

安装

make && make install

或者make world && make install-world(加world表示全部插件也进行编译)

增加postgres用户和密码(如果已有此用户则跳过)

adduser postgres
passwd postgres

创建数据库存储目录

创建后data目录下会生成postgresql.conf等配置文件

mkdir /usr/local/pg96/data 
chown -R postgres:postgres /usr/local/pg96/data

用postgre账号初始化数据库

su - postgres
/usr/local/pg96/bin/initdb -D /usr/local/pg96/data #初始化数据库(执行后会提示启动命令/usr/local/pg96/bin/pg_ctl -D /usr/local/pg96/data/ -l logfile start)

修改数据库访问端口和密码连接方式

将data目录下postgresql.conf中listen_addresses 改为*
将data目录下pg_hba.conf中连接方式除了Unix domain是trust外,其他两个改为md5

添加环境变量

在/etc/profile中添加:

export PGDATA=/usr/local/pg96/data
export PGHOME=/usr/local/pg96
export PATH=$PATH:$PGHOME/bin

配置开机脚本

(开机脚本在源码包解压缩后的contrib/start-scripts目录中,其中linux代表linux系统下的开机脚本)

cp /3rdtools/postgresql-9.6.17/contrib/start-scripts/linux /ect/init.d/postgresql
chmod a+x /etc/init.d/postgresql

修改/etc/init.d/postgresql中如下两行:

prefix=/usr/local/pg96
PGDATA="/usr/local/pg96/data"

将postgresql服务添加到系统service中

chkconfig --add postgresql
chkconfig --list postgresql
postgresql       	0:关闭	1:关闭	2:启用	3:启用	4:启用	5:启用	6:关闭

启动数据库

service postgresql start

(相当于/usr/local/pg96/bin/pg_ctl -D /usr/local/pg96/data -l logfile start)

其他参考命令

/usr/local/pg96/bin/psql -p 1991 -d postgres #用pg93用户进入默认的postgres数据库
psql #相当于/usr/local/pg96/bin/psql -h 127.0.0.1 -p 5432 -U postgres
create user zhang # 创建用户zhang
creata database audio # 创建数据库audio
alter user postgres with password ‘password’; # 更改postgres用户的密码

posted @   影随风动91  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
点击右上角即可分享
微信分享提示