• centos8环境源码编译安装pg15


    由于工作需要,打算开始看一下pg内核的代码,看了一下,截止到目前2022/9/6,pg正式版本已经更新到14了,15的beta版本已经出到了3。

    本着学习的态度,打算从pg15的代码开始看,里面会有很多新特性,也能够理解更先进些的数据库内核的知识。

    创建的时候权限这块弄的我很恶心,所以写个博客记录一下。

    环境准备

    我是新开的腾讯云的云主机,使用的4核8g规模。

    系统为centos8

    使用的cmake版本为3.18.6。

     g++/gcc版本使用的是10.2.0。

    源码准备

    从官网下载源码。

    地址:

    https://www.postgresql.org/ftp/source/

    下载及解压命令

    1. wget https://ftp.postgresql.org/pub/source/v15beta3/postgresql-15beta3.tar.gz
    2. tar zxvf postgresql-15beta3.tar.gz

     

    创建pg用户

    创建pg用的用户,不然会报错,不能够创建实例。

    1. groupadd postgres
    2. useradd -d /home/postgres -m postgres -g postgres
    3. passwd postgres
    4. # 这里需要设置密码,我使用的是12345678

    使用su postgres来切换用户。

    使用root账户创建文件夹并赋权限

    查看一下官方文件INSTALL中也有介绍:

    所以先使用root账户创建一下文件夹,然后赋权限给postgres用户。

    这一步网上找不到合适的教程,坑了我很久。

    命令:

    1. [root@VM-8-17-centos local]# mkdir -p /usr/local/pgsql/data
    2. [root@VM-8-17-centos local]# chown postgres:postgres /usr/local/pgsql
    3. [root@VM-8-17-centos local]# chown postgres:postgres /usr/local/pgsql/data

     之后要用到的数据文件夹也可以放置在其他位置,不使用上面的data,比如我创建在了pgdata,也赋权限给postgres用户。

     

    源码编译

    首先切换到刚刚创建的postgres用户。

    su postgres

    1. # 进行环境依赖检查
    2. ./configure
    3. # 使用4个并发编译
    4. make -j4
    5. # 无误后进行安装
    6. make install

    完成后,查看/usr/local/pgsql文件夹如下。

     

    数据库初始化

    1. # 此处使用绝对路径,也可用相对路径来操作。
    2. # -D:database cluster的主目录
    3. # -U:指定超级用户
    4. # -W:指定用户密码
    5. # -E:指定数据库字符编码
    6. # --waldir:指定wal日志路径
    7. /usr/local/pgsql/bin/initdb -D /data/pg/pgdata -U postgres -E utf8 --waldir=/data/pg/pgdata/pgwal
    8. # 最简化的方式初始化数据库
    9. /usr/local/pgsql/bin/initdb -D /data/pg/pgdata

     

    启动并连接PostgreSQL

    [postgres@VM-8-17-centos pgdata]$ /usr/local/pgsql/bin/pg_ctl -D /data/pg/pgdata -l logfile start

     查看端口号,可以看到postgresql已经在运行了

     使用psql进行连接:

     

  • 相关阅读:
    盗梦攻击:虚拟现实系统中的沉浸式劫持
    springboot与flowable(10):网关服务(排他网关)
    python学习笔记(8)—— 标准库
    Ubuntu整系统迁移到另一个硬盘中
    第9章 Spring Boot整合JPA 与 JpaRepository 基础方法介绍
    【Adobe Illustrator 教程】3. 认识钢笔工具
    【Kubernetes】K8s多集群实践
    可视大盘 + 健康分机制,火山引擎 DataLeap 为企业降低资源优化门槛!
    狗都能看懂的Pytorch MAML代码详解
    Springboot 图片上传及图片回显
  • 原文地址:https://blog.csdn.net/qq_35423190/article/details/126732445