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
相关推荐
jiayong232 小时前
Git 核心概念:Tag 与 Branch 的本质区别
git
Serene_Dream5 小时前
git 合并冲突的分支
git
我是一只puppy5 小时前
使用AI进行代码审查
javascript·人工智能·git·安全·源代码管理
玄同7656 小时前
Git常用命令指南
大数据·git·elasticsearch·gitee·github·团队开发·远程工作
十步杀一人_千里不留行9 小时前
Git提交前ESLint校验实践(Husky + lint-staged)
git·github
hh随便起个名12 小时前
适合小白的git的基础使用方法
git
我会一直在的12 小时前
Devps持续集成
git·ci/cd
CoderJia程序员甲13 小时前
GitHub 热榜项目 - 日榜(2026-02-08)
git·ai·开源·llm·github
Serene_Dream15 小时前
git 常用命令
git
jiayong2315 小时前
Detached HEAD 状态详解
git