当前位置: 首页 > article >正文

psotgresql18 源码编译安装

环境:

系统:centos7.9

数据库:postgresql18beta1

#PostgreSQL 18 已转向 DocBook XML 构建体系(SGML 未来将被弃用)。需要安装 XML 工具链,如下:

yum install -y docbook5-style-xsl libxslt docbook-style-xsl xmlto fop

一、postgresql18beta1一键安装脚本如下,以root用户执行:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

#!/bin/bash

# 一键安装 PostgreSQL 18脚本
# 请先将 postgresql-18beta1.tar.gz 放在当前目录下,本脚本中上传至/root目录下

# 1. 创建 postgres 用户(如已存在则跳过)
if ! id postgres &>/dev/null; then
    useradd postgres
    echo "postgres" | passwd --stdin postgres 2>/dev/null || echo "postgres:postgres" | chpasswd
fi

# 2. 创建目录
mkdir -p /postgresql/{pg18,pgdata,arch,soft}
chown -R postgres. /postgresql/
chmod -R 700 /postgresql/
mv /root/postgresql-18beta1.tar.gz /postgresql/soft/
chown postgres. /postgresql/soft/postgresql-18beta1.tar.gz

# 3. 安装依赖
yum install -y docbook5-style-xsl libxslt docbook-style-xsl xmlto fop bison perl-ExtUtils-Embed readline-devel zlib-devel pam-devel tcl-devel libxml2-devel perl-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc gcc-c++ openssl-devel make cmake  libicu libicu-devel flex wget

# 4. 解压并编译安装 PostgreSQL
su - postgres <<EOF
cd /postgresql/soft
tar zxvf postgresql-18beta1.tar.gz
cd postgresql-18beta1
./configure --prefix=/postgresql/pg18
make world && make install-world
EOF

# 5. 配置环境变量
su - postgres <<EOF
cat >> ~/.bash_profile <<'EOP'
export LANG=en_US.UTF-8
export PGHOME=/postgresql/pg18
export PGDATA=/postgresql/pgdata
export LD_LIBRARY_PATH=\$PGHOME/lib:\$LD_LIBRARY_PATH
export PATH=\$PGHOME/bin:\$PATH
EOP

source ~/.bash_profile
EOF

echo "PostgreSQL 18 安装完成。请以 postgres 用户登录并初始化数据库。"
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

二、手动初始化数据库集簇

根据需要,修改postgresql.conf和pg_hba.conf,修改完成后,启动数据库。

http://www.lryc.cn/news/2379734.html

相关文章:

  • 虚幻引擎5-Unreal Engine笔记之Pawn与胶囊体的关系
  • python创建flask项目
  • Vue环境下数据导出PDF的全面指南
  • Linux中的DNS的安装与配置
  • linux服务器与时间服务器同步时间
  • 【数据结构篇】排序1(插入排序与选择排序)
  • 《Linux服务与安全管理》| DNS服务器安装和配置
  • 【NLP】34. 数据专题:如何打造高质量训练数据集
  • Notepad++ 学习(三)使用python插件编写脚本:实现跳转指定标签页(自主研发)
  • Stable Diffusion 学习笔记02
  • python:pymysql概念、基本操作和注入问题讲解
  • Scala语言基础与函数式编程详解
  • 类的加载过程详解
  • 机器学习-人与机器生数据的区分模型测试 - 模型融合与检验
  • 机器学习 day03
  • 《社交应用动态表情:RN与Flutter实战解码》
  • 嵌入式软件--stm32 DAY 6 USART串口通讯(下)
  • 问题处理——在ROS2(humble)+Gazebo+rqt下,无法显示仿真无人机的相机图像
  • 69、微服务保姆教程(十二)容器化与云原生
  • 朱老师,3518e系列,第六季
  • ElasticSearch-集群
  • 一文掌握工业相机选型计算
  • 记录心态和工作变化
  • 深入理解 TypeScript 中的 unknown 类型:安全处理未知数据的最佳实践
  • LabVIEW机械振动信号分析与故障诊断
  • Helm配置之为特定Deployment配置特定Docker仓库(覆盖全局配置)
  • 【Spring】Spring中的适配器模式
  • GO学习指南
  • 2、ubuntu系统配置OpenSSH | 使用vscode或pycharm远程连接
  • MySQL面试知识点详解