赞
踩
公司要求使用银河麒麟V10 SP3运行PostgreSQL,之前公司使用的是32位的postgresql,安装在Linux上,升级银河麒麟V10 SP3后无法运行,所以出个方案进行升级。本文档使用PostgreSQL源码编译,依赖通过联网下载的形式安装部署。
1、需要提前下载PostgreSQL源码压缩包,本文档使用PostgreSQL 12.19
https://ftp.postgresql.org/pub/source/v12.19/postgresql-12.19.tar.gz
用yum的依赖库下载
yum install -y openssl openssl-devel pam pam-devel libxml2 libxml2-devel libxslt libxslt-devel perl perl-devel install perl-ExtUtils-Embed readline readline-devel zlib zlib-devel gettext gettext-devel bison flex gcc gcc-c++ readline-devel
如果无法下载可以根据命令来排查问题。
大概率是下面的文件配置错误(文件名根据实际进行修改)
vi /etc/yum.repos.d/kylin_x86_64.repo
如果想下载离线包可以去下方的网站搜素
Search the RPM repository on rpmfind.net
将2.1.下载的安装包上传到服务器上
解压安装包
tar -zvxf postgresql-12.19.tar.gz
进入到解压的文件夹中
cd /home/postgresql-12.19/
创建软件储存目录
mkdir -p /opt/postgresql-12.19/
进行安装,我这里安装的目录是/opt/postgresql-12.19/
-
- ./configure --prefix=/opt/postgresql-12.19/ &&make &&make install
-
如果命令窗中提示“Postgresql installation complete.”,则表示安装成功。
如果出现“readline library”等相关错误,则需要进行依赖库安装
可以运行命令进行依赖安装,XXX替换成缺失的依赖名称
yum install -y XXX
安装好后需要配置一下环境变量
编辑profile文件
vim /etc/profile
将下方的内容添加到最下方(光标移动到最下方,按i进行编辑,编辑后按ESC,:wq进行保存,全程英文输入法输入),PGHOME、PGDATA根据实际情况进行修改
- export PGHOME=/opt/postgresql-12.19 --数据库安装位置(记得删掉注释)
- export PGDATA=/opt/postgresql-12.19/data --数据库数据所在位置(记得删掉注释)
- export PATH=$PGHOME/bin:$PATH
- export LANG=en_US.utf8
- export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH
保存后使用下面命令使其生效
source /etc/profile
启动和初始化PostgreSQL需要建立一个用户 建议使用postgres
useradd postgres
创建目录,和环境变量配置的数据存放目录(PGDATA)相同
mkdir -p /opt/postgresql-12.19/data
赋予用户目录权限,将文件夹授权给postgres
- chown postgres:postgres /opt/postgresql-12.19
- chown postgres:postgres /opt/postgresql-12.19/data
切换用户到postgres
su - postgres
执行命令对数据库进行初始化
/opt/postgresql-12.19/bin/initdb -D /opt/postgresql-12.19/data
将数据库监听地址改成所有,编辑postgresql.conf文件
vim /opt/postgresql-12.19/data/postgresql.conf
将listen_addresses=配置改成如下所示,并保存
修改pg_hba.conf允许远程连接,运行命令,打开
vim /opt/postgresql-12.19/data/pg_hba.conf
如图位置新增一条,即可支持远程连接
host all all 0.0.0.0/0 md5
记得关闭防火墙
systemctl stop firewalld
执行下方两个命令进行启动数据库
/opt/postgresql-12.19/bin/pg_ctl -D /opt/postgresql-12.19/data/pgsql/ -l logfile start
启动后看端口使用情况运行下方命令,postgres默认端口为5432
netstat -anp | grep 5432
如果服务列表不为空,说明启动成功。
使用命令切换到postgres用户,如果用户已经是postrges,则直接进行下一步操作
su - postgres
进入到用户后登录数据库,运行命令,设置用户初始化密码
psql -U postgres -d postgres -c "ALTER USER postgres WITH PASSWORD '你的密码';"
如果提示psql命令或者文件找不到,进入到安装目录运行命令
- cd /opt/postgresql-12.19/bin
- ./psql -U postgres -d postgres -c "ALTER USER postgres WITH PASSWORD '你的密码';"
切换到root用户,找到tar包解压后postgresql的linux文件
- su root
- cd /home/postgresql-12.19/contrib/start-scripts/
复制linux文件到init.d目录下,并命名成postgres
cp linux /etc/init.d/postgresql
修改/etc/init.d/postgresql文件并赋予权限
vim /etc/init.d/postgresql
prefix 改成postgresql安装的路径
PGDATA 改成postgresql存放数据的路径,按自己的路径修改
PGUSER postgresql的用户,按自己创建的用户修改
PGLOG postgresql存放的日志,按自己的路径修改
然后保存
使用命令给postgres用户授权
chmod +x /etc/init.d/postgresql
就可以使用命令对postgres进行控制
- #停止
- service postgresql stop
- #启动
- service postgresql start
- #重启
- service postgresql restart
还没写,下次一定
内容借鉴于Postgresql-12.5 安装及配置 -银河麒麟V10服务器版本_离线麒麟v10 部署 pg数据库-CSDN博客
银河麒麟V10-ARM架构-postgresql安装与部署指南_kylinv10 postgresql-CSDN博客
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。