1.00001git源码clone后进行编译(带调试)

-- 新建用户

bash 复制代码
useradd postgres
passwd postgres 

-- 用户加入sude组

先cd到/etc/sudoers目录下

由于sudoers文件为只读权限,所以需要添加写入权限,chmod u+w sudoers

vim sudoers

找到root ALL = (ALL) ALL这一行,在下一行加入username ALL = (ALL) ALL。username指代你想加入sudo组的用户名。

把sudoers文件的权限修改回来。chmod u-w sudoers

-- 用户生成公匙,登录gitee

bash 复制代码
ssh-keygen -t rsa -C "xxx@xx.com"

打开id_rsa.pub文件,并且复制内容,放置在gitee SSH管理中

-- 源码下载 直接下载最新源码,github上的源码每一个提交都保证是可编译运行的

bash 复制代码
git clone git@gitee.com:brookshappy/postgresql.git

-- 依赖安装

bash 复制代码
yum install flex bison libreadline-dev libssl-dev libpam-dev libxml2 libxml2-dev libxslt-dev libldap-dev libperl-dev python3-dev zlib1g-dev libssh2-1-dev gdb c++ gcc make

-- 编译

为了能使用gdb调试,需要使用debug模式调试,我自己之前编译的时候发现即使指定-enable-debug在编译的时候发现也使用了-O2,所以这里建议直接修改configure中的-O和-O2为-g,pg的数据指定-D的 位置,所以在一个环境中,一个编译出来的数据库可以有多个运行环境,或者可以有多个编译环境,多个运行环境,所以需要自己按需配置

bash 复制代码
./configure --enable-depend --enable-cassert --enable-debug --prefix=/home/postgres/postgresql/build
make
sudo make install

-- 配置环境变量

在bashrc中加入以下内容

bash 复制代码
PATH=$PATH:/home/postgres/postgresql/build/bin
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/postgres/postgresql/build/bin/lib

执行以下命令生效

bash 复制代码
source .bashrc

-- 启动

bash 复制代码
/home/postgres/postgresql/build/bin/initdb -D /home/postgres/data 
/home/postgres/postgresql/build/bin/pg_ctl -D /home/postgres/data  start
/home/postgres/postgresql/build/bin/pg_ctl -D /home/postgres/data  stop
/home/postgres/postgresql/build/bin/psql -p 5432
相关推荐
摇滚侠3 分钟前
零基础小白自学 Git_Github 教程,GitLFS ,笔记21
笔记·git·github
lpfasd12333 分钟前
Git之外的新选择?PlasticSCM深度对比与平台支持全解析
git
Cx330❀34 分钟前
Git 入门指南:从 0 到 1 掌握版本控制
git·ubuntu·gitee·centos·github
爱凤的小光1 小时前
Git自我学习笔记
笔记·git·学习
江米小枣tonylua1 小时前
从神州22极限救援,看懂Git高级玩法
git
Violet_YSWY11 小时前
git stash和backup一样吗
git
Crystal32816 小时前
Git 基础:生成版本、撤消操作、版本重置、忽略文件
前端·git·github
系夏普18 小时前
Git 版本库(Ubuntu 环境)
git
IT从业者张某某19 小时前
DAY3-Open Harmony PC 命令行适配指南(Windows版)-git Permission denied (publickey) 问题
git·open harmony
摇滚侠19 小时前
零基础小白自学 Git_Github 教程,git 命令行操作1,笔记18
笔记·git·github