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用户的密码
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