银河麒麟服务器ky10 sp3 x86编译安装postgresql(包含uuid)

news/2024/7/9 19:44:18 标签: postgresql, 数据库

目录

下载

编译安装

 目录说明 

脚本文件说明

压缩包说明 

脚本代码


下载

 官网 PostgreSQL: The world's most advanced open source database

源码下载地址  PostgreSQL: File Browser

有多个版本可以选择,我选择的是10.23

 点击下载即可

 我下载好之后把他上传到了我的gitcode上,接下来我们直接下载gitcode上的脚本代码和程序进行编译安装

编译安装

下载脚本代码  https://gitcode.net/zenglg/postgresql.git

git clone  https://gitcode.net/zenglg/postgresql.git

后面我们会附上脚本代码

代码结构如下 

 

 目录说明 

目录说明
depends编译postgresql相关的依赖离线安装包
lib-site-packagespython离线依赖
lib64-site-packagespython离线依赖
local-lib-site-packagespython离线依赖
local-lib64-site-packagespython离线依赖
python3python3离线安装包

脚本文件说明

脚本文件说明
ky10_pgadmin_python3_install.shpgadmin 在线安装脚本
ky10_pgadmin_python3_offline_installpgadmin 离线安装脚本
ky10_postgresql_install.shpostgresql在线安装脚本
ky10_postgresql_offline_compile_install.shpostgresql离线编译安装脚本
ky10_postgresql_offline_install.shpostgresql离线安装脚本

压缩包说明 

文件说明  说明
pgadmin4-6.21.tar.gzpgadmin4-6.21源码包
postgresql-10.5-22.ky10.x86_64.rpmpostgresql 离线安装包
postgresql-server-10.5-22.ky10.x86_64.rpmpostgresql 离线安装包
postgresql-10.23.tar.gzpostgresql-10.23源码包
postgresql-12.14.tar.gzpostgresql-12.14源码包

脚本代码

ky10_postgresql_offline_compile_install.sh


version=10.23
server_ip=192.168.4.131

# 下载依赖
# yum install yum-utils -y
# yumdownloader --destdir=/root/depends --resolve readline readline-devel  zlib zlib-devel flex bison uuid-devel 

# 在线安装依赖
# yum install readline
# yum install readline-devel
# yum install zlib
# yum install zlib-devel

cd depends
# 离线安装依赖
rpm -Uvh --force --nodeps *.rpm
cd ..

tar xvf postgresql-10.23.tar.gz
cd postgresql-10.23  

# https://blog.csdn.net/u010430832/article/details/60142824
./configure --with-libxml --with-ossp-uuid --with-libs=/opt/postgresql/10.23/lib --with-includes=/opt/postgresql/10.23/include  

make
make install


# https://blog.frognew.com/2021/11/install-postgresql-from-source-code.html

# 创建用户
useradd postgres
# 创建postgresql相关目录:
mkdir /home/postgres/data
mkdir /home/postgres/init
chown -R postgres:postgres /home/postgres


touch /etc/systemd/system/pgserver.service
cat >/etc/systemd/system/pgserver.service<< EOF
    [Unit]
    Description=PostgreSQL database server

    [Service]
    User=postgres
    ExecStart=/usr/local/pgsql/bin/postgres -D /home/postgres/data
    ExecReload=/bin/kill -HUP $MAINPID
    PrivateTmp=true
    TimeoutStartSec=0
    KillMode=none

    [Install]
    WantedBy=multi-user.target
EOF

# 执行下面的命令对数据库进行初始化,数据库的初始化需要切换到postgres用户:
# 以postgres用户执行程序
rm -rf /home/postgres/data
sudo -u postgres  /usr/local/pgsql/bin/initdb -D /home/postgres/data


# 修改  postgresql.conf
sed -i '63s/#port = 5432/port = 5432/' /home/postgres/data/postgresql.conf
sed -i '59s/#listen_addresses/listen_addresses/' /home/postgres/data/postgresql.conf
sed -i '59s/localhost/*/' /home/postgres/data/postgresql.conf
sed -i '88s/#password_encryption/password_encryption/' /home/postgres/data/postgresql.conf

# 修改pg_hba.conf
sed -i '86s/127.0.0.1/0.0.0.0/'  /home/postgres/data/pg_hba.conf
sed -i '86s/32/0/'  /home/postgres/data/pg_hba.conf
# 密码md5加密
sed -i '86s/ident/md5/'  /home/postgres/data/pg_hba.conf


cd contrib/uuid-ossp
make
make install


# mv uuidossp--1.1.sql uuid-ossp--1.1.sql
# mv uuidossp--unpackaged--1.0.sql  uuid-ossp--unpackaged--1.0.sql
# mv uuidossp--1.0--1.1.sql uuid-ossp--1.0--1.1.sql
# mv uuidossp.control  uuid-ossp.control

