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/

下载及解压命令:

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

 

创建pg用户

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

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

使用su postgres来切换用户。

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

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

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

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

命令:

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

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

 

源码编译

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

su postgres

# 进行环境依赖检查
./configure

# 使用4个并发编译
make -j4

# 无误后进行安装
make install

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

 

数据库初始化

# 此处使用绝对路径,也可用相对路径来操作。
# -D:database cluster的主目录
# -U:指定超级用户
# -W:指定用户密码
# -E:指定数据库字符编码
# --waldir:指定wal日志路径
/usr/local/pgsql/bin/initdb -D /data/pg/pgdata -U postgres -E utf8 --waldir=/data/pg/pgdata/pgwal
# 最简化的方式初始化数据库
/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进行连接:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aiky哇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值