cd /usr/local/pgsql/share/extension/
mv uuid-ossp--1.1.sql uuidossp--1.1.sql
mv uuid-ossp--unpackaged--1.0.sql  uuidossp--unpackaged--1.0.sql
mv uuid-ossp--1.0--1.1.sql uuidossp--1.0--1.1.sql
mv uuid-ossp.control  uuidossp.control


#  关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service


# 配置开机启动并启动PostgreSQL:
systemctl enable pgserver.service 
systemctl start pgserver.service 

# 修改postgres用户的密码
sudo -u postgres /usr/local/pgsql/bin/psql -U postgres -d postgres -c "alter user postgres with password '123456';"

sudo /usr/local/pgsql/bin/psql -U postgres -d postgres -c 'create extension "uuidossp";'




# systemctl status pgserver

# 重启服务,配置之后需要重启服务才能生效
systemctl restart pgserver.service


# 修改密码的shell脚本
# sudo -u postgres psql -U postgres -d postgres -c "alter user postgres with password '123456';"
# sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD '123456';"

# # 启动自动生成的密码是随机的,我们可以通过下面的命令修改
# #  进入psql
# sudo -u postgres psql
# # 123456 为修改之后的密码
# ALTER USER postgres WITH PASSWORD '123456'; 
# # 退回到命令行
# \q



http://www.niftyadmin.cn/n/232975.html

相关文章

K8s为什么要放弃Docker

公司定期分享整理的资料 放弃始由 https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.20.md#deprecation 2020 年&#xff0c;k8s 1.20 终于正式向 Docker “宣战”&#xff1a;kubelet将弃用 Docker 支持&#xff0c;并将在未来的版本中完全移除。…

std::regex正则表达式

std::match_results &#xff08;匹配的结果存入其中&#xff09; result[0]是完整的文本&#xff0c;result[1]是第一个分组匹配的数据。如果正则表达式有n个分组&#xff0c;match_results的size也就是n1个 This is a specialized allocator-aware container. It can only …

Vue 也能复用模板了

文章目录Vue 也能复用模板了1. 怎么用1.1 基本使用1.2 传递参数2. 怎么实现的3. 注意事项4. 未来发展Vue 也能复用模板了 相信很多使用 Vue 的同学会遇到这样一个问题&#xff1a; “组件里有几个部分的模板&#xff08;html 结构&#xff09;是相同的&#xff0c;要想复用的…

数据库系统笔记CH5(初)

计组的知识 虚拟存储 IEEE754标准 5.1存储层级 二级存储器磁盘和固态硬盘 红色部分是磁道&#xff0c;蓝色部分是扇区&#xff0c;绿色指示部分是数据库中的一个块/页 块/页是我们用来存储介质的一个物理单元,数据写入磁盘以块位单位写入内存,一个块的大小一般是4KB或者8KB&…

2023年Java基础面试题全解析,大学生必读!

JAVA基础 在博客里面&#xff0c;主要包含java基础的五大板块&#xff0c;按面试概率从高到低罗列&#xff1a;集合、线程、面向对象、异常、IO流&#xff1b; 博客排版分两块&#xff1a; 概述是简洁版本&#xff0c;以大白话的方式总结陈述&#xff0c;直指该类面试题的核心…

耗时半月,终于把牛客网上的软件测试面试八股文整理成了PDF合集(测试基础+linux+MySQL+接口测试+自动化测试+测试框架+jmeter测试+测试开发)

大家好&#xff0c;最近有不少小伙伴在后台留言&#xff0c;近期的面试越来越难了&#xff0c;要背的八股文越来越多了&#xff0c;考察得越来越细&#xff0c;越来越底层&#xff0c;明摆着就是想让我们徒手造航母嘛&#xff01;实在是太为难我们这些程序员了。 这不&#xf…

最简单的OpenStack部署

环境准备 你需要准备一个很干净的ubuntu22&#xff0c;all-in-one部署 最低环境要求&#xff1a;CPU 4core, RAM 12G, disk 20G30G, 两个网口(ens3,ens6) 这里的环境只适合部署核心服务&#xff0c;若要部署更多的服务&#xff0c;资源要求水涨船高 disk 20G是系统盘 disk 30G…

JavaScript有几种数据类型,分别是什么?

在JavaScript中&#xff0c;我们可以分成两种类型&#xff1a;基本类型 复杂类型&#xff08;引用类型&#xff09; 两种类型的区别是&#xff1a;存储位置不同 基本类型主要为以下六种&#xff1a; Number、String、Boolean、Undefined、Null、Symbol 复杂类型/引用类型统称为…